summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2005-02-23 00:00:00 +0100
committerHans Hagen <pragma@wxs.nl>2005-02-23 00:00:00 +0100
commitbd7c577c73799fe65a2e536529f088935354b045 (patch)
treeddec9ae1424b4840923b5a3e9adc43b88ad9be0f
parentaaa7edbe0c0f7f2b864d4b97cd2db088d96cbae5 (diff)
downloadcontext-bd7c577c73799fe65a2e536529f088935354b045.tar.gz
stable 2005.02.23
-rw-r--r--scripts/context/perl/texexec.pl14
-rw-r--r--scripts/context/perl/texutil.pl19
-rw-r--r--scripts/context/ruby/xmpl/switch.rb10
-rw-r--r--tex/context/base/colo-ini.tex4
-rw-r--r--tex/context/base/cont-new.tex58
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/core-buf.tex113
-rw-r--r--tex/context/base/core-fig.tex12
-rw-r--r--tex/context/base/core-fil.tex20
-rw-r--r--tex/context/base/core-fnt.tex6
-rw-r--r--tex/context/base/core-job.tex76
-rw-r--r--tex/context/base/core-mis.tex36
-rw-r--r--tex/context/base/core-ntb.tex6
-rw-r--r--tex/context/base/core-sec.tex19
-rw-r--r--tex/context/base/core-spa.tex484
-rw-r--r--tex/context/base/enco-agr.tex355
-rw-r--r--tex/context/base/enco-def.tex7
-rw-r--r--tex/context/base/enco-grk.tex8
-rw-r--r--tex/context/base/enco-uc.tex1116
-rw-r--r--tex/context/base/font-arb.tex41
-rw-r--r--tex/context/base/lang-grk.tex10
-rw-r--r--tex/context/base/mult-con.tex20
-rw-r--r--tex/context/base/page-flt.tex42
-rw-r--r--tex/context/base/page-ini.tex6
-rw-r--r--tex/context/base/page-lay.tex36
-rw-r--r--tex/context/base/page-lyr.tex26
-rw-r--r--tex/context/base/page-mar.tex19
-rw-r--r--tex/context/base/page-mul.tex4
-rw-r--r--tex/context/base/page-run.tex4
-rw-r--r--tex/context/base/page-set.tex4
-rw-r--r--tex/context/base/regi-grk.tex4
-rw-r--r--tex/context/base/supp-fun.tex117
-rw-r--r--tex/context/base/syst-new.tex2
-rw-r--r--tex/context/base/type-enc.tex6
-rw-r--r--tex/context/base/type-map.tex2
-rw-r--r--tex/context/base/unic-003.tex89
-rw-r--r--tex/context/base/unic-031.tex284
-rw-r--r--tex/context/base/unic-exp.tex18
-rw-r--r--tex/context/base/unic-ini.tex4
-rw-r--r--tex/context/interface/keys-cz.xml9
-rw-r--r--tex/context/interface/keys-de.xml9
-rw-r--r--tex/context/interface/keys-en.xml9
-rw-r--r--tex/context/interface/keys-it.xml9
-rw-r--r--tex/context/interface/keys-nl.xml9
-rw-r--r--tex/context/interface/keys-ro.xml9
-rw-r--r--web2c/context.cnf1
46 files changed, 2125 insertions, 1033 deletions
diff --git a/scripts/context/perl/texexec.pl b/scripts/context/perl/texexec.pl
index 0cd31ff4b..e66e85e1d 100644
--- a/scripts/context/perl/texexec.pl
+++ b/scripts/context/perl/texexec.pl
@@ -193,6 +193,7 @@ my $Foxet = 0 ;
my $TheEnginePath = 0 ;
my $Paranoid = 0 ;
my $NotParanoid = 0 ;
+my $BoxType = '' ;
my $StartLine = 0 ;
my $StartColumn = 0 ;
@@ -301,6 +302,7 @@ my $MakeMpy = '';
"engine" => \$TheEnginePath,
"paranoid" => \$Paranoid,
"notparanoid" => \$NotParanoid,
+ "boxtype=s" => \$BoxType, # media art crop bleed trim
#### experiment
"startline=s" => \$StartLine,
"startcolumn=s" => \$StartColumn,
@@ -407,7 +409,7 @@ if ( ( $LogFile ne '' ) && ( $LogFile =~ /\w+\.log$/io ) ) {
*STDERR = *LOGFILE;
}
-my $Program = " TeXExec 5.2.4 - ConTeXt / PRAGMA ADE 1997-2005";
+my $Program = " TeXExec 5.2.5 - ConTeXt / PRAGMA ADE 1997-2005";
print "\n$Program\n\n";
@@ -1979,7 +1981,7 @@ sub DoRunModule {
}
sub RunFigures {
- my @Files = @_;
+ my @Files = @_ ;
$TypesetFigures = lc $TypesetFigures;
return unless ( $TypesetFigures =~ /[abcd]/o );
unlink "$FiguresFile.pdf";
@@ -1990,15 +1992,19 @@ sub RunFigures {
print FIG " [topspace=1.5cm,backspace=1.5cm,\n";
print FIG " header=1.5cm,footer=0pt,\n";
print FIG " width=middle,height=middle]\n";
-
if ($ForceFullScreen) {
print FIG "\\setupinteraction\n";
print FIG " [state=start]\n";
print FIG "\\setupinteractionscreen\n";
print FIG " [option=max]\n";
}
+ if ($BoxType ne '') {
+ if ($BoxType !~ /box$/io) {
+ $BoxType .= "box" ;
+ }
+ }
print FIG "\\starttext\n";
- print FIG "\\showexternalfigures[alternative=$TypesetFigures,offset=$PaperOffset]\n";
+ print FIG "\\showexternalfigures[alternative=$TypesetFigures,offset=$PaperOffset,size=$BoxType]\n";
print FIG "\\stoptext\n";
close(FIG);
$ConTeXtInterface = "en";
diff --git a/scripts/context/perl/texutil.pl b/scripts/context/perl/texutil.pl
index 240c52a0d..c53cf5053 100644
--- a/scripts/context/perl/texutil.pl
+++ b/scripts/context/perl/texutil.pl
@@ -2201,18 +2201,23 @@ sub HandlePdfFigure
elsif ($SomeLine =~ /\/Type\s*\/Page/io)
{ ++$PageFound ;
if ($PageFound>1) { last } }
- if ((($PageFound)||($PagesFound)) && ($SomeLine =~ /\/MediaBox /io))
- { $MediaBox = $SomeLine ;
- $MediaBoxFound = 1 ;
- if ($PagesFound) { last } } }
+ if (($PageFound)||($PagesFound))
+ { if (($MediaBoxFound < 2) && ($SomeLine =~ /\/ArtBox\s*\[/io))
+ { $MediaBoxFound = 3 ;
+ $MediaBox = $SomeLine }
+ elsif (($MediaBoxFound < 2) && ($SomeLine =~ /\/CropBox\s*\[ /io))
+ { $MediaBoxFound = 2 ;
+ $MediaBox = $SomeLine }
+ elsif (($MediaBoxFound == 0) && ($SomeLine =~ /\/MediaBox\s*\[ /io))
+ { $MediaBoxFound = 1 ;
+ $MediaBox = $SomeLine } } }
close ( PDF ) ;
if ($PageFound>1)
{ Report ( "MultiPagePdfFile", "$SuppliedFileName" ) }
-# elsif (($MediaBoxFound) && ($MediaBox))
if (($MediaBoxFound) && ($MediaBox))
{ my $D = "[0-9\-\.]" ;
- $MediaBox =~ /\/MediaBox\s*\[\s*($D+)\s*($D+)\s*($D+)\s*($D+)/o ;
- $LLX = $1 ; $LLY = $2 ; $URX = $3 ; $URY = $4 ;
+ $MediaBox =~ /\/(Media|Crop|Art)Box\s*\[\s*($D+)\s*($D+)\s*($D+)\s*($D+)/o ;
+ $LLX = $2 ; $LLY = $3 ; $URX = $4 ; $URY = $5 ;
$PdfHeight = ($URY-$LLY)*$DPtoCM ;
$PdfWidth = ($URX-$LLX)*$DPtoCM ;
$PdfXOffset = $LLX*$DPtoCM ;
diff --git a/scripts/context/ruby/xmpl/switch.rb b/scripts/context/ruby/xmpl/switch.rb
index 36cc8c346..de747bbd5 100644
--- a/scripts/context/ruby/xmpl/switch.rb
+++ b/scripts/context/ruby/xmpl/switch.rb
@@ -103,13 +103,19 @@ module CommandBase
suffix = '.' + suffix
pattern += suffix unless pattern =~ /#{suffix}$/
end
+ # not {} safe
pattern = '**/' + pattern if @commandline.option('recurse')
files = Dir[pattern]
if files && files.length>0 then
return files
else
- report("no files match pattern #{pattern}")
- return nil
+ pattern = @commandline.argument('first')
+ if FileTest.file?(pattern) then
+ return [pattern]
+ else
+ report("no files match pattern #{pattern}")
+ return nil
+ end
end
end
diff --git a/tex/context/base/colo-ini.tex b/tex/context/base/colo-ini.tex
index fc7e27269..de0806a39 100644
--- a/tex/context/base/colo-ini.tex
+++ b/tex/context/base/colo-ini.tex
@@ -2251,7 +2251,7 @@
\let\currentpalet\empty
-\def\setuppalet%
+\def\setuppalet
{\dosingleempty\dosetuppalet}
\def\dosetuppalet[#1]%
@@ -2264,7 +2264,7 @@
\showmessage\m!colors7\currentpalet
\let\currentpalet\empty
\else
- \def\currentpalet{#1:}%
+ \edef\currentpalet{#1:}%
\fi
\fi}
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index b7fe39335..a020fa9e4 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -24,6 +24,61 @@
\ifx\normalcompound\undefined \let\normalcompound=| \fi
+\def\OTRSETnobalance
+ {\iflastcolumnfootnotes % testen ! optie
+ % inhibit flush of floats !
+ % todo: nothing if no footnotes, else empty page
+ \dostepwiserecurse\mofcolumns\nofcolumns\plusone
+ {\vskip-\struttotal\verticalstrut\vfill\eject}%
+ \else
+\ifnum\mofcolumns>\plusone
+ \donetrue
+\else\ifdim\pagetotal>\zeropoint % too dangerous, we loose data
+ \donetrue
+\else
+ \donefalse
+\fi\fi
+ \ifdone
+ \ifnum\mofcolumns=\nofcolumns
+ \OTRSETflushfinalfootnotes
+ \else
+ % probably todo
+ \fi
+ \vfill
+ \eject
+ % brr, may result in empty page after nicely fit text
+ % or if left, then lost of first column only text
+ \ifnum\mofcolumns>\plusone
+ \OTRSETdofinalflush
+ \OTRSETdofinaloutput
+ \fi
+ \fi
+ \fi}
+
+% move from page-mar -> cors-spa
+
+\beginETEX
+
+ \def\keeplinestogether#1%
+ {\xdef\restoreinterlinepenalty{\global\resetpenalties\interlinepenalties}%
+ \global\setpenalties\interlinepenalties{#1}\!!tenthousand}
+
+\endETEX
+
+\beginTEX
+
+ \def\keeplinestogether#1%
+ {\xdef\restoreinterlinepenalty
+ {\global\let\restoreinterlinepenalty\relax
+ \global\interlinepenalty=\the\interlinepenalty}% keep = here
+ \global\interlinepenalty\!!tenthousand}
+
+\endTEX
+
+\def\setmargincontentpenalties
+ {\getnoflines\margincontentheight
+ \keeplinestogether\noflines}
+
\def\undepthed
{\dowithnextbox{\nextboxdp\zeropoint\flushnextbox}\hbox}
@@ -262,7 +317,8 @@
%D
%D \getbuffer[c]
-\def\rescan#1{\scantokens{#1\ignorespaces}}
+\long\def\rescan#1{\scantokens{#1\ignorespaces}}
+\long\def\rescanwithsetup#1#2{\bgroup\directsetup{#1}\scantokens{#2\ignorespaces}\egroup}
% 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
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index 0e6bbb714..bce747676 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -31,7 +31,7 @@
%D 2004.8.30 the low level interface is english. Watch out and adapt
%D your styles an modules.
-\def\contextversion{2005.02.15}
+\def\contextversion{2005.02.23}
%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-buf.tex b/tex/context/base/core-buf.tex
index dcd4030e6..0aab656f9 100644
--- a/tex/context/base/core-buf.tex
+++ b/tex/context/base/core-buf.tex
@@ -695,7 +695,7 @@
\obeylines
\@EA\@EA\@EA\convertargument\@EA\string\csname\e!end#1\endcsname\to\endofblockA
%testen: \expanded{\convertargument\string\csname\e!end#1\endcsname\to\endofblockA}%
- \@EA\convertargument\string\eindvanblok[#1]\to\endofblockB % MULTI LINGUAL MAKEN
+ \@EA\convertargument\string\endblock[#1]\to\endofblockB % MULTI LINGUAL MAKEN
\def\openblock
{\dobeforeblock{#1}{#2}%
\opentmpblock
@@ -727,7 +727,7 @@
\setblocklevel-}%
\def\dodefineblock[#1]%
- {\passeerblok[#1]%
+ {\bypassblock[#1]%
\keepblocks[#1]%
\setupblock
[#1]
@@ -746,29 +746,28 @@
\def\setupblock
{\dodoubleargumentwithset\dosetupblock}
-\def\passeerblok[#1]%
- {\setvalue{\s!thisisblock#1}##1[##2]%
- {\skipblock{#1}}}
+\def\bypassblock[#1]%
+ {\setvalue{\s!thisisblock#1}##1[##2]{\skipblock{#1}}}
-\def\doverbergblok[#1][#2][#3]%
+\def\dohideblock[#1][#2][#3]%
{\doifassignmentelse{#3}
- {\dodoverbergblok[#1][#2][][#3]}
- {\dodoverbergblok[#1][#2][#3][]}}
+ {\dodohideblock[#1][#2][][#3]}
+ {\dodohideblock[#1][#2][#3][]}}
-\def\dodoverbergblok[#1][#2][#3][#4]%
+\def\dodohideblock[#1][#2][#3][#4]%
{\doifelsenothing{#2}
{\global\blockpermittedfalse
- \edef\bloktitel{#1}}
+ \edef\blocktitle{#1}}
{\doifelsenothing{#3}
{\global\blockpermittedtrue
- \edef\bloktitel{#1}}
+ \edef\blocktitle{#1}}
{\doifcommonelse{#2}{#3}
{\global\blockpermittedfalse
- \edef\bloktitel{#1:#2}}
+ \edef\blocktitle{#1:#2}}
{\global\blockpermittedtrue
- \edef\bloktitel{#1:#3}}}}%
+ \edef\blocktitle{#1:#3}}}}%
\ifblockpermitted
- \showwarning\m!textblocks5\bloktitel
+ \showwarning\m!textblocks5\blocktitle
\def\next
{\def\dobeforeblock####1####2%
{\begingroup}%
@@ -778,7 +777,7 @@
\saveblock{#1}{#3#4}}%
\else
\doifinsetelse{+}{#3}
- {\showwarning\m!textblocks6\bloktitel
+ {\showwarning\m!textblocks6\blocktitle
\def\next
{\def\dobeforeblock####1####2%
{\begingroup
@@ -790,7 +789,7 @@
\par}}%
\endgroup}%
\saveblock{#1}{#3#4}}}%
- {\showwarning\m!textblocks7\bloktitel
+ {\showwarning\m!textblocks7\blocktitle
\def\next
{\def\dobeforeblock####1####2%
{\begingroup
@@ -804,7 +803,7 @@
\def\dohideblocks[#1][#2]%
{\def\docommando##1%
{\setvalue{\e!begin##1}%
- {\bgroup\obeylines\dotripleempty\doverbergblok[##1][#2]}}%
+ {\bgroup\obeylines\dotripleempty\dohideblock[##1][#2]}}%
\processcommalist[#1]\docommando}
\def\hideblocks
@@ -819,50 +818,52 @@
\visibletrue
\catcode`\^^M=\@@endofline\relax
\getvalue{\??tb#1\c!inner}%
+ \ignorespaces
\loadoneblock
- \par
+ % \par moved
\dostopattributes
\getvalue{\??tb#1\c!after}%
+ \par
\egroup}
-\def\dohandhaafblok[#1][#2][#3]%
+\def\dokeepblock[#1][#2][#3]%
{\doifassignmentelse{#3}
- {\dodohandhaafblok[#1][#2][][#3]}
- {\dodohandhaafblok[#1][#2][#3][]}}
+ {\dodokeepblock[#1][#2][][#3]}
+ {\dodokeepblock[#1][#2][#3][]}}
-\def\dodohandhaafblok[#1][#2][#3][#4]%
+\def\dodokeepblock[#1][#2][#3][#4]%
{\doifelsenothing{#2}
{\global\blockpermittedtrue
- \edef\bloktitel{#1}}
+ \edef\blocktitle{#1}}
{\doifcommonelse{#2}{#3}
{\global\blockpermittedtrue
- \edef\bloktitel{#1:#2}}
+ \edef\blocktitle{#1:#2}}
{\doifinsetelse\v!all{#2}
{\doifelsenothing{#3}
{\global\blockpermittedtrue
- \edef\bloktitel{#1}}
+ \edef\blocktitle{#1}}
{\global\blockpermittedfalse
- \edef\bloktitel{#1:#3}}}
+ \edef\blocktitle{#1:#3}}}
{\global\blockpermittedfalse
\doifelsenothing{#3}
- {\edef\bloktitel{#1}}
- {\edef\bloktitel{#1:#3}}}}}%
+ {\edef\blocktitle{#1}}
+ {\edef\blocktitle{#1:#3}}}}}%
\ifblockpermitted
- \showwarning\m!textblocks8\bloktitel
+ \showwarning\m!textblocks8\blocktitle
\def\dobeforeblock##1##2%
{\begingroup}%
\def\doafterblock##1##2%
{\endgroup
\doexecuteloadedblock{#1}{#4}}%
\else
- \showwarning\m!textblocks9\bloktitel
+ \showwarning\m!textblocks9\blocktitle
\fi
\saveblock{#1}{#3#4}}
\def\dokeepblocks[#1][#2]%
{\def\docommando##1%
{\setvalue{\e!begin##1}%
- {\bgroup\obeylines\dotripleempty\dohandhaafblok[##1][#2]}}%
+ {\bgroup\obeylines\dotripleempty\dokeepblock[##1][#2]}}%
\processcommalist[#1]\docommando}
\def\keepblocks
@@ -872,7 +873,7 @@
\newconditional\dummyblockstatus
\newconditional\blockassignmentstatus
-\def\dodogebruikblok#1#2#3#4%
+\def\dodouseblock#1#2#3#4%
{\getblockstatus{#2}%
\ifblockpermitted
\setfalse\dummyblockstatus
@@ -880,9 +881,9 @@
{\settrue \blockassignmentstatus}
{\setfalse\blockassignmentstatus}%
\doifelsenothing{#4}
- {\edef\bloktitel{#1}}
+ {\edef\blocktitle{#1}}
{\ifconditional\blockassignmentstatus
- \edef\bloktitel{#1}%
+ \edef\blocktitle{#1}%
\else
\doifnotcommon{#3}{#4}
{\ifconditional\processblockstatus
@@ -890,10 +891,10 @@
\else
\global\blockpermittedfalse
\fi}%
- \edef\bloktitel{#1:#3}%
+ \edef\blocktitle{#1:#3}%
\fi}%
\else
- \edef\bloktitel{#1}%
+ \edef\blocktitle{#1}%
\fi
\ifblockpermitted
\setblocklevel+%
@@ -901,9 +902,10 @@
\doifinset{-}{#3}{\settrue\dummyblockstatus}%
\fi
\ifconditional\dummyblockstatus
- \showwarning\m!textblocks{10}\bloktitel
+ \showwarning\m!textblocks{10}\blocktitle
\setvalue{\s!thiswasblock#1}%
- {\par
+ {\removeunwantedspaces
+ \par
\egroup
\setblocklevel-}%
\def\next
@@ -912,11 +914,13 @@
\dosetupblockparameters[#1][#3]%
\fi}%
\else
- \showwarning\m!textblocks{11}\bloktitel
+ \showwarning\m!textblocks{11}\blocktitle
\setvalue{\s!thiswasblock#1}%
- {\par
+ {\removeunwantedspaces
+ % \par moved
\dostopattributes
\getvalue{\??tb#1\c!after}%
+ \par
\egroup
\setblocklevel-}%
\def\next
@@ -927,22 +931,22 @@
\getvalue{\??tb#1\c!before}%
\dostartattributes{\??tb#1}\c!style\c!color\empty
\visibletrue
- \getvalue{\??tb#1\c!inner}}%
+ \getvalue{\??tb#1\c!inner}%
+ \ignorespaces}%
\fi
\else
\def\next
- {\showwarning\m!textblocks{12}\bloktitel
+ {\showwarning\m!textblocks{12}\blocktitle
\skipblock{#1}}%
\fi
\next}
-\def\dogebruikblok[#1][#2]%
- {\setvalue{\s!thisisblock#1}##1[##2]%
- {\dodogebruikblok{#1}{##1}{##2}{#2}}}
+\def\douseblock[#1][#2]%
+ {\setvalue{\s!thisisblock#1}##1[##2]{\dodouseblock{#1}{##1}{##2}{#2}}}
\def\dodouseblocks[#1][#2]%
{\def\docommando##1%
- {\dogebruikblok[##1][#2]}%
+ {\douseblock[##1][#2]}%
\processcommalist[#1]\docommando
\dogetcommalistelement1\from#1\to\commalistelement
\doifdefined{\??tb\commalistelement\c!file}
@@ -972,21 +976,21 @@
\doassign[\??bs][\c!criterium=\v!all]%
\dotripleempty\doselectblocks}
-\def\beginvanblok[#1]% % er wordt ook gechecked op \eindvanblok[..]
+\def\beginblock[#1]% % we also check \endblock[..]
{\getvalue{\e!begin#1}}
-\def\forceerblokken[#1]%
+\def\forceblocks[#1]%
{\def\docommando##1%
{\setvalue{\e!begin##1}%
{\setblocklevel+\bgroup
- \dodoubleempty\doforceerblok[##1]}%
+ \dodoubleempty\doforceblock[##1]}%
\setvalue{\e!end##1}%
{\dostopattributes
\getvalue{\??tb##1\c!after}%
\egroup\setblocklevel-}}%
\processcommalist[#1]\docommando}
-\def\doforceerblok[#1][#2]%
+\def\doforceblock[#1][#2]%
{\doifassignmentelse{#2}
{\settrue \blockassignmentstatus}
{\setfalse\blockassignmentstatus}%
@@ -995,25 +999,26 @@
\fi
\getvalue{\??tb#1\c!before}%
\dostartattributes{\??tb#1}\c!style\c!color\empty
- \getvalue{\??tb#1\c!inner}}
+ \getvalue{\??tb#1\c!inner}%
+ \ignorespaces}
\def\bypassblocks[#1]%
{\def\docommando##1%
{\setvalue{\e!begin##1}%
{\setblocklevel+\bgroup
\obeylines % here, since we look ahead
- \dodoubleempty\dopasseerblok[##1]}%}%
+ \dodoubleempty\dobypassblock[##1]}%}%
\setvalue{\e!end##1}%
{}}%
\processcommalist[#1]\docommando}
-\def\dopasseerblok[#1][#2]%
+\def\dobypassblock[#1][#2]%
{\def\closeblock
{\egroup\setblocklevel-}%
\checkcopyingblocks
\obeylines
\@EA\@EA\@EA\convertargument\@EA\string\csname\e!end#1\endcsname\to\endofblockA
- \@EA\convertargument\string\eindvanblok[#1]\to\endofblockB % MULTI LINGUAL MAKEN
+ \@EA\convertargument\string\endblock[#1]\to\endofblockB % MULTI LINGUAL MAKEN
\setupcopyblock
\skipblocklineAB}
diff --git a/tex/context/base/core-fig.tex b/tex/context/base/core-fig.tex
index 3e120fb40..60db851bd 100644
--- a/tex/context/base/core-fig.tex
+++ b/tex/context/base/core-fig.tex
@@ -1602,7 +1602,7 @@
{\getvalue{\e!start\v!figure\e!text}[\v!left,\v!none][]
{}
{\hbox
- {\externalfigure[##1][\c!frame=\v!on,\c!width=6cm][##2]%
+ {\externalfigure[##1][\c!frame=\v!on,\c!width=6cm,\c!size=\@@exsize][##2]%
\tfskip
\framed[\c!width=\figurewidth,\c!height=\figureheight]{}}}%
{\tt\tfa\expanded{\asciistr{##1}}}%
@@ -1623,7 +1623,7 @@
\popendofline
\egroup}
-\def\showexternalfigureb% instelbaar maken
+\def\showexternalfigureb % instelbaar maken
{\bgroup
\def\total{5}%
\globalletempty\allfigures
@@ -1643,7 +1643,7 @@
\advance\hsize -1em
\externalfigure
[##1]
- [\c!frame=\v!on,\c!factor=\v!max,\c!width=\hsize][##2]}%
+ [\c!frame=\v!on,\c!factor=\v!max,\c!width=\hsize,\c!size=\@@exsize][##2]}%
\doglobal\addtocommalist{##1}\allfigures
%\getvalue{\s!figurepreset}%
\doglobal\increment\figurecounter
@@ -1664,7 +1664,7 @@
\def\showexternalfigurec
{\bgroup
- \def\presetfigure[##1][##2]{\pagefigure[##1]}
+ \def\presetfigure[##1][##2]{\expanded{\pagefigure[##1][\c!size=\@@exsize]}}% else loop
\pushendofline
\readjobfile\@@exfile\donothing\donothing
\popendofline
@@ -1707,8 +1707,8 @@
\def\doshowexternalfigures[#1]%
{\bgroup
\setupcolors[\c!state=\v!start]% to prevent mps color conversion
- \getparameters[\??ex][\c!alternative=a,\c!offset=\!!zeropoint,#1]%
- \getvalue{showexternalfigure\@@exalternative}%
+ \getparameters[\??ex][\c!alternative=a,\c!offset=\!!zeropoint,\c!size=,#1]%
+ \getvalue{\strippedcsname\showexternalfigure\@@exalternative}%
\egroup}
\def\showexternalfigures
diff --git a/tex/context/base/core-fil.tex b/tex/context/base/core-fil.tex
index 07adb3c3a..f0fadc5a2 100644
--- a/tex/context/base/core-fil.tex
+++ b/tex/context/base/core-fil.tex
@@ -120,15 +120,23 @@
%D
%D To prevent cross platform problems with filenames, we
%D lowercase them as well as only use the first 8~characters.
+%D
+%D \starttyping
+%D \def\domakeshortfilename[#1#2#3#4#5#6#7#8#9]%
+%D {\lowercase{\edef\shortfilename{#1#2#3#4#5#6#7#8.}}%
+%D \expandafter\beforesplitstring\shortfilename\at.\to\shortfilename}
+%D
+%D \def\makeshortfilename[#1]%
+%D {\edef\fullfilename{#1.........}%
+%D \expanded{\domakeshortfilename[\fullfilename]}}
+%D \stoptyping
+%D
+%D In 2005 there is no need for the 8~character limit any more, so:
-\def\domakeshortfilename[#1#2#3#4#5#6#7#8#9]%
- {\lowercase{\edef\shortfilename{#1#2#3#4#5#6#7#8.}}%
+\def\makeshortfilename[#1]% no need for further cleanup and shortening
+ {\lowercase{\edef\shortfilename{#1.}}%
\expandafter\beforesplitstring\shortfilename\at.\to\shortfilename}
-\def\makeshortfilename[#1]%
- {\edef\fullfilename{#1.........}%
- \expanded{\domakeshortfilename[\fullfilename]}}
-
%D \macros
%D {usemodule}
%D
diff --git a/tex/context/base/core-fnt.tex b/tex/context/base/core-fnt.tex
index 85fc02952..befb41369 100644
--- a/tex/context/base/core-fnt.tex
+++ b/tex/context/base/core-fnt.tex
@@ -701,11 +701,15 @@
[\c!state=\v!stop,
\c!location=\v!text,
\c!n=3,
+ \c!distance=.125em,
+ \c!command=,
\s!font=initial]
+\def\AutoDroppedCapsCommand{\NiceDroppedCaps\@@dccommand\@@dcfont\@@dcdistance\@@dcn}%
+
\def\placeinitial
{\doifelse\@@dclocation\v!margin{\chardef\DropMode\plusone}{\chardef\DropMode\zerocount}%
- \doif \@@dcstate\v!start{\ifnum\@@dcn>0 \AutoDroppedCaps\fi}}
+ \doif \@@dcstate\v!start{\ifcase\@@dcn\else\AutoDroppedCaps\fi}}
\let\checkinitial\CheckDroppedCaps
diff --git a/tex/context/base/core-job.tex b/tex/context/base/core-job.tex
index c1af7f62a..0b75d6c3d 100644
--- a/tex/context/base/core-job.tex
+++ b/tex/context/base/core-job.tex
@@ -300,48 +300,102 @@
\newcounter\filelevel
-\def\donextlevel#1#2#3#4#5#6\\%
- {\beforesplitstring#6\at.\to#1
+% \def\donextlevel#1#2#3#4#5#6\\%
+% {\beforesplitstring#6\at.\to#1
+% \ifcase\filelevel\relax
+% \starttext
+% \def\project ##1 {#2{##1}}%
+% \def\environment ##1 {#3{##1}}%
+% \def\product ##1 {#4{##1}}%
+% \def\component ##1 {#5{##1}}%
+% \fi
+% \increment\filelevel\relax
+% \fullexpandoneargafter\addtocommalist{#1}\loadedfiles}
+%
+% \def\doprevlevel
+% {\ifnum\filelevel=\plusone
+% \expandafter\stoptext
+% \else
+% \decrement\filelevel\relax
+% \expandafter\endinput
+% \fi}
+
+\let\currentcomponent\v!text
+
+\def\donextlevel#1#2#3#4#5#6#7\\%
+ {\pushmacro\currentcomponent
+ \let\currentcomponent#1
+ \setsystemmode\currentcomponent
+ \beforesplitstring#7\at.\to#2\relax
\ifcase\filelevel\relax
\starttext
- \def\project ##1 {#2{##1}}%
- \def\environment ##1 {#3{##1}}%
- \def\product ##1 {#4{##1}}%
- \def\component ##1 {#5{##1}}%
+ \def\project ##1 {#3{##1}}%
+ \def\environment ##1 {#4{##1}}%
+ \def\product ##1 {#5{##1}}%
+ \def\component ##1 {#6{##1}}%
\fi
\increment\filelevel\relax
\fullexpandoneargafter\addtocommalist{#1}\loadedfiles}
\def\doprevlevel
- {\ifnum\filelevel=\plusone
+ {\popmacro\currentcomponent
+ \setsystemmode\currentcomponent
+ \ifnum\filelevel=\plusone
\expandafter\stoptext
\else
\decrement\filelevel\relax
\expandafter\endinput
\fi}
+% \def\startproject #1 %
+% {\donextlevel\currentproject
+% \donotexecutefile\doexecutefileonce
+% \doexecutefileonce\doexecutefile#1\\}
+%
+% \def\startproduct #1 %
+% {\doateverystarttext
+% \donextlevel\currentproduct
+% \doexecutefileonce\doexecutefileonce
+% \donotexecutefile\doexecutefile#1\\}
+%
+% \def\startcomponent #1 %
+% {\doateverystarttext
+% \donextlevel\currentcomponent
+% \doexecutefileonce\doexecutefileonce
+% \donotexecutefile\doexecutefile#1\\}
+%
+% \def\startenvironment #1 %
+% {\donextlevel\currentenvironment
+% \donotexecutefile\doexecutefileonce
+% \donotexecutefile\donotexecutefile#1\\}
+
\def\startproject #1 %
- {\donextlevel\currentproject
+ {\donextlevel\v!project\currentproject
\donotexecutefile\doexecutefileonce
\doexecutefileonce\doexecutefile#1\\}
\def\startproduct #1 %
{\doateverystarttext
- \donextlevel\currentproduct
+ \donextlevel\v!product\currentproduct
\doexecutefileonce\doexecutefileonce
\donotexecutefile\doexecutefile#1\\}
\def\startcomponent #1 %
{\doateverystarttext
- \donextlevel\currentcomponent
+ \donextlevel\v!component\currentcomponent
\doexecutefileonce\doexecutefileonce
\donotexecutefile\doexecutefile#1\\}
\def\startenvironment #1 %
- {\donextlevel\currentenvironment
+ {\donextlevel\v!environment\currentenvironment
\donotexecutefile\doexecutefileonce
\donotexecutefile\donotexecutefile#1\\}
+% \startproject test
+% 1: \startmode[*project] project \stopmode \endgraf
+% 2: \startmode[*product] product \stopmode \endgraf
+% \stopproject
+
\def\stopproject {\doprevlevel}
\def\stopproduct {\doprevlevel}
\def\stopcomponent {\doprevlevel}
diff --git a/tex/context/base/core-mis.tex b/tex/context/base/core-mis.tex
index db05004b0..1da4555d3 100644
--- a/tex/context/base/core-mis.tex
+++ b/tex/context/base/core-mis.tex
@@ -2210,19 +2210,27 @@
\def\dodorotatenextbox#1#2% quite some trial and error -)
{\dontshowcomposition
\dontcomplain
+ \ifnum#2=\plusfour
+ % new, location=middle
+ \!!widthb \nextboxwd
+ \!!heightb\nextboxht
+ \!!depthb \nextboxdp
+ \setbox\nextbox\vbox{\vskip.5\nextboxht\hskip-.5\nextboxwd\flushnextbox}%
+ \smashbox\nextbox
+ \fi
\!!widtha \nextboxwd
\!!heighta\nextboxht
\!!deptha \nextboxdp
\!!doneafalse
\!!donebfalse
\ifcase#2\or
- % fit
+ % 1: fit
\or
- % depth, not fit
+ % 2: depth, not fit
\!!doneatrue
\!!donebtrue
\or
- % depth, fit
+ % 3: depth, fit
\!!donebtrue
\fi
\setbox\nextbox\vbox{\hbox{\raise\nextboxdp\flushnextbox}}%
@@ -2311,6 +2319,13 @@
\wd\nextbox\if!!donea\negated\sin\!!heighta\else\@@layerxsiz\fi
\fi
\fi
+ \fi
+ % new, location=middle
+ \ifnum#2=\plusfour
+ \setbox\nextbox\vbox{\vskip-.5\!!heightb\hskip.5\!!heightb\flushnextbox}%
+ \nextboxwd\!!widthb
+ \nextboxht\!!heightb
+ \nextboxdp\!!depthb
\fi}
\def\dorotatenextbox#1#2%
@@ -2340,12 +2355,13 @@
{\getparameters[\??ro][#1]%
\processaction
[\@@rolocation]
- [ \v!depth=>\!!counta\plusthree\donefalse,% depth fit - raw box
- \v!fit=>\!!counta\plustwo \donefalse,% depth tight - raw box
- \v!broad=>\!!counta\plusone \donefalse,% nodepth fit - raw box
- \v!high=>\!!counta\plusone \donetrue,% nodepth fit - framed
- \s!default=>\!!counta\plusthree\donetrue,% depth fit - framed
- \s!unknown=>\!!counta\plusthree\donetrue]% depth fit - framed
+ [ \v!depth=>\!!counta\plusthree\donefalse,% depth fit - raw box
+ \v!fit=>\!!counta\plustwo \donefalse,% depth tight - raw box
+ \v!broad=>\!!counta\plusone \donefalse,% nodepth fit - raw box
+ \v!high=>\!!counta\plusone \donetrue ,% nodepth fit - framed
+ \v!middle=>\!!counta\plusfour \donefalse,% centered, keep dimensions
+ \s!default=>\!!counta\plusthree\donetrue ,% depth fit - framed
+ \s!unknown=>\!!counta\plusthree\donetrue ]% depth fit - framed
\ifdone
\def\docommand{\localframed[\??ro][#1,\c!location=]}%
\else
@@ -2548,7 +2564,7 @@
\definehspace[vulgarfraction][.25em] % [.15em]
\definesymbol[vulgarfraction][/] % [\raise.2ex\hbox{/}]
-\def\vulgarfraction#1#2%
+\unexpanded\def\vulgarfraction#1#2%
{\dontleavehmode
\hbox
{\def\vulgarfraction{vulgarfraction}%
diff --git a/tex/context/base/core-ntb.tex b/tex/context/base/core-ntb.tex
index 5015867d7..ce3244ed0 100644
--- a/tex/context/base/core-ntb.tex
+++ b/tex/context/base/core-ntb.tex
@@ -796,7 +796,9 @@
\executeifdefined{splittblbox\tbltblsplitmethod}\splittblboxa{#1}%
\fi}
-\newbox\TABLEsplitbox
+\newbox\TABLEsplitbox % public, don't change
+
+% todo: mode: first|next (of niets)
\def\splittblboxa#1% spacing between rows gets lost in split
{\setbox\TABLEsplitbox\vbox{#1}%
@@ -949,7 +951,7 @@
\advance\scratchdimen-\tbltblsplitoffset
\expanded{\testpage[2][\the\scratchdimen]}% quite save since a row is > 1 lineheight and we don't want one-liners
\setbox\TABLEsplitbox\vbox{#1}%
- \setbox8\vbox{\doifsomething\tbltblspaceinbetween{\blanko[\tbltblspaceinbetween]}}%
+ \setbox8\vbox{\doifsomething\tbltblspaceinbetween{\blank[\tbltblspaceinbetween]}}%
\dimen8\ht8\advance\dimen8\dp8
\ifmultipleTBLheads
\setbox2\vbox{}%
diff --git a/tex/context/base/core-sec.tex b/tex/context/base/core-sec.tex
index 25b3b93b9..310aefd66 100644
--- a/tex/context/base/core-sec.tex
+++ b/tex/context/base/core-sec.tex
@@ -880,11 +880,11 @@
% \def\dostartsectionblock#1#2%
% {\begingroup
-% \doaroundsectionblock{#1}% % going to a new page or so
-% \getvalue{\??sb#1}% % set name of section block
-% \getsectionblockenvironment{#1}% % special settings, grouped
-% %\expandafter\csname#2true\endcsname % obsolete
-% \setsystemmode{#1}% % can be used in conditionals
+% \doaroundsectionblock{#1}% % going to a new page or so
+% \getvalue{\??sb#1}% % set name of section block
+% \getsectionblockenvironment{#1}% % special settings, grouped
+% %\expandafter\csname#2true\endcsname % obsolete
+% \setsystemmode{#1}% % can be used in conditionals
% \getvalue{\??sb\@@sectionblock\c!before}% this one is not to be moved!
% \showmessage\m!structures1\@@sectionblocks}
@@ -921,7 +921,6 @@
% \resetsectionmarks\zerosection
\endgroup}
-
\def\dosetupsectionblock[#1]% [#2]
{\getparameters[\??sb#1]}
@@ -2144,10 +2143,10 @@
\c!margin=\zeropoint,
\c!command=]
-\definesectionblock [\v!bodypart] [\v!bodymatter] [\c!number=\v!yes]
-\definesectionblock [\v!appendix] [\v!appendices] [\c!number=\v!yes]
-\definesectionblock [\v!frontpart] [\v!frontmatter] [\c!number=\v!no]
-\definesectionblock [\v!backpart] [\v!backmatter] [\c!number=\v!no]
+\definesectionblock [\v!frontpart] [\v!frontmatter] [\c!number=\v!no]
+\definesectionblock [\v!bodypart] [\v!bodymatter] [\c!number=\v!yes]
+\definesectionblock [\v!appendix] [\v!appendices] [\c!number=\v!yes]
+\definesectionblock [\v!backpart] [\v!backmatter] [\c!number=\v!no]
\definesection[\v!sectionlevel-1] % part
\definesection[\v!sectionlevel-2] % chapter
diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex
index 0334320b8..9193a96f6 100644
--- a/tex/context/base/core-spa.tex
+++ b/tex/context/base/core-spa.tex
@@ -204,50 +204,43 @@
% can be conditionals
-\newif\ifblankoreset \blankoresetfalse
-\newif\ifblankoblokkeer \blankoblokkeerfalse
-\newif\ifblankogeenwit \blankogeenwitfalse
-\newif\ifdoeblanko \doeblankofalse
-\newif\ifblankoflexibel \blankoflexibeltrue
-\newif\ifblankobuiten
-\newif\ifblankoforceer
-\newif\ifblankogoback
-
-\newskip\blankoskip \blankoskip=\bigskipamount
-\newskip\blankoskipamount
+\newif\ifblanknowhite \blanknowhitefalse
+\newif\ifblankindeed \blankindeedfalse
+\newif\ifblankreset \blankresetfalse
+\newif\ifblankdisable \blankdisablefalse
+\newif\ifblankflexible \blankflexibletrue
+\newif\ifblankouter
+\newif\ifblankforce
+\newif\ifblankgoback
+
+\newskip\blankskip \blankskip=\bigskipamount
+\newskip\blankskipamount
\def\skipfactor {.75}
\def\skipgluefactor{.25}
\def\normalskipamount
{\openlineheight
- \ifgridsnapping \else \ifblankoflexibel
+ \ifgridsnapping \else \ifblankflexible
\!!plus \skipgluefactor\openlineheight
\!!minus\skipgluefactor\openlineheight
\fi \fi
\relax}
-\def\regelafstand{\normalskipamount}
+\def\linedistance {\normalskipamount}
+\def\appliedblankskip{\skipfactor\linedistance}
+\def\lastblankskip {\blankskip}
+\def\currentblank {\v!big}
+\def\oldprevdepth {\prevdepth}
+\def\newprevdepth {-1001pt}
+\def\mindimen {1sp} % was: 0.00002pt
-\def\deblankoskip{\skipfactor\regelafstand}
-
-\def\laatsteblankoskip
- {\blankoskip}
-
-\def\geenblanko
- {\removelastskip}
-
-\def\currentblanko
- {\v!big}
-
-\def\oldprevdepth {\prevdepth}
-\def\newprevdepth {-1001pt}
-\def\mindimen {1sp} % was: 0.00002pt
-
-\newif\iflokaalblankovast
-\newif\iflokaalblankoflexibel
+\newif\iflocalblankfixed
+\newif\iflocalblankflexible
\newif\iffuzzyvskip
+\def\geenblanko{\removelastskip} % will become obsolete
+
%%%% pas op, wordt ook in core-pos gebruikt
\def\doassignsomeskip#1\to#2% ook nog \v!halfline+fuzzysnap
@@ -266,111 +259,111 @@
% replaced
%
% \def\dosingleblanko#1%
-% {\doassignsomeskip#1\to\blankoskipamount
-% \global\advance\blankoskip \blankoskipamount}
+% {\doassignsomeskip#1\to\blankskipamount
+% \global\advance\blankskip \blankskipamount}
%
% \def\doblank#1%
% {\processallactionsinset % is maar een actie
% [#1]
% [ \v!groot=>\dosingleblanko\v!groot, % happens often
-% \v!buiten=>\ifvmode\ifinner\blankobuitentrue\fi\fi,
-% \v!reset=>\global\blankoresettrue,
-% \v!flexibel=>\global\lokaalblankoflexibeltrue,
-% \v!vast=>\global\lokaalblankovasttrue,
+% \v!buiten=>\ifvmode\ifinner\blankoutertrue\fi\fi,
+% \v!reset=>\global\blankresettrue,
+% \v!flexibel=>\global\localblankflexibletrue,
+% \v!vast=>\global\localblankfixedtrue,
% \v!back=>\geenblanko,
-% \v!wit=>\global\advance\blankoskip \parskip,
-% \v!formule=>\global\advance\blankoskip \medskipamount,
-% \v!geenwit=>\global\blankogeenwittrue,
-% -\v!wit=>\global\advance\blankoskip -\parskip,
-% \v!blokkeer=>\global\blankoblokkeertrue,
-% \v!forceer=>\global\blankoforceertrue,
-% \v!regel=>\global\advance\blankoskip \lineheight,
+% \v!wit=>\global\advance\blankskip \parskip,
+% \v!formule=>\global\advance\blankskip \medskipamount,
+% \v!geenwit=>\global\blanknowhitetrue,
+% -\v!wit=>\global\advance\blankskip -\parskip,
+% \v!blokkeer=>\global\blankdisabletrue,
+% \v!forceer=>\global\blankforcetrue,
+% \v!regel=>\global\advance\blankskip \lineheight,
% \v!halveregel=>\ifgridsnapping\global\fuzzyvskiptrue\fi
-% \global\advance\blankoskip .5\lineheight,
+% \global\advance\blankskip .5\lineheight,
% \s!unknown=>\doindirectblanko{#1}]}
%
% \def\docomplexdoblank[#1]% pas op \relax's zijn nodig ivm volgende \if
-% {\global\blankoresetfalse
-% \global\blankoblokkeerfalse
-% \global\blankogeenwitfalse
-% \global\lokaalblankoflexibelfalse
-% \global\lokaalblankovastfalse
-% \global\blankoskip\zeropoint
-% \global\blankoforceerfalse
-% \blankobuitenfalse
+% {\global\blankresetfalse
+% \global\blankdisablefalse
+% \global\blanknowhitefalse
+% \global\localblankflexiblefalse
+% \global\localblankfixedfalse
+% \global\blankskip\zeropoint
+% \global\blankforcefalse
+% \blankouterfalse
% \processcommalist[#1]\doblank
-% \ifdim\blankoskip=\zeropoint\relax
-% \iflokaalblankoflexibel \dosingleblanko\currentblanko \fi
-% \iflokaalblankovast \dosingleblanko\currentblanko \fi
+% \ifdim\blankskip=\zeropoint\relax
+% \iflocalblankflexible \dosingleblanko\currentblank \fi
+% \iflocalblankfixed \dosingleblanko\currentblank \fi
% \fi
-% \ifblankobuiten
+% \ifblankouter
% \else
% \par
% \ifvmode %in pos fonts gaat dit mis
-% \ifblankoforceer%\ifdim\prevdepth>\zeropoint\else
+% \ifblankforce %\ifdim\prevdepth>\zeropoint\else
% % -1000pt signals top of page or column (\ejectcolumn)
% \verticalstrut\kern-\struttotal
% \fi
-% \ifblankoblokkeer
-% \global\doeblankofalse
+% \ifblankdisable
+% \global\blankindeedfalse
% \edef\oldprevdepth{\the\prevdepth}%
% \prevdepth=\newprevdepth
% \else
-% \global\doeblankotrue
+% \global\blankindeedtrue
% \fi
-% \ifblankoreset
-% \global\doeblankotrue
+% \ifblankreset
+% \global\blankindeedtrue
% \ifdim\prevdepth=\newprevdepth
% \prevdepth=\oldprevdepth
% \fi
% \fi
-% \ifdoeblanko
-% \ifdim\lastskip<\blankoskip\relax
+% \ifblankindeed
+% \ifdim\lastskip<\blankskip\relax
% % else when \blanko[2*groot] + \blanko[3*groot] with parskip
% % equaling 1*groot, gives a groot=\parskip so adding a small
% % value makes it distinguishable; can also be done at parskip
% % setting time (better)
-% \global\advance\blankoskip by \mindimen\relax % = skip
+% \global\advance\blankskip by \mindimen\relax % = skip
% % test this on 2* + 3* and parskip groot
-% \ifblankogeenwit
-% \global\advance\blankoskip by -\parskip
+% \ifblanknowhite
+% \global\advance\blankskip by -\parskip
% \else
% \ifdim\lastskip=\parskip
% \else % force this due to previous comment
% \ifdim\parskip>\zeropoint\relax
-% \ifdim\blankoskip<\parskip\relax
-% \global\blankoskip\zeropoint
+% \ifdim\blankskip<\parskip\relax
+% \global\blankskip\zeropoint
% \else
-% \global\advance\blankoskip by -\parskip
+% \global\advance\blankskip by -\parskip
% \fi
% \fi
% \fi
% \fi
-% \ifblankoflexibel \else
-% \blankoskip=1\blankoskip
+% \ifblankflexible \else
+% \blankskip=1\blankskip
% \fi
-% \iflokaalblankovast
-% \blankoskip=1\blankoskip
+% \iflocalblankfixed
+% \blankskip=1\blankskip
% \fi
-% \iflokaalblankoflexibel
-% \blankoskip=1\blankoskip
-% \!!plus\skipgluefactor\blankoskip
-% \!!minus\skipgluefactor\blankoskip
+% \iflocalblankflexible
+% \blankskip=1\blankskip
+% \!!plus\skipgluefactor\blankskip
+% \!!minus\skipgluefactor\blankskip
% \fi
% \ifdim\prevdepth=\newprevdepth
% \else
% \iffuzzyvskip
% \removelastfuzzyvskip
-% \fuzzyvskip\blankoskip\relax
+% \fuzzyvskip\blankskip\relax
% \else
% \removelastskip
-% \vskip\blankoskip\relax
+% \vskip\blankskip\relax
% \fi
% \fi
% \else
% \iffuzzyvskip
% \removelastfuzzyvskip
-% \fuzzyvskip\blankoskip\relax
+% \fuzzyvskip\blankskip\relax
% \fi
% \fi
% \fi
@@ -442,7 +435,7 @@
% this will be replaced/enhanced
-\def\addblankskip#1#2#3{\global\advance\blankoskip#1\ifgridsnapping#3\else#2\fi}
+\def\addblankskip#1#2#3{\global\advance\blankskip#1\ifgridsnapping#3\else#2\fi}
\def\defineblankmethod[#1]#2{\setvalue{\??bo\??bo#1}{#2}}
@@ -457,19 +450,19 @@
\defineblankmethod [\v!line] {\addblankskip+\openlineheight \openlineheight}
\defineblankmethod [-\v!line] {\addblankskip-\openlineheight \openlineheight}
-\defineblankmethod [\v!formula] {\global\advance\blankoskip\medskipamount}
-\defineblankmethod [\v!nowhite] {\global\blankogeenwittrue}
-\defineblankmethod [\v!disable] {\global\blankoblokkeertrue}
-\defineblankmethod [\v!force] {\global\blankoforceertrue}
-\defineblankmethod [\v!outer] {\ifvmode\ifinner\blankobuitentrue\fi\fi}
-\defineblankmethod [\v!reset] {\global\blankoresettrue}
-\defineblankmethod [\v!flexible] {\global\lokaalblankoflexibeltrue}
-\defineblankmethod [\v!fixed] {\global\lokaalblankovasttrue}
-\defineblankmethod [\v!back] {\global\blankogobacktrue} % {\geenblanko}
+\defineblankmethod [\v!formula] {\global\advance\blankskip\medskipamount}
+\defineblankmethod [\v!nowhite] {\global\blanknowhitetrue}
+\defineblankmethod [\v!disable] {\global\blankdisabletrue}
+\defineblankmethod [\v!force] {\global\blankforcetrue}
+\defineblankmethod [\v!outer] {\ifvmode\ifinner\blankoutertrue\fi\fi}
+\defineblankmethod [\v!reset] {\global\blankresettrue}
+\defineblankmethod [\v!flexible] {\global\localblankflexibletrue}
+\defineblankmethod [\v!fixed] {\global\localblankfixedtrue}
+\defineblankmethod [\v!back] {\global\blankgobacktrue} % {\geenblanko}
\defineblankmethod [\v!halfline] {\ifgridsnapping\global\fuzzyvskiptrue\fi
- \global\advance\blankoskip .5\lineheight}
+ \global\advance\blankskip .5\lineheight}
-\defineblankmethod [\v!none] {\global\blankoresettrue}
+\defineblankmethod [\v!none] {\global\blankresettrue}
\defineblankmethod [\v!joinedup] {\ifvmode\nointerlineskip\fi}
% happens often, so we speed this up:
@@ -501,7 +494,7 @@
\else\ifcsname\??bo\ascii\endcsname % user def / slow
\@EA\rawprocesscommalist\@EA[\csname\??bo\ascii\endcsname]\doblank\relax
\else
- \global\advance\blankoskip#1\relax
+ \global\advance\blankskip#1\relax
\fi\fi
\fi}
@@ -528,7 +521,7 @@
\ifx\ascii\empty\else
\@EA\ifx\csname\??bo\??bo\ascii\endcsname\relax
\@EA\ifx\csname\??bo\ascii\endcsname\relax
- \global\advance\blankoskip#1\relax
+ \global\advance\blankskip#1\relax
\else
\@EA\rawprocesscommalist\@EA[\csname\??bo\ascii\endcsname]\doblank\relax
\fi
@@ -592,38 +585,38 @@
% {\endgraf\ifvmode\prevdepth\newprevdepth\fi}
% \def\docomplexdoblank[#1]% pas op \relax's zijn nodig ivm volgende \if
-% {\global\blankoresetfalse
-% \global\blankoblokkeerfalse
-% \global\blankogeenwitfalse
-% \global\lokaalblankoflexibelfalse
-% \global\lokaalblankovastfalse
-% \global\blankoskip\zeropoint
-% \global\blankoforceerfalse
-% \global\blankogobackfalse
-% \blankobuitenfalse
+% {\global\blankresetfalse
+% \global\blankdisablefalse
+% \global\blanknowhitefalse
+% \global\localblankflexiblefalse
+% \global\localblankfixedfalse
+% \global\blankskip\zeropoint
+% \global\blankforcefalse
+% \global\blankgobackfalse
+% \blankouterfalse
% \expanded{\rawprocesscommalist[#1]}\doblank
-% \ifdim\blankoskip=\zeropoint\relax
-% \iflokaalblankoflexibel
-% \doglobal\advance\blankoskip \currentblanko
-% \else\iflokaalblankovast
-% \doglobal\advance\blankoskip \currentblanko
+% \ifdim\blankskip=\zeropoint\relax
+% \iflocalblankflexible
+% \doglobal\advance\blankskip \currentblank
+% \else\iflocalblankfixed
+% \doglobal\advance\blankskip \currentblank
% \fi\fi
% \fi
-% \ifblankobuiten
+% \ifblankouter
% \else
% \par
% \ifvmode
-% \ifblankogoback
+% \ifblankgoback
% \removelastskip
% \fi
-% \ifblankoforceer
+% \ifblankforce
% % dit gaat mis in pos fonts
% % \ifdim\prevdepth>\zeropoint\else ...
% % -1000pt signals top of page or column (\ejectcolumn)
% \bgroup\forgeteverypar\verticalstrut\egroup\kern-\struttotal
% \fi
-% \ifblankoblokkeer
-% \global\doeblankofalse
+% \ifblankdisable
+% \global\blankindeedfalse
% \ifgridsnapping
% \ifdim\prevdepth<\zeropoint
% % brrr
@@ -661,10 +654,10 @@
% \prevdepth\newprevdepth
% \fi
% \else
-% \global\doeblankotrue
+% \global\blankindeedtrue
% \fi
-% \ifblankoreset
-% \global\doeblankotrue
+% \ifblankreset
+% \global\blankindeedtrue
% \ifgridsnapping
% % let's play safe and not fool around with the depth, if
% % only because it took a lot of effort to sort out the grid
@@ -675,71 +668,71 @@
% \fi
% \fi
% \fi
-% \ifdoeblanko
-% \ifdim1\lastskip<1\blankoskip\relax
+% \ifblankindeed
+% \ifdim1\lastskip<1\blankskip\relax
% % else when \blanko[2*groot] + \blanko[3*groot] with parskip
% % equaling 1*groot, gives a groot=\parskip so adding a small
% % value makes it distinguishable; can also be done at parskip
% % setting time (better)
-% \global\advance\blankoskip \mindimen\relax % = skip
+% \global\advance\blankskip \mindimen\relax % = skip
% % test this on 2* + 3* and parskip groot
-% \ifblankogeenwit
-% \global\advance\blankoskip -\parskip
+% \ifblanknowhite
+% \global\advance\blankskip -\parskip
% \else
% \ifdim\lastskip=\parskip
% \else % force this due to previous comment
% \ifdim\parskip>\zeropoint\relax
-% \ifdim\blankoskip<\parskip\relax
-% \global\blankoskip\zeropoint
+% \ifdim\blankskip<\parskip\relax
+% \global\blankskip\zeropoint
% \else
-% \global\advance\blankoskip -\parskip
+% \global\advance\blankskip -\parskip
% \fi
% \fi
% \fi
% \fi
-% \ifblankoflexibel \else
-% \blankoskip1\blankoskip
+% \ifblankflexible \else
+% \blankskip1\blankskip
% \fi
-% \iflokaalblankovast
-% \blankoskip1\blankoskip
+% \iflocalblankfixed
+% \blankskip1\blankskip
% \fi
-% \iflokaalblankoflexibel
-% \blankoskip1\blankoskip
-% \!!plus\skipgluefactor\blankoskip
-% \!!minus\skipgluefactor\blankoskip
+% \iflocalblankflexible
+% \blankskip1\blankskip
+% \!!plus\skipgluefactor\blankskip
+% \!!minus\skipgluefactor\blankskip
% \fi
% \ifdim\lastkern=\noblanksignal % controled and grid
-% \global\doeblankofalse
+% \global\blankindeedfalse
% \else\ifgridsnapping\else\ifdim\prevdepth=\newprevdepth
-% \global\doeblankofalse
+% \global\blankindeedfalse
% \fi\fi\fi
-% \ifdoeblanko
+% \ifblankindeed
% \iffuzzyvskip
% \removelastfuzzyvskip
-% \fuzzyvskip\blankoskip\relax
+% \fuzzyvskip\blankskip\relax
% \else
% \removelastskip
-% \vskip\blankoskip\relax
+% \vskip\blankskip\relax
% \fi
% \fi
% \else
% \iffuzzyvskip
% \removelastfuzzyvskip
-% \fuzzyvskip\blankoskip\relax
+% \fuzzyvskip\blankskip\relax
% \else
% % new, test this on pascal
-% \ifdim\blankoskip<\zeropoint
-% \advance\blankoskip-\lastskip
+% \ifdim\blankskip<\zeropoint
+% \advance\blankskip-\lastskip
% \removelastskip
-% \ifdim\blankoskip>\zeropoint
-% \vskip\blankoskip
+% \ifdim\blankskip>\zeropoint
+% \vskip\blankskip
% \else
% \vskip\zeropoint
% \fi
% \else
% % also new
-% \ifdim\blankoskip=\zeropoint
-% \ifblankogeenwit
+% \ifdim\blankskip=\zeropoint
+% \ifblanknowhite
% \geenwitruimte
% \fi
% \fi
@@ -799,29 +792,32 @@
\ifx\undefined\savedlastskip \newskip \savedlastskip \fi
\ifx\undefined\savedlastpenalty \newcount\savedlastpenalty \fi
+% beware, prevdepth can have funny values (e.g. mvl value when in box)
+
\def\docomplexdoblank[#1]% pas op \relax's zijn nodig ivm volgende \if
- {\global\blankoresetfalse
- \global\blankoblokkeerfalse
- \global\blankogeenwitfalse
- \global\lokaalblankoflexibelfalse
- \global\lokaalblankovastfalse
- \global\blankoskip\zeropoint
- \global\blankoforceerfalse
- \global\blankogobackfalse
- \blankobuitenfalse
+ {\global\blankresetfalse
+ \global\blankdisablefalse
+ \global\blanknowhitefalse
+ \global\localblankflexiblefalse
+ \global\localblankfixedfalse
+ \global\blankforcefalse
+ \global\blankgobackfalse
+ \blankouterfalse
+ \global\blankskip\zeropoint
\expanded{\rawprocesscommalist[#1]}\doblank
- \ifdim\blankoskip=\zeropoint\relax
- \iflokaalblankoflexibel
- \doglobal\advance\blankoskip \currentblanko
- \else\iflokaalblankovast
- \doglobal\advance\blankoskip \currentblanko
+ \ifdim\blankskip=\zeropoint\relax
+ \iflocalblankflexible
+ \doglobal\advance\blankskip \currentblank
+ \else\iflocalblankfixed
+ \doglobal\advance\blankskip \currentblank
\fi\fi
\fi
- \ifblankobuiten
+ \ifblankouter
+ % do nothing
\else
\par
\ifvmode
- \ifblankogoback
+ \ifblankgoback
\ifdim\lastskip>\zeropoint \vskip-\lastskip \fi
\savedlastskip\zeropoint
\else\ifdim\lastskip>\zeropoint
@@ -829,16 +825,16 @@
\else % todo: lastnode, dan namelijk geen skip !
\savedlastskip\zeropoint
\fi\fi
- \ifblankoforceer
+ \ifblankforce
% dit gaat mis in pos fonts
% \ifdim\prevdepth>\zeropoint\else ...
% -1000pt signals top of page or column (\ejectcolumn)
\bgroup\forgeteverypar\verticalstrut\egroup\kern-\struttotal
\savedlastskip\zeropoint
\fi
-\savedlastpenalty\lastpenalty
- \ifblankoblokkeer
- \global\doeblankofalse
+ \savedlastpenalty\lastpenalty % hm, now it gets lost
+ \ifblankdisable
+ \global\blankindeedfalse % keep this, i.e. disable current too
\ifgridsnapping
\ifdim\prevdepth<\zeropoint
% brrr
@@ -870,10 +866,10 @@
\prevdepth\newprevdepth % == \inhibittextblank
\fi
\else
- \global\doeblankotrue
+ \global\blankindeedtrue
\fi
- \ifblankoreset
- \global\doeblankotrue
+ \ifblankreset
+ \global\blankindeedtrue
\ifgridsnapping
% let's play safe and not fool around with the depth, if
% only because it took a lot of effort to sort out the grid
@@ -884,77 +880,77 @@
\fi
\fi
\fi
- \ifdoeblanko
- \ifdim1\savedlastskip<1\blankoskip\relax
+ \ifblankindeed
+ \ifdim1\savedlastskip<1\blankskip\relax
% else when \blank[2*groot] + \blank[3*groot] with parskip
% equaling 1*groot, gives a groot=\parskip so adding a small
% value makes it distinguishable; can also be done at parskip
% setting time (better)
- \global\advance\blankoskip \mindimen\relax % = skip
+ \global\advance\blankskip \mindimen\relax % = skip
% test this on 2* + 3* and parskip groot
- \ifblankogeenwit
- \global\advance\blankoskip -\parskip
+ \ifblanknowhite
+ \global\advance\blankskip -\parskip
\else
\ifdim\savedlastskip=\parskip
\else % force this due to previous comment
\ifdim\parskip>\zeropoint\relax
- \ifdim\blankoskip<\parskip\relax
- \global\blankoskip\zeropoint
+ \ifdim\blankskip<\parskip\relax
+ \global\blankskip\zeropoint
\else
- \global\advance\blankoskip -\parskip
+ \global\advance\blankskip -\parskip
\fi
\fi
\fi
\fi
- \ifblankoflexibel \else
- \blankoskip1\blankoskip
+ \ifblankflexible \else
+ \blankskip1\blankskip
\fi
- \iflokaalblankovast
- \blankoskip1\blankoskip
+ \iflocalblankfixed
+ \blankskip1\blankskip
\fi
- \iflokaalblankoflexibel
- \blankoskip1\blankoskip
- \!!plus \skipgluefactor\blankoskip
- \!!minus\skipgluefactor\blankoskip
+ \iflocalblankflexible
+ \blankskip1\blankskip
+ \!!plus \skipgluefactor\blankskip
+ \!!minus\skipgluefactor\blankskip
\fi
\ifdim\lastkern=\noblanksignal\relax % controlled and grid
- \global\doeblankofalse
+ \global\blankindeedfalse
\else\ifnum\savedlastpenalty=\noblankpsignal\relax % controlled and grid
- \global\doeblankofalse
+ \global\blankindeedfalse
\else\ifgridsnapping\else\ifdim\prevdepth=\newprevdepth
- \global\doeblankofalse
+ \global\blankindeedfalse
\fi\fi\fi\fi
- \ifdoeblanko
+ \ifblankindeed
\iffuzzyvskip
\removelastfuzzyvskip
- \fuzzyvskip\blankoskip\relax
+ \fuzzyvskip\blankskip\relax
\else
\relax\ifdim\savedlastskip=\zeropoint\else
\vskip-\savedlastskip
\fi
- \vskip\blankoskip\relax
+ \vskip\blankskip\relax
\fi
\fi
\else
\iffuzzyvskip
\removelastfuzzyvskip
- \fuzzyvskip\blankoskip\relax
+ \fuzzyvskip\blankskip\relax
\else
% new, test this on pascal
- \ifdim\blankoskip<\zeropoint
+ \ifdim\blankskip<\zeropoint
\relax\ifdim\savedlastskip=\zeropoint\else
- \advance\blankoskip-\savedlastskip
+ \advance\blankskip-\savedlastskip
\vskip-\savedlastskip
\fi
- \ifdim\blankoskip>\zeropoint
- \vskip\blankoskip
+ \ifdim\blankskip>\zeropoint
+ \vskip\blankskip
\else
\vskip\zeropoint
\fi
\else
% also new
- \ifdim\blankoskip=\zeropoint
- \ifblankogeenwit
+ \ifdim\blankskip=\zeropoint
+ \ifblanknowhite
\nowhitespace
\fi
\fi
@@ -972,7 +968,7 @@
%D \starttyping
%D \def\simpledoblank%
%D {\doifelse{\currentwhitespace}{\v!geen}
-%D {\blank[\currentblanko]}
+%D {\blank[\currentblank]}
%D {\blank[\currentwhitespace]}}
%D \stoptyping
%D
@@ -980,7 +976,7 @@
\def\simpledoblank % ...
{\doifelse\currentwhitespace\v!none
- {\blank[\currentblanko]}
+ {\blank[\currentblank]}
{\blank[\s!default]}}
%D Another useful definition would be:
@@ -993,7 +989,7 @@
\def\dosetupblank#1% amount are an plain inheritance
{\bigskipamount#1\relax
- \ifblankoflexibel \else
+ \ifblankflexible \else
\bigskipamount1\bigskipamount
\fi
\medskipamount \bigskipamount \divide\medskipamount 2
@@ -1001,44 +997,44 @@
\def\complexsetupblank[#1]% more \let's
{\ifgridsnapping
- \blankoflexibelfalse
+ \blankflexiblefalse
\else
\ExpandFirstAfter\processallactionsinset
[#1]
- [ \v!flexible=>\blankoflexibeltrue,
- \v!fixed=>\blankoflexibelfalse]%
+ [ \v!flexible=>\blankflexibletrue,
+ \v!fixed=>\blankflexiblefalse]%
\fi
\ExpandFirstAfter\processallactionsinset
[#1]
- [ \v!flexible=>\dosetupblank\deblankoskip,
- \v!fixed=>\dosetupblank\deblankoskip,
- \v!line=>\edef\deblankoskip{\regelafstand}%
- \dosetupblank\deblankoskip
- \let\deblanko\v!big,
- \v!halfline=>\scratchskip.5\regelafstand
- \edef\deblankoskip{\the\scratchskip}%
- \dosetupblank\deblankoskip
- \let\deblanko\v!medium,
- \v!big=>\ifgridsnapping
- \edef\deblankoskip{\regelafstand}%
- \dosetupblank\deblankoskip
+ [ \v!flexible=>\dosetupblank\appliedblankskip,
+ \v!fixed=>\dosetupblank\appliedblankskip,
+ \v!line=>\edef\appliedblankskip{\linedistance}%
+ \dosetupblank\appliedblankskip
+ ,%\let\deblanko\v!big,
+ \v!halfline=>\scratchskip.5\linedistance
+ \edef\appliedblankskip{\the\scratchskip}%
+ \dosetupblank\appliedblankskip
+ ,%\let\deblanko\v!medium,
+ \v!big=>\ifgridsnapping
+ \edef\appliedblankskip{\linedistance}%
+ \dosetupblank\appliedblankskip
\fi
- \let\currentblanko\v!big % was \def, why ?
- \let\deblanko\v!big,
- \v!medium=>\let\currentblanko\v!medium % was \def, why ?
- \let\deblanko\v!medium,
- \v!small=>\let\currentblanko\v!small % was \def, why ?
- \let\deblanko\v!small,
- \v!normal=>\dosetupblank\deblankoskip
- \let\deblanko\v!big,
- \v!standard=>\edef\deblankoskip{\skipfactor\regelafstand}%
- \dosetupblank\deblankoskip
- \let\deblanko\v!big,
- \s!default=>\dosetupblank\deblankoskip
- \let\deblanko\v!big,
- \s!unknown=>\let\deblankoskip\commalistelement
- \dosetupblank\deblankoskip
- \let\deblanko\v!big]%
+ \let\currentblank\v!big % was \def, why ?
+ ,%\let\deblanko\v!big,
+ \v!medium=>\let\currentblank\v!medium % was \def, why ?
+ ,%\let\deblanko\v!medium,
+ \v!small=>\let\currentblank\v!small % was \def, why ?
+ ,%\let\deblanko\v!small,
+ \v!normal=>\dosetupblank\appliedblankskip
+ ,%\let\deblanko\v!big,
+ \v!standard=>\edef\appliedblankskip{\skipfactor\linedistance}%
+ \dosetupblank\appliedblankskip
+ ,%\let\deblanko\v!big,
+ \s!default=>\dosetupblank\appliedblankskip
+ ,%\let\deblanko\v!big,
+ \s!unknown=>\let\appliedblankskip\commalistelement
+ \dosetupblank\appliedblankskip
+ ]%\let\deblanko\v!big]%
\simplesetupwhitespace}
% \definecomplexorsimpleempty\setupblank
@@ -1049,16 +1045,16 @@
\def\simplesetupblank % == snelle \setupblank[\s!default]
{\ifgridsnapping
- \blankoflexibelfalse
+ \blankflexiblefalse
\fi
- \dosetupblank\deblankoskip
- \let\deblanko\v!big
+ \dosetupblank\appliedblankskip
+ % \let\deblanko\v!big
\simplesetupwhitespace}
\def\restorestandardblank% \v!standard
- {\edef\deblankoskip{\skipfactor\regelafstand}%
- \dosetupblank\deblankoskip
- \let\deblanko\v!big}
+ {\edef\appliedblankskip{\skipfactor\linedistance}%
+ \dosetupblank\appliedblankskip
+ }%\let\deblanko\v!big}
\def\dodefineblank[#1][#2]%
{\def\docommando##1{\setvalue{\??bo##1}{#2}}%
@@ -1067,16 +1063,16 @@
\def\defineblank
{\dodoubleargument\dodefineblank}
-\def\savecurrentblanko
- {\edef\restorecurrentblanko
+\def\savecurrentblank
+ {\edef\restorecurrentblank
{\bigskipamount\the\bigskipamount
\medskipamount\the\medskipamount
\smallskipamount\the\smallskipamount
- \noexpand\def\noexpand\currentblanko{\currentblanko}%
- \ifblankoflexibel
- \noexpand\blankoflexibeltrue
+ \noexpand\def\noexpand\currentblank{\currentblank}%
+ \ifblankflexible
+ \noexpand\blankflexibletrue
\else
- \noexpand\blankoflexibelfalse
+ \noexpand\blankflexiblefalse
\fi}}
%D Now.
@@ -4187,7 +4183,7 @@
[\v!standard,
\v!big]
-\defineblank[\v!default] [\currentblanko]
+\defineblank[\v!default] [\currentblank]
\defineblank[\v!before] [\v!default]
\defineblank[\v!inbetween][\v!default]
\defineblank[\v!after] [\v!before]
diff --git a/tex/context/base/enco-agr.tex b/tex/context/base/enco-agr.tex
new file mode 100644
index 000000000..941a2dc2c
--- /dev/null
+++ b/tex/context/base/enco-agr.tex
@@ -0,0 +1,355 @@
+%D \module
+%D [ file=enco-agr,
+%D version=2005.02.20,
+%D title=\CONTEXT\ \UNICODE\ Macros,
+%D subtitle=Ancient Greek,
+%D author=Thomas A. Schmitz,
+%D date=\currentdate]
+
+\startencoding[agr]
+
+\definecharacter greeksigmalunate 1
+\definecharacter endash 2
+\definecharacter emdash 3
+\definecharacter apostrophe 4
+
+\definecharacter textbraceleft 8
+\definecharacter textbraceright 9
+\definecharacter textbreve 10
+
+\definecharacter textdoublebracketleft 11
+\definecharacter textdoublebracketright 12
+\definecharacter greekSigmalunate 13
+\definecharacter greekIotadialytika 14
+\definecharacter greekUpsilondialytika 15
+
+\definecharacter greekepsilonperispomeni 18
+\definecharacter greekomicronperispomeni 19
+\definecharacter greekepsilondasiaperispomeni 20
+\definecharacter greekomicrondasiaperispomeni 21
+\definecharacter greekepsilonpsiliperispomeni 22
+\definecharacter greekomicronpsiliperispomeni 23
+\definecharacter greekiotadialytikaperispomeni 24
+\definecharacter greekupsilondialytikaperispomeni 25
+\definecharacter greekdialytikaperispomeni 26
+
+\definecharacter textbottomdotsmall 31
+
+\definecharacter textbottomdot 33
+\definecharacter greeksampi 34
+\definecharacter greekdigamma 35
+\definecharacter greekstigma 36
+\definecharacter greeknumkoppa 37
+\definecharacter greekkoppa 38
+\definecharacter guilsingleright 39
+
+\definecharacter textdag 43
+
+\definecharacter oxia 47
+
+\definecharacter dasia 60
+
+\definecharacter psili 62
+
+% Question, etc., look out of sync with Oxonia, however
+
+\definecharacter dialytika 64
+\definecharacter greekAlpha 65
+\definecharacter greekBeta 66
+\definecharacter greekomegaiotasub 67
+\definecharacter greekDelta 68
+\definecharacter greekEpsilon 69
+\definecharacter greekPhi 70
+\definecharacter greekGamma 71
+\definecharacter greekEta 72
+\definecharacter greekIota 73
+\definecharacter greekTheta 74
+\definecharacter greekKappa 75
+\definecharacter greekLambda 76
+\definecharacter greekMu 77
+\definecharacter greekNu 78
+\definecharacter greekOmicron 79
+\definecharacter greekPi 80
+\definecharacter greekChi 81
+\definecharacter greekRho 82
+\definecharacter greekSigma 83
+\definecharacter greekTau 84
+\definecharacter greekUpsilon 85
+\definecharacter greeketaiotasub 86
+\definecharacter greekOmega 87
+\definecharacter greekXi 88
+\definecharacter greekPsi 89
+\definecharacter greekZeta 90
+\definecharacter bracketleft 91
+\definecharacter greekvaria 92
+\definecharacter bracketright 93
+\definecharacter perispomeni 94
+
+\definecharacter guilsingleleft 96
+
+% the above is a quote character
+\definecharacter greekalpha 97
+\definecharacter greekbeta 98
+\definecharacter greekfinalsigma 99
+\definecharacter greekdelta 100
+\definecharacter greekepsilon 101
+\definecharacter greekphi 102
+\definecharacter greekgamma 103
+\definecharacter greeketa 104
+\definecharacter greekiota 105
+\definecharacter greektheta 106
+\definecharacter greekkappa 107
+\definecharacter greeklambda 108
+\definecharacter greekmu 109
+\definecharacter greeknu 110
+\definecharacter greekomicron 111
+\definecharacter greekpi 112
+\definecharacter greekchi 113
+\definecharacter greekrho 114
+\definecharacter greeksigma 115
+\definecharacter greektau 116
+\definecharacter greekupsilon 117
+\definecharacter greekalphaiotasub 118
+\definecharacter greekomega 119
+\definecharacter greekxi 120
+\definecharacter greekpsi 121
+\definecharacter greekzeta 122
+\definecharacter floorleft 123
+\definecharacter bar 124
+\definecharacter floorright 125
+\definecharacter perispomeni 126
+
+\definecharacter quotedblleft 128
+\definecharacter quotedblright 129
+\definecharacter exclam 130
+\definecharacter greekiotadasia 131
+\definecharacter greekiotapsili 132
+\definecharacter greekiotaoxia 133
+\definecharacter greekiotadasiatonos 134
+\definecharacter greekiotapsilitonos 135
+\definecharacter greekiotavaria 136
+\definecharacter greekiotadasiavaria 137
+\definecharacter greekiotapsilivaria 138
+\definecharacter greekiotaperispomeni 139
+\definecharacter greekiotadasiaperispomeni 140
+\definecharacter greekiotapsiliperispomeni 141
+\definecharacter greekiotadialytika 142
+\definecharacter greekiotadialytikatonos 143
+\definecharacter greekiotadialytikavaria 144
+\definecharacter greekdasiaperispomeni 145
+\definecharacter greekpsiliperispomeni 146
+\definecharacter greekdasiatonos 147
+\definecharacter greekpsilitonos 148
+\definecharacter greekdasiavaria 149
+\definecharacter greekpsilivaria 150
+\definecharacter greekdialytikatonos 151
+\definecharacter greekepsilondasia 152
+\definecharacter greekepsilonpsili 153
+\definecharacter greekepsilonoxia 154
+\definecharacter greekepsilondasiatonos 155
+\definecharacter greekepsilonpsilitonos 156
+\definecharacter greekepsilonvaria 157
+\definecharacter greekepsilondasiavaria 158
+\definecharacter greekepsilonpsilivaria 159
+\definecharacter greekdialytikavaria 160
+\definecharacter greekalphadasia 161
+\definecharacter greekalphapsili 162
+\definecharacter greekalphaoxia 163
+\definecharacter greekalphadasiatonos 164
+\definecharacter greekalphapsilitonos 165
+\definecharacter greekalphavaria 166
+\definecharacter greekalphadasiavaria 167
+\definecharacter greekalphapsilivaria 168
+\definecharacter greekalphaperispomeni 169
+\definecharacter greekalphadasiaperispomeni 170
+\definecharacter greekalphapsiliperispomeni 171
+\definecharacter greekalphaiotasubdasia 172
+\definecharacter greekalphaiotasubpsili 173
+\definecharacter greekalphaiotasubtonos 174
+\definecharacter greekalphaiotasubdasiatonos 175
+\definecharacter greekalphaiotasubpsilitonos 176
+\definecharacter greekalphaiotasubvaria 177
+\definecharacter greekalphaiotasubdasiavaria 178
+\definecharacter greekalphaiotasubpsilivaria 179
+\definecharacter greekalphaiotasubperispomeni 180
+\definecharacter greekalphaiotasubdasiaperispomeni 181
+\definecharacter greekalphaiotasubpsiliperispomeni 182
+\definecharacter greekrhodasia 183
+\definecharacter greekrhopsili 184
+\definecharacter greeketadasia 185
+\definecharacter greeketapsili 186
+\definecharacter greeketaoxia 187
+\definecharacter greeketadasiatonos 188
+\definecharacter greeketapsilitonos 189
+\definecharacter greeketavaria 190
+\definecharacter greeketadasiavaria 191
+\definecharacter greeketapsilivaria 192
+\definecharacter greeketaperispomeni 193
+\definecharacter greeketadasiaperispomeni 194
+\definecharacter greeketapsiliperispomeni 195
+\definecharacter textslash 196
+\definecharacter greeketaiotasubdasia 197
+\definecharacter greeketaiotasubpsili 198
+\definecharacter greeketaiotasubtonos 199
+\definecharacter greeketaiotasubdasiatonos 200
+\definecharacter greeketaiotasubpsilitonos 201
+\definecharacter greeketaiotasubvaria 202
+\definecharacter greeketaiotasubdasiavaria 203
+\definecharacter greeketaiotasubpsilivaria 204
+\definecharacter greeketaiotasubperispomeni 205
+\definecharacter greeketaiotasubdasiaperispomeni 206
+\definecharacter greeketaiotasubpsiliperispomeni 207
+\definecharacter greekomicrondasia 208
+\definecharacter greekomicronpsili 209
+\definecharacter greekomicronoxia 210
+\definecharacter greekomicrondasiatonos 211
+\definecharacter greekomicronpsilitonos 212
+\definecharacter greekomicronvaria 213
+\definecharacter greekomicrondasiavaria 214
+\definecharacter greekomicronpsilivaria 215
+\definecharacter greekupsilondasia 216
+\definecharacter greekupsilonpsili 217
+\definecharacter greekupsilonoxia 218
+\definecharacter greekupsilondasiatonos 219
+\definecharacter greekupsilonpsilitonos 220
+\definecharacter greekupsilonvaria 221
+\definecharacter greekupsilondasiavaria 222
+\definecharacter greekupsilonpsilivaria 223
+\definecharacter greekupsilonperispomeni 224
+\definecharacter greekupsilondasiaperispomeni 225
+\definecharacter greekupsilonpsiliperispomeni 226
+\definecharacter greekupsilondiaeresis 227
+\definecharacter greekupsilondialytikatonos 228
+\definecharacter greekupsilondialytikavaria 229
+\definecharacter greekomegadasia 230
+\definecharacter greekomegapsili 231
+\definecharacter greekomegaoxia 232
+\definecharacter greekomegadasiatonos 233
+\definecharacter greekomegapsilitonos 234
+\definecharacter greekomegavaria 235
+\definecharacter greekomegadasiavaria 236
+\definecharacter greekomegapsilivaria 237
+\definecharacter greekomegaperispomeni 238
+\definecharacter greekomegadasiaperispomeni 239
+\definecharacter greekomegapsiliperispomeni 240
+\definecharacter greekomegaiotasubdasia 241
+\definecharacter greekomegaiotasubpsili 242
+\definecharacter greekomegaiotasubtonos 243
+\definecharacter greekomegaiotasubdasiatonos 244
+\definecharacter greekomegaiotasubpsilitonos 245
+\definecharacter greekomegaiotasubvaria 246
+\definecharacter greekomegaiotasubdasiavaria 247
+\definecharacter greekomegaiotasubpsilivaria 248
+\definecharacter greekomegaiotasubperispomeni 249
+\definecharacter greekomegaiotasubdasiaperispomeni 250
+\definecharacter greekomegaiotasubpsiliperispomeni 251
+\definecharacter greeknumeralsign 254
+\definecharacter greeknumeralsignlower 255
+
+\stopencoding
+
+\startencoding[default]
+
+\definecharacter greekAlphapsili {\psili \greekAlpha}
+\definecharacter greekAlphadasia {\dasia \greekAlpha}
+\definecharacter greekAlphapsilivaria {\greekpsilivaria \greekAlpha}
+\definecharacter greekAlphadasiavaria {\greekdasiavaria \greekAlpha}
+\definecharacter greekAlphapsilitonos {\greekpsilitonos \greekAlpha}
+\definecharacter greekAlphadasiatonos {\greekdasiatonos \greekAlpha}
+\definecharacter greekAlphapsiliperispomeni {\greekpsiliperispomeni \greekAlpha}
+\definecharacter greekAlphadasiaperispomeni {\greekdasiaperispomeni \greekAlpha}
+\definecharacter greekEpsilonpsili {\psili \greekEpsilon}
+\definecharacter greekEpsilondasia {\dasia \greekEpsilon}
+\definecharacter greekEpsilonpsilivaria {\greekpsilivaria \greekEpsilon}
+\definecharacter greekEpsilondasiavaria {\greekdasiavaria \greekEpsilon}
+\definecharacter greekEpsilonpsilitonos {\greekpsilitonos \greekEpsilon}
+\definecharacter greekEpsilondasiatonos {\greekdasiatonos \greekEpsilon}
+\definecharacter greekEtapsili {\psili \greekEta}
+\definecharacter greekEtadasia {\dasia \greekEta}
+\definecharacter greekEtapsilivaria {\greekpsilivaria \greekEta}
+\definecharacter greekEtadasiavaria {\greekdasiavaria \greekEta}
+\definecharacter greekEtapsilitonos {\greekpsilitonos \greekEta}
+\definecharacter greekEtadasiatonos {\greekdasiatonos \greekEta}
+\definecharacter greekEtapsiliperispomeni {\greekpsiliperispomeni \greekEta}
+\definecharacter greekEtadasiaperispomeni {\greekdasiaperispomeni \greekEta}
+\definecharacter greekIotapsili {\psili \greekIota}
+\definecharacter greekIotadasia {\dasia \greekIota}
+\definecharacter greekIotapsilivaria {\greekpsilivaria \greekIota}
+\definecharacter greekIotadasiavaria {\greekdasiavaria \greekIota}
+\definecharacter greekIotapsilitonos {\greekpsilitonos \greekIota}
+\definecharacter greekIotadasiatonos {\greekdasiatonos \greekIota}
+\definecharacter greekIotapsiliperispomeni {\greekpsiliperispomeni \greekIota}
+\definecharacter greekIotadasiaperispomeni {\greekdasiaperispomeni \greekIota}
+\definecharacter greekOmicronpsili {\psili \greekOmicron}
+\definecharacter greekOmicrondasia {\dasia \greekOmicron}
+\definecharacter greekOmicronpsilivaria {\greekpsilivaria \greekOmicron}
+\definecharacter greekOmicrondasiavaria {\greekdasiavaria \greekOmicron}
+\definecharacter greekOmicronpsilitonos {\greekpsilitonos \greekOmicron}
+\definecharacter greekOmicrondasiatonos {\greekdasiatonos \greekOmicron}
+\definecharacter greekUpsilondasia {\dasia \greekUpsilon}
+\definecharacter greekUpsilondasiavaria {\greekdasiavaria \greekUpsilon}
+\definecharacter greekUpsilondasiatonos {\greekdasiatonos \greekUpsilon}
+\definecharacter greekUpsilondasiaperispomeni {\greekdasiaperispomeni \greekUpsilon}
+\definecharacter greekOmegapsili {\psili \greekOmega}
+\definecharacter greekOmegadasia {\dasia \greekOmega}
+\definecharacter greekOmegapsilivaria {\greekpsilivaria \greekOmega}
+\definecharacter greekOmegadasiavaria {\greekdasiavaria \greekOmega}
+\definecharacter greekOmegapsilitonos {\greekpsilitonos \greekOmega}
+\definecharacter greekOmegadasiatonos {\greekdasiatonos \greekOmega}
+\definecharacter greekOmegapsiliperispomeni {\greekpsiliperispomeni \greekOmega}
+\definecharacter greekOmegadasiaperispomeni {\greekdasiaperispomeni \greekOmega}
+\definecharacter greekAlphaiotasubpsili {\psili \greekAlpha \greekiota}
+\definecharacter greekAlphaiotasubdasia {\dasia \greekAlpha \greekiota}
+\definecharacter greekAlphaiotasubpsilivaria {\greekpsilivaria \greekAlpha \greekiota}
+\definecharacter greekAlphaiotasubdasiavaria {\greeldasiavaria \greekAlpha \greekiota}
+\definecharacter greekAlphaiotasubpsilitonos {\greekpsilitonos \greekAlpha \greekiota}
+\definecharacter greekAlphaiotasubdasiatonos {\greekdasiatonos \greekAlpha \greekiota}
+\definecharacter greekAlphaiotasubpsiliperispomeni {\greekpsiliperispomeni \greekAlpha \greekiota}
+\definecharacter greekAlphaiotasubdasiaperispomeni {\greekdasiaperispomeni \greekAlpha \greekiota}
+\definecharacter greekEtaiotasubpsili {\psili \greekEta \greekiota}
+\definecharacter greekEtaiotasubdasia {\dasia \greekEta \greekiota}
+\definecharacter greekEtaiotasubpsilivaria {\greekpsilivaria \greekEta \greekiota}
+\definecharacter greekEtaiotasubdasiavaria {\greekdasiavaria \greekEta \greekiota}
+\definecharacter greekEtaiotasubpsilitonos {\greekpsilitonos \greekEta \greekiota}
+\definecharacter greekEtaiotasubdasiatonos {\greekdasiatonos \greekEta \greekiota}
+\definecharacter greekEtaiotasubpsiliperispomeni {\greekpsiliperispomeni \greekEta \greekiota}
+\definecharacter greekEtaiotasubdasiaperispomeni {\greekdasiaperispomeni \greekEta \greekiota}
+\definecharacter greekOmegaiotasubpsili {\psili \greekOmega \greekiota}
+\definecharacter greekOmegaiotasubdasia {\dasia \greekOmega \greekiota}
+\definecharacter greekOmegaiotasubpsilivaria {\greekpsilivaria \greekOmega \greekiota}
+\definecharacter greekOmegaiotasubdasiavaria {\greekdasiavaria \greekOmega \greekiota}
+\definecharacter greekOmegaiotasubpsilitonos {\greekpsilitonos \greekOmega \greekiota}
+\definecharacter greekOmegaiotasubdasiatonos {\greekdasiatonos \greekOmega \greekiota}
+\definecharacter greekOmegaiotasubpsiliperispomeni {\greekpsiliperispomeni \greekOmega \greekiota}
+\definecharacter greekOmegaiotasubdasiaperispomeni {\greekdasiaperispomeni \greekOmega \greekiota}
+\definecharacter greekAlphavaria {\varia \greekAlpha}
+\definecharacter greekAlphaoxia {\oxia \greekAlpha}
+\definecharacter greekAlphaiotasub {\greekAlpha \greekiota}
+\definecharacter greekEpsilonvaria {\varia \greekEpsilon}
+\definecharacter greekEpsilonoxia {\oxia \greekEpsilon}
+\definecharacter greekEtavaria {\varia \greekEta}
+\definecharacter greekEtaoxia {\oxia \greekEta}
+\definecharacter greekEtaiotasub {\greekEta \greekiota}
+\definecharacter greekIotavaria {\varia \greekIota}
+\definecharacter greekIotaoxia {\oxia \greekIota}
+\definecharacter greekUpsilonvaria {\varia \greekUpsilon}
+\definecharacter greekUpsilonoxia {\oxia \greekUpsilon}
+\definecharacter greekOmicronvaria {\varia \greekOmicron}
+\definecharacter greekOmicronoxia {\oxia \greekOmicron}
+\definecharacter greekOmegavaria {\varia \greekOmega}
+\definecharacter greekOmegaoxia {\oxia \greekOmega}
+\definecharacter greekOmegaiotasub {\greekOmega \greekiota}
+\definecharacter greekRhodasia {\dasia \greekRho}
+\definecharacter digamma {\greekdigamma}
+\definecharacter sampi {\greeksampi}
+\definecharacter stigma {\greekstigma}
+\definecharacter koppa {\greeknumkoppa}
+\definecharacter lunars {\greeksigmalunate}
+\definecharacter lunarS {\greekSigmalunate}
+\definecharacter halfbraceleft {\floorleft}
+\definecharacter halfbraceright {\floorright}
+\definecharacter crux {\textdag}
+
+\stopencoding
+
+\endinput
diff --git a/tex/context/base/enco-def.tex b/tex/context/base/enco-def.tex
index 2f6ce633d..dfeb0d712 100644
--- a/tex/context/base/enco-def.tex
+++ b/tex/context/base/enco-def.tex
@@ -467,7 +467,7 @@
\definecharacter greekTheta {\Theta}
\definecharacter greekIota {\Iota}
\definecharacter greekKappa {\Kappa}
-\definecharacter greekLamda {\Lamba}
+\definecharacter greekLambda {\Lambda}
\definecharacter greekMu {\Mu}
\definecharacter greekNu {\Nu}
\definecharacter greekXi {\Xi}
@@ -494,7 +494,7 @@
\definecharacter greektheta {\theta}
\definecharacter greekiota {\iota}
\definecharacter greekkappa {\kappa}
-\definecharacter greeklamda {\lambda}
+\definecharacter greeklambda {\lambda}
\definecharacter greekmu {\mu}
\definecharacter greeknu {\nu}
\definecharacter greekxi {\xi}
@@ -811,4 +811,7 @@
\ifx\zdot\undefined \def\zdot{\zdotaccent} \fi
\ifx\Zdot\undefined \def\Zdot{\Zdotaccent} \fi
+\ifx\greeklamda\undefined \def\greeklamda{\greeklambda} \fi
+\ifx\greekLamda\undefined \def\greekLamda{\greekLambda} \fi
+
\endinput
diff --git a/tex/context/base/enco-grk.tex b/tex/context/base/enco-grk.tex
index 039b44f11..ee48f0101 100644
--- a/tex/context/base/enco-grk.tex
+++ b/tex/context/base/enco-grk.tex
@@ -25,7 +25,7 @@
\definecasemap 200 200 232 % greekTheta
\definecasemap 201 201 233 % greekIota
\definecasemap 202 202 234 % greekKappa
-\definecasemap 203 203 235 % greekLamda
+\definecasemap 203 203 235 % greekLambda
\definecasemap 204 204 236 % greekMu
\definecasemap 205 205 237 % greekNu
\definecasemap 206 206 238 % greekXi
@@ -52,7 +52,7 @@
\definecasemap 232 200 232 % greektheta
\definecasemap 233 201 233 % greekiota
\definecasemap 234 202 234 % greekkappa
-\definecasemap 235 203 235 % greeklamda
+\definecasemap 235 203 235 % greeklambda
\definecasemap 236 204 236 % greekmu
\definecasemap 237 205 237 % greeknu
\definecasemap 238 206 238 % greekxi
@@ -110,7 +110,7 @@
\definecharacter greekTheta 200
\definecharacter greekIota 201
\definecharacter greekKappa 202
-\definecharacter greekLamda 203
+\definecharacter greekLambda 203
\definecharacter greekMu 204
\definecharacter greekNu 205
\definecharacter greekXi 206
@@ -137,7 +137,7 @@
\definecharacter greektheta 232
\definecharacter greekiota 233
\definecharacter greekkappa 234
-\definecharacter greeklamda 235
+\definecharacter greeklambda 235
\definecharacter greekmu 236
\definecharacter greeknu 237
\definecharacter greekxi 238
diff --git a/tex/context/base/enco-uc.tex b/tex/context/base/enco-uc.tex
index b694f690a..99cb9c280 100644
--- a/tex/context/base/enco-uc.tex
+++ b/tex/context/base/enco-uc.tex
@@ -33,7 +33,7 @@
\definecharacter Iacute {\uchar0{205}}
\definecharacter Icircumflex {\uchar0{206}}
\definecharacter Idiaeresis {\uchar0{207}}
-%\definecharacter Dstroke {\uchar0{208}}
+%definecharacter Dstroke {\uchar0{208}}
\definecharacter Ntilde {\uchar0{209}}
\definecharacter Ograve {\uchar0{210}}
\definecharacter Oacute {\uchar0{211}}
@@ -65,7 +65,7 @@
\definecharacter iacute {\uchar0{237}}
\definecharacter icircumflex {\uchar0{238}}
\definecharacter idiaeresis {\uchar0{239}}
-%\definecharacter dmacron {\uchar0{240}}
+%definecharacter dmacron {\uchar0{240}}
\definecharacter ntilde {\uchar0{241}}
\definecharacter ograve {\uchar0{242}}
\definecharacter oacute {\uchar0{243}}
@@ -300,102 +300,102 @@
\startencoding[uc]
-\definecharacter Ohorn {\uchar1{"A0}}
-\definecharacter ohorn {\uchar1{"A1}}
-\definecharacter Uhorn {\uchar1{"AF}}
-\definecharacter uhorn {\uchar1{"B0}}
-
-\definecharacter Yhook {\uchar{"1E}{"F6}}
-\definecharacter yhook {\uchar{"1E}{"F7}}
-\definecharacter Ydotbelow {\uchar{"1E}{"F4}}
-\definecharacter ydotbelow {\uchar{"1E}{"F5}}
-\definecharacter Ahook {\uchar{"1E}{"A2}}
-\definecharacter Adotbelow {\uchar{"1E}{"A0}}
-\definecharacter Acircumflexgrave {\uchar{"1E}{"A6}}
-\definecharacter Acircumflexacute {\uchar{"1E}{"A4}}
-\definecharacter Acircumflextilde {\uchar{"1E}{"AA}}
-\definecharacter Acircumflexhook {\uchar{"1E}{"A8}}
-\definecharacter Acircumflexdotbelow {\uchar{"1E}{"AC}}
-\definecharacter Abrevegrave {\uchar{"1E}{"B0}}
-\definecharacter Abreveacute {\uchar{"1E}{"AE}}
-\definecharacter Abrevetilde {\uchar{"1E}{"B4}}
-\definecharacter Abrevehook {\uchar{"1E}{"B2}}
-\definecharacter Abrevedotbelow {\uchar{"1E}{"B6}}
-\definecharacter Ehook {\uchar{"1E}{"BA}}
-\definecharacter Edotbelow {\uchar{"1E}{"B8}}
-\definecharacter Ecircumflexgrave {\uchar{"1E}{"C0}}
-\definecharacter Ecircumflexacute {\uchar{"1E}{"BE}}
-\definecharacter Ecircumflextilde {\uchar{"1E}{"C4}}
-\definecharacter Ecircumflexhook {\uchar{"1E}{"C2}}
-\definecharacter Ecircumflexdotbelow {\uchar{"1E}{"C6}}
-\definecharacter Ihook {\uchar{"1E}{"C8}}
-\definecharacter ahook {\uchar{"1E}{"A3}}
-\definecharacter adotbelow {\uchar{"1E}{"A1}}
-\definecharacter acircumflexgrave {\uchar{"1E}{"A7}}
-\definecharacter acircumflexacute {\uchar{"1E}{"A5}}
-\definecharacter acircumflextilde {\uchar{"1E}{"AB}}
-\definecharacter acircumflexhook {\uchar{"1E}{"A9}}
-\definecharacter acircumflexdotbelow {\uchar{"1E}{"AD}}
-\definecharacter abrevegrave {\uchar{"1E}{"B1}}
-\definecharacter abreveacute {\uchar{"1E}{"AF}}
-\definecharacter abrevetilde {\uchar{"1E}{"B5}}
-\definecharacter abrevehook {\uchar{"1E}{"B3}}
-\definecharacter abrevedotbelow {\uchar{"1E}{"B7}}
-\definecharacter ehook {\uchar{"1E}{"BB}}
-\definecharacter edotbelow {\uchar{"1E}{"B9}}
-\definecharacter ecircumflexgrave {\uchar{"1E}{"C1}}
-\definecharacter ecircumflexacute {\uchar{"1E}{"BF}}
-\definecharacter ecircumflextilde {\uchar{"1E}{"C5}}
-\definecharacter ecircumflexhook {\uchar{"1E}{"C3}}
-\definecharacter ecircumflexdotbelow {\uchar{"1E}{"C7}}
-\definecharacter ihook {\uchar{"1E}{"C9}}
-\definecharacter Idotbelow {\uchar{"1E}{"CA}}
-\definecharacter Ohook {\uchar{"1E}{"CE}}
-\definecharacter Odotbelow {\uchar{"1E}{"CC}}
-\definecharacter Ocircumflexgrave {\uchar{"1E}{"D2}}
-\definecharacter Ocircumflexacute {\uchar{"1E}{"D0}}
-\definecharacter Ocircumflextilde {\uchar{"1E}{"D6}}
-\definecharacter Ocircumflexhook {\uchar{"1E}{"D4}}
-\definecharacter Ocircumflexdotbelow {\uchar{"1E}{"D8}}
-\definecharacter Ohorngrave {\uchar{"1E}{"DC}}
-\definecharacter Ohornacute {\uchar{"1E}{"DA}}
-\definecharacter Ohorntilde {\uchar{"1E}{"E0}}
-\definecharacter Ohornhook {\uchar{"1E}{"DE}}
-\definecharacter Ohorndotbelow {\uchar{"1E}{"E2}}
-\definecharacter Uhook {\uchar{"1E}{"E6}}
-\definecharacter Udotbelow {\uchar{"1E}{"E4}}
-\definecharacter Uhorngrave {\uchar{"1E}{"EA}}
-\definecharacter Uhornacute {\uchar{"1E}{"E8}}
-\definecharacter Uhorntilde {\uchar{"1E}{"EE}}
-\definecharacter Uhornhook {\uchar{"1E}{"EC}}
-\definecharacter Uhorndotbelow {\uchar{"1E}{"F0}}
-\definecharacter Ytilde {\uchar{"1E}{"F8}}
-\definecharacter idotbelow {\uchar{"1E}{"CB}}
-\definecharacter ohook {\uchar{"1E}{"CF}}
-\definecharacter odotbelow {\uchar{"1E}{"CD}}
-\definecharacter ocircumflexgrave {\uchar{"1E}{"D3}}
-\definecharacter ocircumflexacute {\uchar{"1E}{"D1}}
-\definecharacter ocircumflextilde {\uchar{"1E}{"D7}}
-\definecharacter ocircumflexhook {\uchar{"1E}{"D5}}
-\definecharacter ocircumflexdotbelow {\uchar{"1E}{"D9}}
-\definecharacter ohorngrave {\uchar{"1E}{"DD}}
-\definecharacter ohornacute {\uchar{"1E}{"DB}}
-\definecharacter ohorntilde {\uchar{"1E}{"E1}}
-\definecharacter ohornhook {\uchar{"1E}{"DF}}
-\definecharacter ohorndotbelow {\uchar{"1E}{"E3}}
-\definecharacter uhook {\uchar{"1E}{"E7}}
-\definecharacter udotbelow {\uchar{"1E}{"E5}}
-\definecharacter uhorngrave {\uchar{"1E}{"EB}}
-\definecharacter uhornacute {\uchar{"1E}{"E9}}
-\definecharacter uhorntilde {\uchar{"1E}{"EF}}
-\definecharacter uhornhook {\uchar{"1E}{"ED}}
-\definecharacter uhorndotbelow {\uchar{"1E}{"F1}}
-\definecharacter ytilde {\uchar{"1E}{"F9}}
-
-\definecharacter Etilde {\uchar{"1E}{"BC}}
-\definecharacter etilde {\uchar{"1E}{"BD}}
-\definecharacter Ygrave {\uchar{"1E}{"F2}}
-\definecharacter ygrave {\uchar{"1E}{"F3}}
+\definecharacter Ohorn {\uchar1{160}}
+\definecharacter ohorn {\uchar1{161}}
+\definecharacter Uhorn {\uchar1{175}}
+\definecharacter uhorn {\uchar1{176}}
+
+\definecharacter Yhook {\uchar{30}{246}}
+\definecharacter yhook {\uchar{30}{247}}
+\definecharacter Ydotbelow {\uchar{30}{244}}
+\definecharacter ydotbelow {\uchar{30}{245}}
+\definecharacter Ahook {\uchar{30}{162}}
+\definecharacter Adotbelow {\uchar{30}{160}}
+\definecharacter Acircumflexgrave {\uchar{30}{166}}
+\definecharacter Acircumflexacute {\uchar{30}{164}}
+\definecharacter Acircumflextilde {\uchar{30}{170}}
+\definecharacter Acircumflexhook {\uchar{30}{168}}
+\definecharacter Acircumflexdotbelow {\uchar{30}{172}}
+\definecharacter Abrevegrave {\uchar{30}{176}}
+\definecharacter Abreveacute {\uchar{30}{174}}
+\definecharacter Abrevetilde {\uchar{30}{180}}
+\definecharacter Abrevehook {\uchar{30}{178}}
+\definecharacter Abrevedotbelow {\uchar{30}{182}}
+\definecharacter Ehook {\uchar{30}{186}}
+\definecharacter Edotbelow {\uchar{30}{184}}
+\definecharacter Ecircumflexgrave {\uchar{30}{192}}
+\definecharacter Ecircumflexacute {\uchar{30}{190}}
+\definecharacter Ecircumflextilde {\uchar{30}{196}}
+\definecharacter Ecircumflexhook {\uchar{30}{194}}
+\definecharacter Ecircumflexdotbelow {\uchar{30}{198}}
+\definecharacter Ihook {\uchar{30}{200}}
+\definecharacter ahook {\uchar{30}{163}}
+\definecharacter adotbelow {\uchar{30}{161}}
+\definecharacter acircumflexgrave {\uchar{30}{167}}
+\definecharacter acircumflexacute {\uchar{30}{165}}
+\definecharacter acircumflextilde {\uchar{30}{171}}
+\definecharacter acircumflexhook {\uchar{30}{169}}
+\definecharacter acircumflexdotbelow {\uchar{30}{173}}
+\definecharacter abrevegrave {\uchar{30}{177}}
+\definecharacter abreveacute {\uchar{30}{175}}
+\definecharacter abrevetilde {\uchar{30}{181}}
+\definecharacter abrevehook {\uchar{30}{179}}
+\definecharacter abrevedotbelow {\uchar{30}{183}}
+\definecharacter ehook {\uchar{30}{187}}
+\definecharacter edotbelow {\uchar{30}{185}}
+\definecharacter ecircumflexgrave {\uchar{30}{193}}
+\definecharacter ecircumflexacute {\uchar{30}{191}}
+\definecharacter ecircumflextilde {\uchar{30}{197}}
+\definecharacter ecircumflexhook {\uchar{30}{195}}
+\definecharacter ecircumflexdotbelow {\uchar{30}{199}}
+\definecharacter ihook {\uchar{30}{201}}
+\definecharacter Idotbelow {\uchar{30}{202}}
+\definecharacter Ohook {\uchar{30}{206}}
+\definecharacter Odotbelow {\uchar{30}{204}}
+\definecharacter Ocircumflexgrave {\uchar{30}{210}}
+\definecharacter Ocircumflexacute {\uchar{30}{208}}
+\definecharacter Ocircumflextilde {\uchar{30}{214}}
+\definecharacter Ocircumflexhook {\uchar{30}{212}}
+\definecharacter Ocircumflexdotbelow {\uchar{30}{216}}
+\definecharacter Ohorngrave {\uchar{30}{220}}
+\definecharacter Ohornacute {\uchar{30}{218}}
+\definecharacter Ohorntilde {\uchar{30}{224}}
+\definecharacter Ohornhook {\uchar{30}{222}}
+\definecharacter Ohorndotbelow {\uchar{30}{226}}
+\definecharacter Uhook {\uchar{30}{230}}
+\definecharacter Udotbelow {\uchar{30}{228}}
+\definecharacter Uhorngrave {\uchar{30}{234}}
+\definecharacter Uhornacute {\uchar{30}{232}}
+\definecharacter Uhorntilde {\uchar{30}{238}}
+\definecharacter Uhornhook {\uchar{30}{236}}
+\definecharacter Uhorndotbelow {\uchar{30}{240}}
+\definecharacter Ytilde {\uchar{30}{248}}
+\definecharacter idotbelow {\uchar{30}{203}}
+\definecharacter ohook {\uchar{30}{207}}
+\definecharacter odotbelow {\uchar{30}{205}}
+\definecharacter ocircumflexgrave {\uchar{30}{211}}
+\definecharacter ocircumflexacute {\uchar{30}{209}}
+\definecharacter ocircumflextilde {\uchar{30}{215}}
+\definecharacter ocircumflexhook {\uchar{30}{213}}
+\definecharacter ocircumflexdotbelow {\uchar{30}{217}}
+\definecharacter ohorngrave {\uchar{30}{221}}
+\definecharacter ohornacute {\uchar{30}{219}}
+\definecharacter ohorntilde {\uchar{30}{225}}
+\definecharacter ohornhook {\uchar{30}{223}}
+\definecharacter ohorndotbelow {\uchar{30}{227}}
+\definecharacter uhook {\uchar{30}{231}}
+\definecharacter udotbelow {\uchar{30}{229}}
+\definecharacter uhorngrave {\uchar{30}{235}}
+\definecharacter uhornacute {\uchar{30}{233}}
+\definecharacter uhorntilde {\uchar{30}{239}}
+\definecharacter uhornhook {\uchar{30}{237}}
+\definecharacter uhorndotbelow {\uchar{30}{241}}
+\definecharacter ytilde {\uchar{30}{249}}
+
+\definecharacter Etilde {\uchar{30}{188}}
+\definecharacter etilde {\uchar{30}{189}}
+\definecharacter Ygrave {\uchar{30}{242}}
+\definecharacter ygrave {\uchar{30}{243}}
\stopencoding
@@ -403,78 +403,78 @@
\startencoding[uc]
-\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 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 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 greekAlphatonos {\uchar3{134}}
+\definecharacter greekEpsilontonos {\uchar3{136}}
+\definecharacter greekEtatonos {\uchar3{137}}
+\definecharacter greekIotatonos {\uchar3{138}}
+\definecharacter greekOmicrontonos {\uchar3{140}}
+\definecharacter greekUpsilontonos {\uchar3{142}}
+\definecharacter greekOmegatonos {\uchar3{143}}
+\definecharacter greekiotadialytikatonos {\uchar3{144}}
+\definecharacter greekAlpha {\uchar3{145}}
+\definecharacter greekBeta {\uchar3{146}}
+\definecharacter greekGamma {\uchar3{147}}
+\definecharacter greekDelta {\uchar3{148}}
+\definecharacter greekEpsilon {\uchar3{149}}
+\definecharacter greekZeta {\uchar3{150}}
+\definecharacter greekEta {\uchar3{151}}
+\definecharacter greekTheta {\uchar3{152}}
+\definecharacter greekIota {\uchar3{153}}
+\definecharacter greekKappa {\uchar3{154}}
+\definecharacter greekLambda {\uchar3{155}}
+\definecharacter greekMu {\uchar3{156}}
+\definecharacter greekNu {\uchar3{157}}
+\definecharacter greekXi {\uchar3{158}}
+\definecharacter greekOmicron {\uchar3{159}}
+\definecharacter greekPi {\uchar3{160}}
+\definecharacter greekRho {\uchar3{161}}
+\definecharacter greekSigma {\uchar3{163}}
+\definecharacter greekTau {\uchar3{164}}
+\definecharacter greekUpsilon {\uchar3{165}}
+\definecharacter greekPhi {\uchar3{166}}
+\definecharacter greekChi {\uchar3{167}}
+\definecharacter greekPsi {\uchar3{168}}
+\definecharacter greekOmega {\uchar3{169}}
+
+\definecharacter greekalpha {\uchar3{177}}
+\definecharacter greekbeta {\uchar3{178}}
+\definecharacter greekgamma {\uchar3{179}}
+\definecharacter greekdelta {\uchar3{180}}
+\definecharacter greekepsilon {\uchar3{181}}
+\definecharacter greekzeta {\uchar3{182}}
+\definecharacter greeketa {\uchar3{183}}
+\definecharacter greektheta {\uchar3{184}}
+\definecharacter greekiota {\uchar3{185}}
+\definecharacter greekkappa {\uchar3{186}}
+\definecharacter greeklambda {\uchar3{187}}
+\definecharacter greekmu {\uchar3{188}}
+\definecharacter greeknu {\uchar3{189}}
+\definecharacter greekxi {\uchar3{190}}
+\definecharacter greekomicron {\uchar3{191}}
+\definecharacter greekpi {\uchar3{192}}
+\definecharacter greekrho {\uchar3{193}}
+\definecharacter greekfinalsigma {\uchar3{194}}
+\definecharacter greeksigma {\uchar3{195}}
+\definecharacter greektau {\uchar3{196}}
+\definecharacter greekupsilon {\uchar3{197}}
+\definecharacter greekphi {\uchar3{198}}
+\definecharacter greekchi {\uchar3{199}}
+\definecharacter greekpsi {\uchar3{200}}
+\definecharacter greekomega {\uchar3{201}}
+\definecharacter greekiotadialytika {\uchar3{202}}
+\definecharacter greekupsilondialytika {\uchar3{203}}
+\definecharacter greekomicrontonos {\uchar3{204}}
+\definecharacter greekupsilontonos {\uchar3{205}}
+\definecharacter greekomegatonos {\uchar3{206}}
+
+\definecharacter greekIotadialytika {\uchar3{170}}
+\definecharacter greekUpsilondialytika {\uchar3{171}}
+
+\definecharacter greekalphatonos {\uchar3{172}}
+\definecharacter greekepsilontonos {\uchar3{173}}
+\definecharacter greeketatonos {\uchar3{174}}
+\definecharacter greekiotatonos {\uchar3{175}}
+\definecharacter greekupsilondialytikatonos {\uchar3{176}}
\stopencoding
@@ -482,71 +482,71 @@
\startencoding[uc]
-\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}}
+\definecharacter cyrillicA {\uchar4{16}}
+\definecharacter cyrillicB {\uchar4{17}}
+\definecharacter cyrillicV {\uchar4{18}}
+\definecharacter cyrillicG {\uchar4{19}}
+\definecharacter cyrillicD {\uchar4{20}}
+\definecharacter cyrillicE {\uchar4{21}}
+\definecharacter cyrillicZH {\uchar4{22}}
+\definecharacter cyrillicZ {\uchar4{23}}
+\definecharacter cyrillicI {\uchar4{24}}
+\definecharacter cyrillicISHRT {\uchar4{25}}
+\definecharacter cyrillicK {\uchar4{26}}
+\definecharacter cyrillicL {\uchar4{27}}
+\definecharacter cyrillicM {\uchar4{28}}
+\definecharacter cyrillicN {\uchar4{29}}
+\definecharacter cyrillicO {\uchar4{30}}
+\definecharacter cyrillicP {\uchar4{31}}
+\definecharacter cyrillicR {\uchar4{32}}
+\definecharacter cyrillicS {\uchar4{33}}
+\definecharacter cyrillicT {\uchar4{34}}
+\definecharacter cyrillicU {\uchar4{35}}
+\definecharacter cyrillicF {\uchar4{36}}
+\definecharacter cyrillicH {\uchar4{37}}
+\definecharacter cyrillicC {\uchar4{38}}
+\definecharacter cyrillicCH {\uchar4{39}}
+\definecharacter cyrillicSH {\uchar4{40}}
+\definecharacter cyrillicSHCH {\uchar4{41}}
+\definecharacter cyrillicHRDSN {\uchar4{42}}
+\definecharacter cyrillicERY {\uchar4{43}}
+\definecharacter cyrillicSFTSN {\uchar4{44}}
+\definecharacter cyrillicEREV {\uchar4{45}}
+\definecharacter cyrillicYU {\uchar4{46}}
+\definecharacter cyrillicYA {\uchar4{47}}
+
+\definecharacter cyrillica {\uchar4{48}}
+\definecharacter cyrillicb {\uchar4{49}}
+\definecharacter cyrillicv {\uchar4{50}}
+\definecharacter cyrillicg {\uchar4{51}}
+\definecharacter cyrillicd {\uchar4{52}}
+\definecharacter cyrillice {\uchar4{53}}
+\definecharacter cyrilliczh {\uchar4{54}}
+\definecharacter cyrillicz {\uchar4{55}}
+\definecharacter cyrillici {\uchar4{56}}
+\definecharacter cyrillicishrt {\uchar4{57}}
+\definecharacter cyrillick {\uchar4{58}}
+\definecharacter cyrillicl {\uchar4{59}}
+\definecharacter cyrillicm {\uchar4{60}}
+\definecharacter cyrillicn {\uchar4{61}}
+\definecharacter cyrillico {\uchar4{62}}
+\definecharacter cyrillicp {\uchar4{63}}
+\definecharacter cyrillicr {\uchar4{64}}
+\definecharacter cyrillics {\uchar4{65}}
+\definecharacter cyrillict {\uchar4{66}}
+\definecharacter cyrillicu {\uchar4{67}}
+\definecharacter cyrillicf {\uchar4{68}}
+\definecharacter cyrillich {\uchar4{69}}
+\definecharacter cyrillicc {\uchar4{70}}
+\definecharacter cyrillicch {\uchar4{71}}
+\definecharacter cyrillicsh {\uchar4{72}}
+\definecharacter cyrillicshch {\uchar4{73}}
+\definecharacter cyrillichrdsn {\uchar4{74}}
+\definecharacter cyrillicery {\uchar4{75}}
+\definecharacter cyrillicsftsn {\uchar4{76}}
+\definecharacter cyrillicerev {\uchar4{77}}
+\definecharacter cyrillicyu {\uchar4{78}}
+\definecharacter cyrillicya {\uchar4{79}}
%D I tried to figure out what these were, but the unicode
%D tables suggested they were the same as cyrillici, which was
@@ -559,215 +559,463 @@
%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}}
+\definecharacter cyrillicII {\uchar4{6}}
+\definecharacter cyrillicii {\uchar4{86}}
%D Guessing that tlir6a corresponds with t2a encoding as advertised,
%D here are some more, cos I had some spare time: (AL)
-\definecharacter cyrillicDJE {\uchar4{"02}}
-\definecharacter cyrillicTSHE {\uchar4{"0B}}
+\definecharacter cyrillicDJE {\uchar4{2}}
+\definecharacter cyrillicTSHE {\uchar4{11}}
%definecharacter cyrillicSHHA 132
%definecharacter cyrillicZHDSC 133
-\definecharacter cyrillicZDSC {\uchar4{"98}}
-\definecharacter cyrillicLJE {\uchar4{"09}}
-\definecharacter cyrillicYI {\uchar4{"07}}
-\definecharacter cyrillicAE {\uchar4{"D4}}
+\definecharacter cyrillicZDSC {\uchar4{152}}
+\definecharacter cyrillicLJE {\uchar4{9}}
+\definecharacter cyrillicYI {\uchar4{7}}
+\definecharacter cyrillicAE {\uchar4{212}}
%definecharacter cyrillicNDSC 141
%definecharacter cyrillicNG 142
-\definecharacter cyrillicDZE {\uchar4{"05}}
+\definecharacter cyrillicDZE {\uchar4{5}}
%definecharacter cyrillicOTLD 144
-\definecharacter cyrillicSDSC {\uchar4{"AA}}
-\definecharacter cyrillicUSHRT {\uchar4{"0E}}
+\definecharacter cyrillicSDSC {\uchar4{170}}
+\definecharacter cyrillicUSHRT {\uchar4{14}}
%definecharacter cyrillicY 147
%definecharacter cyrillicYHCRS 148
%definecharacter cyrillicHDSC 149
-\definecharacter cyrillicDZHE {\uchar4{"0F}}
-\definecharacter cyrillicIE {\uchar4{"04}}
-\definecharacter cyrillicNJE {\uchar4{"0A}}
-\definecharacter cyrillicYO {\uchar4{"01}}
+\definecharacter cyrillicDZHE {\uchar4{15}}
+\definecharacter cyrillicIE {\uchar4{4}}
+\definecharacter cyrillicNJE {\uchar4{10}}
+\definecharacter cyrillicYO {\uchar4{1}}
-\definecharacter cyrillicdje {\uchar4{"52}}
-\definecharacter cyrillictshe {\uchar4{"5B}}
+\definecharacter cyrillicdje {\uchar4{82}}
+\definecharacter cyrillictshe {\uchar4{91}}
%definecharacter cyrillicshha 164
%definecharacter cyrilliczhdsc 165
-\definecharacter cyrilliczdsc {\uchar4{"99}}
-\definecharacter cyrilliclje {\uchar4{"59}}
-\definecharacter cyrillicyi {\uchar4{"57}}
-\definecharacter cyrillicae {\uchar4{"D5}}
+\definecharacter cyrilliczdsc {\uchar4{153}}
+\definecharacter cyrilliclje {\uchar4{89}}
+\definecharacter cyrillicyi {\uchar4{87}}
+\definecharacter cyrillicae {\uchar4{213}}
%definecharacter cyrillicndsc 173
%definecharacter cyrillicng 174
-\definecharacter cyrillicdze {\uchar4{"55}}
+\definecharacter cyrillicdze {\uchar4{85}}
%definecharacter cyrillicotld 176
-\definecharacter cyrillicsdsc {\uchar4{"AB}}
-\definecharacter cyrillicushrt {\uchar4{"5E}}
+\definecharacter cyrillicsdsc {\uchar4{171}}
+\definecharacter cyrillicushrt {\uchar4{94}}
%definecharacter cyrillicy 179
%definecharacter cyrillicyhcrs 180
%definecharacter cyrillichdsc 181
-\definecharacter cyrillicdzhe {\uchar4{"5F}}
-\definecharacter cyrillicie {\uchar4{"54}}
-\definecharacter cyrillicnje {\uchar4{"5A}}
-\definecharacter cyrillicyo {\uchar4{"51}}
+\definecharacter cyrillicdzhe {\uchar4{95}}
+\definecharacter cyrillicie {\uchar4{84}}
+\definecharacter cyrillicnje {\uchar4{90}}
+\definecharacter cyrillicyo {\uchar4{81}}
% is there overlap with the above definitions
-\definecharacter cyrillicEgrave {\uchar4{"00}}
-\definecharacter cyrillicGJE {\uchar4{"03}}
-\definecharacter cyrillicJE {\uchar4{"08}}
-\definecharacter cyrillicKJE {\uchar4{"0C}}
-\definecharacter cyrillicIgrave {\uchar4{"0D}}
-\definecharacter cyrillicegrave {\uchar4{"50}}
-\definecharacter cyrillicgje {\uchar4{"53}}
-\definecharacter cyrillicje {\uchar4{"58}}
-\definecharacter cyrillickje {\uchar4{"5C}}
-\definecharacter cyrillicigrave {\uchar4{"5D}}
-\definecharacter cyrillicOMEGA {\uchar4{"60}}
-\definecharacter cyrillicomega {\uchar4{"61}}
-\definecharacter cyrillicYAT {\uchar4{"62}}
-\definecharacter cyrillicyat {\uchar4{"63}}
-\definecharacter cyrillicEiotified {\uchar4{"64}}
-\definecharacter cyrilliceiotified {\uchar4{"65}}
-\definecharacter cyrillicLITTLEYUS {\uchar4{"66}}
-\definecharacter cyrilliclittleyus {\uchar4{"67}}
-\definecharacter cyrillicLITTLEYUSiotified {\uchar4{"68}}
-\definecharacter cyrilliclittleyusiotified {\uchar4{"69}}
-\definecharacter cyrillicBIGYUS {\uchar4{"6A}}
-\definecharacter cyrillicbigyus {\uchar4{"6B}}
-\definecharacter cyrillicBIGYUSiotified {\uchar4{"6C}}
-\definecharacter cyrillicbigyusiotified {\uchar4{"6D}}
-\definecharacter cyrillicKSI {\uchar4{"6E}}
-\definecharacter cyrillicksi {\uchar4{"6F}}
-\definecharacter cyrillicPSI {\uchar4{"70}}
-\definecharacter cyrillicpsi {\uchar4{"71}}
-\definecharacter cyrillicFITA {\uchar4{"72}}
-\definecharacter cyrillicfita {\uchar4{"73}}
-\definecharacter cyrillicIZHITSA {\uchar4{"74}}
-\definecharacter cyrillicizhitsa {\uchar4{"75}}
-\definecharacter cyrillicIZHITSAdoublegrave {\uchar4{"76}}
-\definecharacter cyrillicizhitsadoublegrave {\uchar4{"77}}
-\definecharacter cyrillicUK {\uchar4{"78}}
-\definecharacter cyrillicuk {\uchar4{"79}}
-\definecharacter cyrillicOMEGAround {\uchar4{"7A}}
-\definecharacter cyrillicomegaround {\uchar4{"7B}}
-\definecharacter cyrillicOMEGAtitlo {\uchar4{"7C}}
-\definecharacter cyrillicomegatitlo {\uchar4{"7D}}
-\definecharacter cyrillicOT {\uchar4{"7E}}
-\definecharacter cyrillicot {\uchar4{"7F}}
-\definecharacter cyrillicKOPPA {\uchar4{"80}}
-\definecharacter cyrillickoppa {\uchar4{"81}}
-\definecharacter cyrillicTITLO {\uchar4{"83}}
-\definecharacter cyrillicPALATALIZATION {\uchar4{"84}}
-\definecharacter cyrillicDASIAPNEUMATA {\uchar4{"85}}
-\definecharacter cyrillicPSILIPNEUMATA {\uchar4{"86}}
-\definecharacter cyrillicISHRTtail {\uchar4{"8A}}
-\definecharacter cyrillicishrttail {\uchar4{"8B}}
-\definecharacter cyrillicSEMISOFT {\uchar4{"8C}}
-\definecharacter cyrillicsemisoft {\uchar4{"8D}}
-\definecharacter cyrillicERtick {\uchar4{"8E}}
-\definecharacter cyrillicertick {\uchar4{"8F}}
-\definecharacter cyrillicGHEupturn {\uchar4{"90}}
-\definecharacter cyrillicgheupturn {\uchar4{"91}}
-\definecharacter cyrillicGHEstroke {\uchar4{"92}}
-\definecharacter cyrillicghestroke {\uchar4{"93}}
-\definecharacter cyrillicGHEmidhook {\uchar4{"94}}
-\definecharacter cyrillicghemidhook {\uchar4{"95}}
-\definecharacter cyrillicZHEdescender {\uchar4{"96}}
-\definecharacter cyrilliczhedescender {\uchar4{"97}}
-\definecharacter cyrillicZDSC {\uchar4{"98}}
-\definecharacter cyrilliczdsc {\uchar4{"99}}
-\definecharacter cyrillicKADC {\uchar4{"9A}}
-\definecharacter cyrillickadc {\uchar4{"9B}}
-\definecharacter cyrillicKAvertstroke {\uchar4{"9C}}
-\definecharacter cyrillickavertstroke {\uchar4{"9D}}
-\definecharacter cyrillicKAstroke {\uchar4{"9E}}
-\definecharacter cyrillickastroke {\uchar4{"9F}}
-\definecharacter cyrillicKAbashkir {\uchar4{"A0}}
-\definecharacter cyrillickabashkir {\uchar4{"A1}}
-\definecharacter cyrillicENDC {\uchar4{"A2}}
-\definecharacter cyrillicendc {\uchar4{"A3}}
-\definecharacter cyrillicENGHE {\uchar4{"A4}}
-\definecharacter cyrillicenghe {\uchar4{"A5}}
-\definecharacter cyrillicPEmidhook {\uchar4{"A6}}
-\definecharacter cyrillicpemidhook {\uchar4{"A7}}
-\definecharacter cyrillicHA {\uchar4{"A8}}
-\definecharacter cyrillicha {\uchar4{"A9}}
-%\definecharacter cyrillicSDSC {\uchar4{"AA}} already defined
-%\definecharacter cyrilliccdsc {\uchar4{"AB}} already defined
-\definecharacter cyrillicTEDC {\uchar4{"AC}}
-\definecharacter cyrillictedc {\uchar4{"AD}}
-\definecharacter cyrillicYstr {\uchar4{"AE}}
-\definecharacter cyrillicystr {\uchar4{"AF}}
-\definecharacter cyrillicYstrstroke {\uchar4{"B0}}
-\definecharacter cyrillicystrstroke {\uchar4{"B1}}
-\definecharacter cyrillicHADC {\uchar4{"B2}}
-\definecharacter cyrillichadc {\uchar4{"B3}}
-\definecharacter cyrillicTETSE {\uchar4{"B4}}
-\definecharacter cyrillictetse {\uchar4{"B5}}
-\definecharacter cyrillicCHEDC {\uchar4{"B6}}
-\definecharacter cyrillicchedc {\uchar4{"B7}}
-\definecharacter cyrillicCHEvertstroke {\uchar4{"B8}}
-\definecharacter cyrillicchevertstroke {\uchar4{"B9}}
-\definecharacter cyrillicSHHA {\uchar4{"BA}}
-\definecharacter cyrillicshha {\uchar4{"BB}}
-\definecharacter cyrillicCHEabkhasian {\uchar4{"BC}}
-\definecharacter cyrilliccheabkhasian {\uchar4{"BD}}
-\definecharacter cyrillicCHEDCabkhasian {\uchar4{"BE}}
-\definecharacter cyrillicchedcabkhasian {\uchar4{"BF}}
-\definecharacter cyrillicPALOCHKA {\uchar4{"C0}}
-\definecharacter cyrillicZHEbreve {\uchar4{"C1}}
-\definecharacter cyrilliczhebreve {\uchar4{"C2}}
-\definecharacter cyrillicKAhook {\uchar4{"C3}}
-\definecharacter cyrillickahook {\uchar4{"C4}}
-\definecharacter cyrillicELtail {\uchar4{"C5}}
-\definecharacter cyrilliceltail {\uchar4{"C6}}
-\definecharacter cyrillicENhook {\uchar4{"C7}}
-\definecharacter cyrillicenhook {\uchar4{"C8}}
-\definecharacter cyrillicENtail {\uchar4{"C9}}
-\definecharacter cyrillicentail {\uchar4{"CA}}
-\definecharacter cyrillicCHEkhakassian {\uchar4{"CB}}
-\definecharacter cyrillicchekhakassian {\uchar4{"CC}}
-\definecharacter cyrillicEMtail {\uchar4{"CD}}
-\definecharacter cyrillicemtail {\uchar4{"CE}}
-\definecharacter cyrillicAbreve {\uchar4{"D0}}
-\definecharacter cyrillicabreve {\uchar4{"D1}}
-\definecharacter cyrillicAdiaeresis {\uchar4{"D2}}
-\definecharacter cyrillicadiaeresis {\uchar4{"D3}}
-%\definecharacter cyrillicAE {\uchar4{"D4}} already defined
-%\definecharacter cyrillicae {\uchar4{"D5}} already defined
-\definecharacter cyrillicEbreve {\uchar4{"D6}}
-\definecharacter cyrillicebreve {\uchar4{"D7}}
-\definecharacter cyrillicSCHWA {\uchar4{"D8}}
-\definecharacter cyrillicschwa {\uchar4{"D9}}
-\definecharacter cyrillicSCHWAdiaeresis {\uchar4{"DA}}
-\definecharacter cyrillicschwadiaeresis {\uchar4{"DB}}
-\definecharacter cyrillicZHEdiaeresis {\uchar4{"DC}}
-\definecharacter cyrilliczhediaeresis {\uchar4{"DD}}
-\definecharacter cyrillicZEdiaeresis {\uchar4{"DE}}
-\definecharacter cyrilliczediaeresis {\uchar4{"DF}}
-\definecharacter cyrillicDZEabkhasian {\uchar4{"E0}}
-\definecharacter cyrillicdzeabkhasian {\uchar4{"E1}}
-\definecharacter cyrillicImacron {\uchar4{"E2}}
-\definecharacter cyrillicimacron {\uchar4{"E3}}
-\definecharacter cyrillicIdiaeresis {\uchar4{"E4}}
-\definecharacter cyrillicidiaeresis {\uchar4{"E5}}
-\definecharacter cyrillicOdiaeresis {\uchar4{"E6}}
-\definecharacter cyrillicodiaeresis {\uchar4{"E7}}
-\definecharacter cyrillicObarred {\uchar4{"E8}}
-\definecharacter cyrillicobarred {\uchar4{"E9}}
-\definecharacter cyrillicObarreddiaeresis {\uchar4{"EA}}
-\definecharacter cyrillicobarreddiaeresis {\uchar4{"EB}}
-\definecharacter cyrillicEdiaeresis {\uchar4{"EC}}
-\definecharacter cyrillicediaeresis {\uchar4{"ED}}
-\definecharacter cyrillicUmacron {\uchar4{"EE}}
-\definecharacter cyrillicumacron {\uchar4{"EF}}
-\definecharacter cyrillicUdiaeresis {\uchar4{"F0}}
-\definecharacter cyrillicudiaeresis {\uchar4{"F1}}
-\definecharacter cyrillicUdoubleacute {\uchar4{"F2}}
-\definecharacter cyrillicudoubleacute {\uchar4{"F3}}
-\definecharacter cyrillicCHEdiaeresis {\uchar4{"F4}}
-\definecharacter cyrillicchediaeresis {\uchar4{"F5}}
-\definecharacter cyrillicYERUdiaeresis {\uchar4{"F8}}
-\definecharacter cyrillicyerudiaeresis {\uchar4{"F9}}
+\definecharacter cyrillicEgrave {\uchar4{0}}
+\definecharacter cyrillicGJE {\uchar4{3}}
+\definecharacter cyrillicJE {\uchar4{8}}
+\definecharacter cyrillicKJE {\uchar4{12}}
+\definecharacter cyrillicIgrave {\uchar4{13}}
+\definecharacter cyrillicegrave {\uchar4{80}}
+\definecharacter cyrillicgje {\uchar4{83}}
+\definecharacter cyrillicje {\uchar4{88}}
+\definecharacter cyrillickje {\uchar4{92}}
+\definecharacter cyrillicigrave {\uchar4{93}}
+\definecharacter cyrillicOMEGA {\uchar4{96}}
+\definecharacter cyrillicomega {\uchar4{97}}
+\definecharacter cyrillicYAT {\uchar4{98}}
+\definecharacter cyrillicyat {\uchar4{99}}
+\definecharacter cyrillicEiotified {\uchar4{100}}
+\definecharacter cyrilliceiotified {\uchar4{101}}
+\definecharacter cyrillicLITTLEYUS {\uchar4{102}}
+\definecharacter cyrilliclittleyus {\uchar4{103}}
+\definecharacter cyrillicLITTLEYUSiotified {\uchar4{104}}
+\definecharacter cyrilliclittleyusiotified {\uchar4{105}}
+\definecharacter cyrillicBIGYUS {\uchar4{106}}
+\definecharacter cyrillicbigyus {\uchar4{107}}
+\definecharacter cyrillicBIGYUSiotified {\uchar4{108}}
+\definecharacter cyrillicbigyusiotified {\uchar4{109}}
+\definecharacter cyrillicKSI {\uchar4{110}}
+\definecharacter cyrillicksi {\uchar4{111}}
+\definecharacter cyrillicPSI {\uchar4{112}}
+\definecharacter cyrillicpsi {\uchar4{113}}
+\definecharacter cyrillicFITA {\uchar4{114}}
+\definecharacter cyrillicfita {\uchar4{115}}
+\definecharacter cyrillicIZHITSA {\uchar4{116}}
+\definecharacter cyrillicizhitsa {\uchar4{117}}
+\definecharacter cyrillicIZHITSAdoublegrave {\uchar4{118}}
+\definecharacter cyrillicizhitsadoublegrave {\uchar4{119}}
+\definecharacter cyrillicUK {\uchar4{120}}
+\definecharacter cyrillicuk {\uchar4{121}}
+\definecharacter cyrillicOMEGAround {\uchar4{122}}
+\definecharacter cyrillicomegaround {\uchar4{123}}
+\definecharacter cyrillicOMEGAtitlo {\uchar4{124}}
+\definecharacter cyrillicomegatitlo {\uchar4{125}}
+\definecharacter cyrillicOT {\uchar4{126}}
+\definecharacter cyrillicot {\uchar4{127}}
+\definecharacter cyrillicKOPPA {\uchar4{128}}
+\definecharacter cyrillickoppa {\uchar4{129}}
+\definecharacter cyrillicTITLO {\uchar4{131}}
+\definecharacter cyrillicPALATALIZATION {\uchar4{132}}
+\definecharacter cyrillicDASIAPNEUMATA {\uchar4{133}}
+\definecharacter cyrillicPSILIPNEUMATA {\uchar4{134}}
+\definecharacter cyrillicISHRTtail {\uchar4{138}}
+\definecharacter cyrillicishrttail {\uchar4{139}}
+\definecharacter cyrillicSEMISOFT {\uchar4{140}}
+\definecharacter cyrillicsemisoft {\uchar4{141}}
+\definecharacter cyrillicERtick {\uchar4{142}}
+\definecharacter cyrillicertick {\uchar4{143}}
+\definecharacter cyrillicGHEupturn {\uchar4{144}}
+\definecharacter cyrillicgheupturn {\uchar4{145}}
+\definecharacter cyrillicGHEstroke {\uchar4{146}}
+\definecharacter cyrillicghestroke {\uchar4{147}}
+\definecharacter cyrillicGHEmidhook {\uchar4{148}}
+\definecharacter cyrillicghemidhook {\uchar4{149}}
+\definecharacter cyrillicZHEdescender {\uchar4{150}}
+\definecharacter cyrilliczhedescender {\uchar4{151}}
+\definecharacter cyrillicZDSC {\uchar4{152}}
+\definecharacter cyrilliczdsc {\uchar4{153}}
+\definecharacter cyrillicKADC {\uchar4{154}}
+\definecharacter cyrillickadc {\uchar4{155}}
+\definecharacter cyrillicKAvertstroke {\uchar4{156}}
+\definecharacter cyrillickavertstroke {\uchar4{157}}
+\definecharacter cyrillicKAstroke {\uchar4{158}}
+\definecharacter cyrillickastroke {\uchar4{159}}
+\definecharacter cyrillicKAbashkir {\uchar4{160}}
+\definecharacter cyrillickabashkir {\uchar4{161}}
+\definecharacter cyrillicENDC {\uchar4{162}}
+\definecharacter cyrillicendc {\uchar4{163}}
+\definecharacter cyrillicENGHE {\uchar4{164}}
+\definecharacter cyrillicenghe {\uchar4{165}}
+\definecharacter cyrillicPEmidhook {\uchar4{166}}
+\definecharacter cyrillicpemidhook {\uchar4{167}}
+\definecharacter cyrillicHA {\uchar4{168}}
+\definecharacter cyrillicha {\uchar4{169}}
+%definecharacter cyrillicSDSC {\uchar4{170}} % already defined
+%definecharacter cyrilliccdsc {\uchar4{171}} % already defined
+\definecharacter cyrillicTEDC {\uchar4{172}}
+\definecharacter cyrillictedc {\uchar4{173}}
+\definecharacter cyrillicYstr {\uchar4{174}}
+\definecharacter cyrillicystr {\uchar4{175}}
+\definecharacter cyrillicYstrstroke {\uchar4{176}}
+\definecharacter cyrillicystrstroke {\uchar4{177}}
+\definecharacter cyrillicHADC {\uchar4{178}}
+\definecharacter cyrillichadc {\uchar4{179}}
+\definecharacter cyrillicTETSE {\uchar4{180}}
+\definecharacter cyrillictetse {\uchar4{181}}
+\definecharacter cyrillicCHEDC {\uchar4{182}}
+\definecharacter cyrillicchedc {\uchar4{183}}
+\definecharacter cyrillicCHEvertstroke {\uchar4{184}}
+\definecharacter cyrillicchevertstroke {\uchar4{185}}
+\definecharacter cyrillicSHHA {\uchar4{186}}
+\definecharacter cyrillicshha {\uchar4{187}}
+\definecharacter cyrillicCHEabkhasian {\uchar4{188}}
+\definecharacter cyrilliccheabkhasian {\uchar4{189}}
+\definecharacter cyrillicCHEDCabkhasian {\uchar4{190}}
+\definecharacter cyrillicchedcabkhasian {\uchar4{191}}
+\definecharacter cyrillicPALOCHKA {\uchar4{192}}
+\definecharacter cyrillicZHEbreve {\uchar4{193}}
+\definecharacter cyrilliczhebreve {\uchar4{194}}
+\definecharacter cyrillicKAhook {\uchar4{195}}
+\definecharacter cyrillickahook {\uchar4{196}}
+\definecharacter cyrillicELtail {\uchar4{197}}
+\definecharacter cyrilliceltail {\uchar4{198}}
+\definecharacter cyrillicENhook {\uchar4{199}}
+\definecharacter cyrillicenhook {\uchar4{200}}
+\definecharacter cyrillicENtail {\uchar4{201}}
+\definecharacter cyrillicentail {\uchar4{202}}
+\definecharacter cyrillicCHEkhakassian {\uchar4{203}}
+\definecharacter cyrillicchekhakassian {\uchar4{204}}
+\definecharacter cyrillicEMtail {\uchar4{205}}
+\definecharacter cyrillicemtail {\uchar4{206}}
+\definecharacter cyrillicAbreve {\uchar4{208}}
+\definecharacter cyrillicabreve {\uchar4{209}}
+\definecharacter cyrillicAdiaeresis {\uchar4{210}}
+\definecharacter cyrillicadiaeresis {\uchar4{211}}
+%definecharacter cyrillicAE {\uchar4{212}} % already defined
+%definecharacter cyrillicae {\uchar4{213}} % already defined
+\definecharacter cyrillicEbreve {\uchar4{214}}
+\definecharacter cyrillicebreve {\uchar4{215}}
+\definecharacter cyrillicSCHWA {\uchar4{216}}
+\definecharacter cyrillicschwa {\uchar4{217}}
+\definecharacter cyrillicSCHWAdiaeresis {\uchar4{218}}
+\definecharacter cyrillicschwadiaeresis {\uchar4{219}}
+\definecharacter cyrillicZHEdiaeresis {\uchar4{220}}
+\definecharacter cyrilliczhediaeresis {\uchar4{221}}
+\definecharacter cyrillicZEdiaeresis {\uchar4{222}}
+\definecharacter cyrilliczediaeresis {\uchar4{223}}
+\definecharacter cyrillicDZEabkhasian {\uchar4{224}}
+\definecharacter cyrillicdzeabkhasian {\uchar4{225}}
+\definecharacter cyrillicImacron {\uchar4{226}}
+\definecharacter cyrillicimacron {\uchar4{227}}
+\definecharacter cyrillicIdiaeresis {\uchar4{228}}
+\definecharacter cyrillicidiaeresis {\uchar4{229}}
+\definecharacter cyrillicOdiaeresis {\uchar4{230}}
+\definecharacter cyrillicodiaeresis {\uchar4{231}}
+\definecharacter cyrillicObarred {\uchar4{232}}
+\definecharacter cyrillicobarred {\uchar4{233}}
+\definecharacter cyrillicObarreddiaeresis {\uchar4{234}}
+\definecharacter cyrillicobarreddiaeresis {\uchar4{235}}
+\definecharacter cyrillicEdiaeresis {\uchar4{236}}
+\definecharacter cyrillicediaeresis {\uchar4{237}}
+\definecharacter cyrillicUmacron {\uchar4{238}}
+\definecharacter cyrillicumacron {\uchar4{239}}
+\definecharacter cyrillicUdiaeresis {\uchar4{240}}
+\definecharacter cyrillicudiaeresis {\uchar4{241}}
+\definecharacter cyrillicUdoubleacute {\uchar4{242}}
+\definecharacter cyrillicudoubleacute {\uchar4{243}}
+\definecharacter cyrillicCHEdiaeresis {\uchar4{244}}
+\definecharacter cyrillicchediaeresis {\uchar4{245}}
+\definecharacter cyrillicYERUdiaeresis {\uchar4{248}}
+\definecharacter cyrillicyerudiaeresis {\uchar4{249}}
+
+\stopencoding
+
+% Greek Extended
+
+\startencoding[uc]
+
+\definecharacter greekalphapsili {\uchar{31}{0}}
+\definecharacter greekalphadasia {\uchar{31}{1}}
+\definecharacter greekalphapsilivaria {\uchar{31}{2}}
+\definecharacter greekalphadasiavaria {\uchar{31}{3}}
+\definecharacter greekalphapsilitonos {\uchar{31}{4}}
+\definecharacter greekalphadasiatonos {\uchar{31}{5}}
+\definecharacter greekalphapsiliperispomeni {\uchar{31}{6}}
+\definecharacter greekalphadasiaperispomeni {\uchar{31}{7}}
+\definecharacter greekAlphapsili {\uchar{31}{8}}
+\definecharacter greekAlphadasia {\uchar{31}{9}}
+\definecharacter greekAlphapsilivaria {\uchar{31}{10}}
+\definecharacter greekAlphadasiavaria {\uchar{31}{11}}
+\definecharacter greekAlphapsilitonos {\uchar{31}{12}}
+\definecharacter greekAlphadasiatonos {\uchar{31}{13}}
+\definecharacter greekAlphapsiliperispomeni {\uchar{31}{14}}
+\definecharacter greekAlphadasiaperispomeni {\uchar{31}{15}}
+\definecharacter greekepsilonpsili {\uchar{31}{16}} % 1f10
+\definecharacter greekepsilondasia {\uchar{31}{17}}
+\definecharacter greekepsilonpsilivaria {\uchar{31}{18}}
+\definecharacter greekepsilondasiavaria {\uchar{31}{19}}
+\definecharacter greekepsilonpsilitonos {\uchar{31}{20}}
+\definecharacter greekepsilondasiatonos {\uchar{31}{21}}
+\definecharacter greekEpsilonpsili {\uchar{31}{24}}
+\definecharacter greekEpsilondasia {\uchar{31}{25}}
+\definecharacter greekEpsilonpsilivaria {\uchar{31}{26}}
+\definecharacter greekEpsilondasiavaria {\uchar{31}{27}}
+\definecharacter greekEpsilonpsilitonos {\uchar{31}{28}}
+\definecharacter greekEpsilondasiatonos {\uchar{31}{29}}
+\definecharacter greeketapsili {\uchar{31}{32}} % 1f20
+\definecharacter greeketadasia {\uchar{31}{33}}
+\definecharacter greeketapsilivaria {\uchar{31}{34}}
+\definecharacter greeketadasiavaria {\uchar{31}{35}}
+\definecharacter greeketapsilitonos {\uchar{31}{36}}
+\definecharacter greeketadasiatonos {\uchar{31}{37}}
+\definecharacter greeketapsiliperispomeni {\uchar{31}{38}}
+\definecharacter greeketadasiaperispomeni {\uchar{31}{39}}
+\definecharacter greekEtapsili {\uchar{31}{40}}
+\definecharacter greekEtadasia {\uchar{31}{41}}
+\definecharacter greekEtapsilivaria {\uchar{31}{42}}
+\definecharacter greekEtadasiavaria {\uchar{31}{43}}
+\definecharacter greekEtapsilitonos {\uchar{31}{44}}
+\definecharacter greekEtadasiatonos {\uchar{31}{45}}
+\definecharacter greekEtapsiliperispomeni {\uchar{31}{46}}
+\definecharacter greekEtadasiaperispomeni {\uchar{31}{47}}
+\definecharacter greekiotapsili {\uchar{31}{48}} % 1f30
+\definecharacter greekiotadasia {\uchar{31}{49}}
+\definecharacter greekiotapsilivaria {\uchar{31}{50}}
+\definecharacter greekiotadasiavaria {\uchar{31}{51}}
+\definecharacter greekiotapsilitonos {\uchar{31}{52}}
+\definecharacter greekiotadasiatonos {\uchar{31}{53}}
+\definecharacter greekiotapsiliperispomeni {\uchar{31}{54}}
+\definecharacter greekiotadasiaperispomeni {\uchar{31}{55}}
+\definecharacter greekIotapsili {\uchar{31}{56}}
+\definecharacter greekIotadasia {\uchar{31}{57}}
+\definecharacter greekIotapsilivaria {\uchar{31}{58}}
+\definecharacter greekIotadasiavaria {\uchar{31}{59}}
+\definecharacter greekIotapsilitonos {\uchar{31}{60}}
+\definecharacter greekIotadasiatonos {\uchar{31}{61}}
+\definecharacter greekIotapsiliperispomeni {\uchar{31}{62}}
+\definecharacter greekIotadasiaperispomeni {\uchar{31}{63}}
+\definecharacter greekomicronpsili {\uchar{31}{64}} % 1f40
+\definecharacter greekomicrondasia {\uchar{31}{65}}
+\definecharacter greekomicronpsilivaria {\uchar{31}{66}}
+\definecharacter greekomicrondasiavaria {\uchar{31}{67}}
+\definecharacter greekomicronpsilitonos {\uchar{31}{68}}
+\definecharacter greekomicrondasiatonos {\uchar{31}{69}}
+\definecharacter greekOmicronpsili {\uchar{31}{72}}
+\definecharacter greekOmicrondasia {\uchar{31}{73}}
+\definecharacter greekOmicronpsilivaria {\uchar{31}{74}}
+\definecharacter greekOmicrondasiavaria {\uchar{31}{75}}
+\definecharacter greekOmicronpsilitonos {\uchar{31}{76}}
+\definecharacter greekOmicrondasiatonos {\uchar{31}{77}}
+\definecharacter greekupsilonpsili {\uchar{31}{80}} % 1f50
+\definecharacter greekupsilondasia {\uchar{31}{81}}
+\definecharacter greekupsilonpsilivaria {\uchar{31}{82}}
+\definecharacter greekupsilondasiavaria {\uchar{31}{83}}
+\definecharacter greekupsilonpsilitonos {\uchar{31}{84}}
+\definecharacter greekupsilondasiatonos {\uchar{31}{85}}
+\definecharacter greekupsilonpsiliperispomeni {\uchar{31}{86}}
+\definecharacter greekupsilondasiaperispomeni {\uchar{31}{87}}
+\definecharacter greekUpsilondasia {\uchar{31}{89}}
+\definecharacter greekUpsilondasiavaria {\uchar{31}{91}}
+\definecharacter greekUpsilondasiatonos {\uchar{31}{93}}
+\definecharacter greekUpsilondasiaperispomeni {\uchar{31}{95}}
+\definecharacter greekomegapsili {\uchar{31}{96}} % 1f60
+\definecharacter greekomegadasia {\uchar{31}{97}}
+\definecharacter greekomegapsilivaria {\uchar{31}{98}}
+\definecharacter greekomegadasiavaria {\uchar{31}{99}}
+\definecharacter greekomegapsilitonos {\uchar{31}{100}}
+\definecharacter greekomegadasiatonos {\uchar{31}{101}}
+\definecharacter greekomegapsiliperispomeni {\uchar{31}{102}}
+\definecharacter greekomegadasiaperispomeni {\uchar{31}{103}}
+\definecharacter greekOmegapsili {\uchar{31}{104}}
+\definecharacter greekOmegadasia {\uchar{31}{105}}
+\definecharacter greekOmegapsilivaria {\uchar{31}{106}}
+\definecharacter greekOmegadasiavaria {\uchar{31}{107}}
+\definecharacter greekOmegapsilitonos {\uchar{31}{108}}
+\definecharacter greekOmegadasiatonos {\uchar{31}{109}}
+\definecharacter greekOmegapsiliperispomeni {\uchar{31}{110}}
+\definecharacter greekOmegadasiaperispomeni {\uchar{31}{111}}
+\definecharacter greekalphavaria {\uchar{31}{112}} % 1f70
+\definecharacter greekalphaoxia {\uchar{31}{113}}
+\definecharacter greekepsilonvaria {\uchar{31}{114}}
+\definecharacter greekepsilonoxia {\uchar{31}{115}}
+\definecharacter greeketavaria {\uchar{31}{116}}
+\definecharacter greeketaoxia {\uchar{31}{117}}
+\definecharacter greekiotavaria {\uchar{31}{118}}
+\definecharacter greekiotaoxia {\uchar{31}{119}}
+\definecharacter greekomicronvaria {\uchar{31}{120}}
+\definecharacter greekomicronoxia {\uchar{31}{121}}
+\definecharacter greekupsilonvaria {\uchar{31}{122}}
+\definecharacter greekupsilonoxia {\uchar{31}{123}}
+\definecharacter greekomegavaria {\uchar{31}{124}}
+\definecharacter greekomegaoxia {\uchar{31}{125}}
+\definecharacter greekalphaiotasubpsili {\uchar{31}{128}} % 1f80
+\definecharacter greekalphaiotasubdasia {\uchar{31}{129}}
+\definecharacter greekalphaiotasubpsilivaria {\uchar{31}{130}}
+\definecharacter greekalphaiotasubdasiavaria {\uchar{31}{131}}
+\definecharacter greekalphaiotasubpsilitonos {\uchar{31}{132}}
+\definecharacter greekalphaiotasubdasiatonos {\uchar{31}{133}}
+\definecharacter greekalphaiotasubpsiliperispomeni {\uchar{31}{134}}
+\definecharacter greekalphaiotasubdasiaperispomeni {\uchar{31}{135}}
+\definecharacter greekAlphaiotasubpsili {\uchar{31}{136}}
+\definecharacter greekAlphaiotasubdasia {\uchar{31}{137}}
+\definecharacter greekAlphaiotasubpsilivaria {\uchar{31}{138}}
+\definecharacter greekAlphaiotasubdasiavaria {\uchar{31}{139}}
+\definecharacter greekAlphaiotasubpsilitonos {\uchar{31}{140}}
+\definecharacter greekAlphaiotasubdasiatonos {\uchar{31}{141}}
+\definecharacter greekAlphaiotasubpsiliperispomeni {\uchar{31}{142}}
+\definecharacter greekAlphaiotasubdasiaperispomeni {\uchar{31}{143}}
+\definecharacter greeketaiotasubpsili {\uchar{31}{144}} % 1f90
+\definecharacter greeketaiotasubdasia {\uchar{31}{145}}
+\definecharacter greeketaiotasubpsilivaria {\uchar{31}{146}}
+\definecharacter greeketaiotasubdasiavaria {\uchar{31}{147}}
+\definecharacter greeketaiotasubpsilitonos {\uchar{31}{148}}
+\definecharacter greeketaiotasubdasiatonos {\uchar{31}{149}}
+\definecharacter greeketaiotasubpsiliperispomeni {\uchar{31}{150}}
+\definecharacter greeketaiotasubdasiaperispomeni {\uchar{31}{151}}
+\definecharacter greekEtaiotasubpsili {\uchar{31}{152}}
+\definecharacter greekEtaiotasubdasia {\uchar{31}{153}}
+\definecharacter greekEtaiotasubpsilivaria {\uchar{31}{154}}
+\definecharacter greekEtaiotasubdasiavaria {\uchar{31}{155}}
+\definecharacter greekEtaiotasubpsilitonos {\uchar{31}{156}}
+\definecharacter greekEtaiotasubdasiatonos {\uchar{31}{157}}
+\definecharacter greekEtaiotasubpsiliperispomeni {\uchar{31}{158}}
+\definecharacter greekEtaiotasubdasiaperispomeni {\uchar{31}{159}}
+\definecharacter greekomegaiotasubpsili {\uchar{31}{160}} % 1fa0
+\definecharacter greekomegaiotasubdasia {\uchar{31}{161}}
+\definecharacter greekomegaiotasubpsilivaria {\uchar{31}{162}}
+\definecharacter greekomegaiotasubdasiavaria {\uchar{31}{163}}
+\definecharacter greekomegaiotasubpsilitonos {\uchar{31}{164}}
+\definecharacter greekomegaiotasubdasiatonos {\uchar{31}{165}}
+\definecharacter greekomegaiotasubpsiliperispomeni {\uchar{31}{166}}
+\definecharacter greekomegaiotasubdasiaperispomeni {\uchar{31}{167}}
+\definecharacter greekOmegaiotasubpsili {\uchar{31}{168}}
+\definecharacter greekOmegaiotasubdasia {\uchar{31}{169}}
+\definecharacter greekOmegaiotasubpsilivaria {\uchar{31}{170}}
+\definecharacter greekOmegaiotasubdasiavaria {\uchar{31}{171}}
+\definecharacter greekOmegaiotasubpsilitonos {\uchar{31}{172}}
+\definecharacter greekOmegaiotasubdasiatonos {\uchar{31}{173}}
+\definecharacter greekOmegaiotasubpsiliperispomeni {\uchar{31}{174}}
+\definecharacter greekOmegaiotasubdasiaperispomeni {\uchar{31}{175}}
+\definecharacter greekalphavrachy {\uchar{31}{176}} % 1fb0
+\definecharacter greekalphamacron {\uchar{31}{177}}
+\definecharacter greekalphaiotasubvaria {\uchar{31}{178}}
+\definecharacter greekalphaiotasub {\uchar{31}{179}}
+\definecharacter greekalphaiotasubtonos {\uchar{31}{180}}
+\definecharacter greekalphaperispomeni {\uchar{31}{182}}
+\definecharacter greekalphaiotasubperispomeni {\uchar{31}{183}}
+\definecharacter greekAlphavrachy {\uchar{31}{184}}
+\definecharacter greekAlphamacron {\uchar{31}{185}}
+\definecharacter greekAlphavaria {\uchar{31}{186}}
+\definecharacter greekAlphatonos {\uchar{31}{187}}
+\definecharacter greekAlphaiotasub {\uchar{31}{188}}
+\definecharacter greekCoronis {\uchar{31}{189}}
+\definecharacter greekprosgegrammeni {\uchar{31}{190}}
+\definecharacter greekpsili {\uchar{31}{191}}
+\definecharacter greekperispomeni {\uchar{31}{192}} % 1fc0
+\definecharacter greekdialytikaperispomeni {\uchar{31}{193}}
+\definecharacter greeketaiotasubvaria {\uchar{31}{194}}
+\definecharacter greeketaiotasub {\uchar{31}{195}}
+\definecharacter greeketaiotasubtonos {\uchar{31}{196}}
+\definecharacter greeketaperispomeni {\uchar{31}{198}}
+\definecharacter greeketaiotasubperispomeni {\uchar{31}{199}}
+\definecharacter greekEpsilonvaria {\uchar{31}{200}}
+\definecharacter greekEpsilontonos {\uchar{31}{201}}
+\definecharacter greekEtavaria {\uchar{31}{202}}
+\definecharacter greekEtatonos {\uchar{31}{203}}
+\definecharacter greekEtaiotasub {\uchar{31}{204}}
+\definecharacter greekpsilivaria {\uchar{31}{205}}
+\definecharacter greekpsilitonos {\uchar{31}{206}}
+\definecharacter greekpsiliperispomeni {\uchar{31}{207}}
+\definecharacter greekiotavrachy {\uchar{31}{208}} % 1fd0
+\definecharacter greekiotamacron {\uchar{31}{209}}
+\definecharacter greekiotadialytikavaria {\uchar{31}{210}}
+\definecharacter greekiotadialytikatonos {\uchar{31}{211}}
+\definecharacter greekiotaperispomeni {\uchar{31}{214}}
+\definecharacter greekiotadialytikaperispomeni {\uchar{31}{215}}
+\definecharacter greekIotavrachy {\uchar{31}{216}}
+\definecharacter greekIotamacron {\uchar{31}{217}}
+\definecharacter greekIotavaria {\uchar{31}{218}}
+\definecharacter greekIotatonos {\uchar{31}{219}}
+\definecharacter greekdasiavaria {\uchar{31}{221}}
+\definecharacter greekdasiatonos {\uchar{31}{222}}
+\definecharacter greekdasiaperispomeni {\uchar{31}{223}}
+\definecharacter greekupsilonvrachy {\uchar{31}{224}} % 1fe0
+\definecharacter greekupsilonmacron {\uchar{31}{225}}
+\definecharacter greekupsilondialytikavaria {\uchar{31}{226}}
+\definecharacter greekupsilondialytikatonos {\uchar{31}{227}}
+\definecharacter greekrhopsili {\uchar{31}{228}}
+\definecharacter greekrhodasia {\uchar{31}{229}}
+\definecharacter greekupsilonperispomeni {\uchar{31}{230}}
+\definecharacter greekupsilondialytikaperispomeni {\uchar{31}{231}}
+\definecharacter greekUpsilonvrachy {\uchar{31}{232}}
+\definecharacter greekUpsilonmacron {\uchar{31}{233}}
+\definecharacter greekUpsilonvaria {\uchar{31}{234}}
+\definecharacter greekUpsilontonos {\uchar{31}{235}}
+\definecharacter greekRhodasia {\uchar{31}{236}}
+\definecharacter greekdialytikavaria {\uchar{31}{237}}
+\definecharacter greekdialytikatonos {\uchar{31}{238}}
+\definecharacter greekvaria {\uchar{31}{239}}
+\definecharacter greekomegaiotasubvaria {\uchar{31}{242}}
+\definecharacter greekomegaiotasub {\uchar{31}{243}}
+\definecharacter greekomegaiotasubtonos {\uchar{31}{244}}
+\definecharacter greekomegaperispomeni {\uchar{31}{246}}
+\definecharacter greekomegaiotasubperispomeni {\uchar{31}{247}}
+\definecharacter greekOmicronvaria {\uchar{31}{248}}
+\definecharacter greekOmicrontonos {\uchar{31}{249}}
+\definecharacter greekOmegavaria {\uchar{31}{250}}
+\definecharacter greekOmegatonos {\uchar{31}{251}}
+\definecharacter greekOmegaiotasub {\uchar{31}{252}}
+\definecharacter greekoxia {\uchar{31}{253}}
+\definecharacter greekdasia {\uchar{31}{254}}
+\definecharacter greeksigmalunate {\uchar3{242}}
+\definecharacter greekSigmalunate {\uchar3{249}}
+\definecharacter greeksampi {\uchar3{225}}
+\definecharacter greekdigamma {\uchar3{221}}
+\definecharacter greekstigma {\uchar3{219}}
+\definecharacter greeknumkoppa {\uchar3{223}}
+\definecharacter greekkoppa {\uchar3{217}}
+\definecharacter greekupsilondiaeresis {\uchar3{203}}
\stopencoding
@@ -775,7 +1023,33 @@
\startencoding[uc]
-\definecharacter hebrewAlef {\uchar5{"D0}} % 05D0 \definecharacter hebrewBet {\uchar5{"D1}} \definecharacter hebrewGimel {\uchar5{"D2}} \definecharacter hebrewDalet {\uchar5{"D3}} \definecharacter hebrewHe {\uchar5{"D4}} \definecharacter hebrewVav {\uchar5{"D5}} \definecharacter hebrewZayin {\uchar5{"D6}} \definecharacter hebrewHet {\uchar5{"D7}} \definecharacter hebrewTet {\uchar5{"D8}} \definecharacter hebrewYod {\uchar5{"D9}} \definecharacter hebrewKaffinal {\uchar5{"DA}} \definecharacter hebrewKaf {\uchar5{"DB}} \definecharacter hebrewLamed {\uchar5{"DC}} \definecharacter hebrewMemfinal {\uchar5{"DD}} \definecharacter hebrewMem {\uchar5{"DE}} \definecharacter hebrewNunfinal {\uchar5{"DF}} \definecharacter hebrewNun {\uchar5{"E0}} \definecharacter hebrewSamekh {\uchar5{"E1}} \definecharacter hebrewAyin {\uchar5{"E2}} \definecharacter hebrewPefinal {\uchar5{"E3}} \definecharacter hebrewPe {\uchar5{"E4}} \definecharacter hebrewTsadifinal {\uchar5{"E5}} \definecharacter hebrewTsadi {\uchar5{"E6}} \definecharacter hebrewQof {\uchar5{"E7}} \definecharacter hebrewResh {\uchar5{"E8}} \definecharacter hebrewShin {\uchar5{"E9}} \definecharacter hebrewTav {\uchar5{"EA}} % 05EA
+\definecharacter hebrewAlef {\uchar5{208}} % 05D0
+\definecharacter hebrewBet {\uchar5{209}}
+\definecharacter hebrewGimel {\uchar5{210}}
+\definecharacter hebrewDalet {\uchar5{211}}
+\definecharacter hebrewHe {\uchar5{212}}
+\definecharacter hebrewVav {\uchar5{213}}
+\definecharacter hebrewZayin {\uchar5{214}}
+\definecharacter hebrewHet {\uchar5{215}}
+\definecharacter hebrewTet {\uchar5{216}}
+\definecharacter hebrewYod {\uchar5{217}}
+\definecharacter hebrewKaffinal {\uchar5{218}}
+\definecharacter hebrewKaf {\uchar5{219}}
+\definecharacter hebrewLamed {\uchar5{220}}
+\definecharacter hebrewMemfinal {\uchar5{221}}
+\definecharacter hebrewMem {\uchar5{222}}
+\definecharacter hebrewNunfinal {\uchar5{223}}
+\definecharacter hebrewNun {\uchar5{224}}
+\definecharacter hebrewSamekh {\uchar5{225}}
+\definecharacter hebrewAyin {\uchar5{226}}
+\definecharacter hebrewPefinal {\uchar5{227}}
+\definecharacter hebrewPe {\uchar5{228}}
+\definecharacter hebrewTsadifinal {\uchar5{229}}
+\definecharacter hebrewTsadi {\uchar5{230}}
+\definecharacter hebrewQof {\uchar5{231}}
+\definecharacter hebrewResh {\uchar5{232}}
+\definecharacter hebrewShin {\uchar5{233}}
+\definecharacter hebrewTav {\uchar5{234}} % 05EA
\stopencoding
diff --git a/tex/context/base/font-arb.tex b/tex/context/base/font-arb.tex
index 59b7d6ca5..60afc43b5 100644
--- a/tex/context/base/font-arb.tex
+++ b/tex/context/base/font-arb.tex
@@ -48,7 +48,7 @@
%D A few (maybe too) simple hooks into the font mechanism. The
%D hook into the language module is not yet done.
-\unexpanded\def\setarabicfont#1%
+\unexpanded\def\setarabicfont#1% rscale
{\scratchdimen=1.2\bodyfontsize
\font\arbfont=\truefontname{Arabic#1} at \currentfontscale\scratchdimen
\setx@skels
@@ -57,12 +57,12 @@
%D Just to be compatible with Arab\TEX\ we define:
-\unexpanded\def\nash {\setarabicfont\s!Regular}
-\unexpanded\def\nashbf {\setarabicfont\s!Bold }
-\unexpanded\def\pnash {\setarabicfont\s!Regular}
-\unexpanded\def\pnashbf {\setarabicfont\s!Bold }
-\unexpanded\def\xnash {\setarabicfont\s!Regular}
-\unexpanded\def\xnashbf {\setarabicfont\s!Bold }
+\unexpanded\def\nash {\setarabicfont\s!Regular}
+\unexpanded\def\nashbf {\setarabicfont\s!Bold }
+\unexpanded\def\pnash {\setarabicfont\s!Regular}
+\unexpanded\def\pnashbf{\setarabicfont\s!Bold }
+\unexpanded\def\xnash {\setarabicfont\s!Regular}
+\unexpanded\def\xnashbf{\setarabicfont\s!Bold }
%D The display arabic environment (will be an installable
%D object) uses a few conditionals. Let's do it the
@@ -75,7 +75,7 @@
\def\setupARABTEXalternative[#1]%
{\dodoubleempty\getparameters[\??ARABTEX#1]}
-\def\defineARABTEXalternative%
+\def\defineARABTEXalternative
{\dodoubleempty\dodefineARABTEXalternative}
\def\dodefineARABTEXalternative[#1][#2]%
@@ -83,7 +83,7 @@
\getparameters
[\??ARABTEX#1]
[\c!before=,\c!after=,\c!inner=\setarab,
- \c!style=\setarabfont{Arabic\fontstylesuffix}, % evt ArabicRegular
+ \c!style=\setarabicfont{Arabic\fontstylesuffix}, % evt ArabicRegular
#2]%
\expandafter\all@wcmd\csname\e!stop#1\endcsname
\setvalue{\e!start#1}%
@@ -150,9 +150,9 @@
%D Some \LATEX\ macros.
-\def \makeatletter {\unprotect}
-\def \makeatother {\protect}
-\def \typeout #1{\writestatus{arabtex}{#1}}
+\def \makeatletter{\unprotect}
+\def \makeatother {\protect}
+\def \typeout {\writestatus{arabtex}}
%D We have to save some macros.
@@ -161,7 +161,7 @@
\def\startloadingARABTEX% ugly hacks
{\catcode`!=12
\catcode`?=12
- \pushmacro\output \let \output \scratchtokens
+ \pushmacro\output \let \output \scratchtoks
\pushmacro\LaTeX \let \LaTeX \undefined
\pushmacro\CJK \let \CJK \undefined
\pushmacro\year \let \year \normalyear
@@ -175,7 +175,7 @@
\pushmacro\emphasize
\pushmacro\cap}
-\def\stoploadingARABTEX%
+\def\stoploadingARABTEX
{\catcode`!=11
\catcode`?=11
\popmacro\cap
@@ -204,9 +204,8 @@
%D new meaning. We also redefine some \PLAIN\ macros, which
%D happen to have a different meaning in \LATEX.
-\let\ARABTEXversion=\theversion
-
-\let\ARABTEXcap=\cap
+\let\ARABTEXversion\theversion
+\let\ARABTEXcap \cap
\def\ARABTEXsh@ft#1%
{\dimen@.00#1ex
@@ -265,22 +264,22 @@
\defineARABTEXalternative
[arabic]
[\c!inner=\setarab,
- \c!style=\setarabfont\fontstylesuffix]
+ \c!style=\setarabicfont\fontstylesuffix]
\defineARABTEXalternative
[farsi]
[\c!inner=\setfarsi,
- \c!style=\setarabfont\fontstylesuffix]
+ \c!style=\setarabicfont\fontstylesuffix]
\defineARABTEXalternative
[urdu]
[\c!inner=\seturdu,
- \c!style=\setarabfont\fontstylesuffix]
+ \c!style=\setarabicfont\fontstylesuffix]
\defineARABTEXalternative
[maghribi]
[\c!inner=\setmaghribi,
- \c!style=\setarabfont\fontstylesuffix]
+ \c!style=\setarabicfont\fontstylesuffix]
%D Apart from such definitions, one can adapt the settings
%D using \type {\setupARABTEXalternative}.
diff --git a/tex/context/base/lang-grk.tex b/tex/context/base/lang-grk.tex
index 6dc38b1d6..cd83daddb 100644
--- a/tex/context/base/lang-grk.tex
+++ b/tex/context/base/lang-grk.tex
@@ -41,7 +41,7 @@
\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!logos=\greekLambda\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]
@@ -49,7 +49,7 @@
\setuplabeltext [\s!gr] [\v!intermezzo=\greekPi\greekalpha\greekupsilontonos\greeksigma\greeketa]
\setuplabeltext [\s!gr] [\v!graphic=\greekGamma\greekrho\greekalpha\greekphi\greekiota\greekkappa\greekomicrontonos]
-\setuplabeltext [\s!gr] [\v!chapter=\greekKappa\greekepsilon\greekphi\greekalphatonos\greeklamda\greekalpha\greekiota\greekomicron]
+\setuplabeltext [\s!gr] [\v!chapter=\greekKappa\greekepsilon\greekphi\greekalphatonos\greeklambda\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=]
@@ -63,10 +63,10 @@
\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!april=\greekAlpha\greekpi\greekrho\greekiotatonos\greeklambda\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!july=\greekIota\greekomicron\greekupsilontonos\greeklambda\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]
@@ -81,6 +81,6 @@
\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} {love}
+%D % \ShowAllLanguageValues [\s!gr] [\greekEpsilon\greeklambda\greeklambda\greeketa\greeknu\greekiota\greekkappa\greekalphatonos] {Greek} {love}
\protect \endinput
diff --git a/tex/context/base/mult-con.tex b/tex/context/base/mult-con.tex
index 72056cdef..a263cbaa3 100644
--- a/tex/context/base/mult-con.tex
+++ b/tex/context/base/mult-con.tex
@@ -50,6 +50,26 @@
cinque cinci
\stopvariables
+
+\startvariables dutch english
+ german czech
+ italian romanian
+
+ environment: omgeving environment
+ umgebung prostredi
+ ambiente mediu
+ component: onderdeel component
+ komponente komponenta
+ componente componenta
+ product: produkt product
+ produkt produkt
+ prodotto produs
+ project: project project
+ projekt projekt
+ progetto proiect
+
+\stopvariables
+
%D \stopcompressdefinitions
%D Of course we need the names of the months.
diff --git a/tex/context/base/page-flt.tex b/tex/context/base/page-flt.tex
index 963ef8d43..a02e755eb 100644
--- a/tex/context/base/page-flt.tex
+++ b/tex/context/base/page-flt.tex
@@ -191,7 +191,7 @@
% we're realy dealing with the float. Some day I'll root out
% the global settings.
-\def\docomplexplaatsblok[#1][#2]% [#3]#4%
+\def\docomplexplacefloat[#1][#2]% [#3]#4%
{\edef\floattype{#1}%
\doifelsenothing\floattype
{\let\floattype\v!figure}
@@ -199,9 +199,9 @@
\doifelsenothing{#2}
{\edef\floatlocation{\getvalue{\??fl\floattype\c!default}}}
{\edef\floatlocation{#2}}%
- \expanded{\dodocomplexplaatsblok[\floattype][\floatlocation]}}
+ \expanded{\dodocomplexplacefloat[\floattype][\floatlocation]}}
-\def\dodocomplexplaatsblok[#1][#2][#3]#4%
+\def\dodocomplexplacefloat[#1][#2][#3]#4%
{\flushnotes
\flushsidefloats % here !
\ifsomefloatwaiting
@@ -507,7 +507,7 @@
\def\docomplexstarttextblock[#1][#2][#3]%
{\flushnotes
\flushsidefloats % hoort eigenlijk niet hier
- \docomplexplaatsblok[#1][\v!text,#2,\v!left][#3]}
+ \docomplexplacefloat[#1][\v!text,#2,\v!left][#3]}
\def\docomplexreserveblock[#1][#2][#3][#4]#5%
{\getvalue{\e!place#1}[#3][#4]{#5}{\localframed[\??fl#1][#2]{#1}}}
@@ -521,7 +521,7 @@
\def\dodefinefloat[#1][#2][#3]% #1=naam #2=meervoud #3=parent
{\ifthirdargument
- \redodefinieerplaatsblok[#1][#2][#3]%
+ \redodefinefloat[#1][#2][#3]%
\else\ifsecondargument
\dododefinefloat[#1][#2]%
\else
@@ -602,18 +602,18 @@
\presetheadtext[#2=\Word{#2}]%
\setvalue {\e!place\e!listof#2}{\dodoubleempty\doplacelist[#1]}%
\setvalue {\e!complete\e!listof#2}{\dotripleempty\dodocompletelist[#1][#2]}%
- \setvalue {\e!place#1}{\dotripleempty\docomplexplaatsblok[#1]}%
- \setvalue {\e!reserve#1}{\doquadrupleempty\docomplexreserveblock[#1]}%
- \setvalue {\e!start#1\e!text}{\dotripleempty\docomplexstarttextblock[#1]}%
- \setvalue {\e!stop#1\e!text}{\dostoptextfloat}%
+ \setvalue {\e!place#1}{\dotripleempty\docomplexplacefloat[#1]}%
+ \setvalue {\e!reserve#1}{\doquadrupleempty\docomplexreserveblock[#1]}%
+ \setvalue {\e!start#1\e!text}{\dotripleempty\docomplexstarttextblock[#1]}%
+ \setvalue {\e!stop#1\e!text}{\dostoptextfloat}%
\setvalue{\e!start\e!reserve#1\e!text}{\doquadrupleempty\docomplexstartreservetextblock[#1]}%
\setvalue {\e!stop\e!reserve#1\e!text}{\dostoptextfloat}%
- \setvalue {\e!emptyone#1}{\doemptyblock{#1}}%
- \setvalue {\e!emptytwo#1}{\doemptyblock{#1}}}
+ \setvalue {\e!emptyone#1}{\doemptyblock{#1}}%
+ \setvalue {\e!emptytwo#1}{\doemptyblock{#1}}}
% \setupfloat[...][leftmargindistance=1cm,default={left,none}]
-\def\redodefinieerplaatsblok[#1][#2][#3]% same label/number
+\def\redodefinefloat[#1][#2][#3]% same label/number
{\presetlocalframed[\??fl#1]%
\copylocalframed[\??fl#1][\??fl#3]%
\copyparameters[\??fl#1][\??fl#3]
@@ -636,8 +636,8 @@
\presetlabeltext[#1=\labeltext{#3}]%
\dodefinefloatcommands[#1][#2]}
-\def\placefloat % \plaatsplaatsblok
- {\dotripleempty\docomplexplaatsblok}
+\def\placefloat
+ {\dotripleempty\docomplexplacefloat}
\installinsertion\topins \newdimen\topinserted
\installinsertion\botins \newdimen\botinserted
@@ -1406,7 +1406,7 @@
\raggedright
\putcompletecaption{#4}{#2}{#3}{1}}}
-\def\buildfloatbox
+\def\buildfloatbox % todo: installable, also vertical align caption relative to floatbox
{\global\setbox\floatbox\vbox
{\setlocalfloathsize
\forgetall
@@ -1503,16 +1503,12 @@
% {\hss \box\floatbox\hss }} % wel \hss, anders mis in colset
\def\postcenterfloatbox#1%
- {\ifinsidecolumns
- \ifpostponecolumnfloats
- \scratchdimen\makeupwidth
- \else
- \scratchdimen#1\relax
- \fi
+ {\scratchdimen \ifinsidecolumns
+ \ifpostponecolumnfloats\makeupwidth\else#1\fi
\else\ifdim#1>\hsize
- \scratchdimen\hsize
+ \hsize
\else
- \scratchdimen\wd\floatbox
+ \wd\floatbox
\fi\fi
\global\setbox\floatbox\hbox to \scratchdimen
% {\hfill\box\floatbox\hfill}} % geen \hss, gaat mis in kolommen !
diff --git a/tex/context/base/page-ini.tex b/tex/context/base/page-ini.tex
index 3d5812066..9f7fe60ed 100644
--- a/tex/context/base/page-ini.tex
+++ b/tex/context/base/page-ini.tex
@@ -1273,12 +1273,12 @@
\replicatepagebox \pagebox
\scalepagebox \pagebox
\mirrorpaperbox \pagebox
- \rotatepaperbox \pagebox
+ \orientpaperbox \pagebox
\addpagecolormarks \pagebox
\centerpagebox \pagebox
\addprintbackground\pagebox
\mirrorprintbox \pagebox
- \rotateprintbox \pagebox
+ \orientprintbox \pagebox
\shiftprintpagebox \pagebox % \v!page
\offsetprintbox \pagebox
\negateprintbox \pagebox
@@ -1312,7 +1312,7 @@
\addpagecolormarks#1%
\centerpagebox #1%
\mirrorprintbox #1%
- \rotateprintbox #1%
+ \orientprintbox #1%
\offsetprintbox #1%
\negateprintbox #1%
\fi}
diff --git a/tex/context/base/page-lay.tex b/tex/context/base/page-lay.tex
index 61c5ee736..1fac6fc99 100644
--- a/tex/context/base/page-lay.tex
+++ b/tex/context/base/page-lay.tex
@@ -297,10 +297,10 @@
%D We keep track of these features with the following
%D variables.
-\chardef\papermirror =0 \chardef\printmirror =0
-\chardef\paperrotation =0 \chardef\printrotation =0
-\chardef\paperreverse =0 \chardef\printreverse =0
-\chardef\paperlandscape=0 \chardef\printlandscape=0
+\chardef\papermirror =0 \chardef\printmirror =0
+\chardef\paperorientation=0 \chardef\printorientation=0
+\chardef\paperreverse =0 \chardef\printreverse =0
+\chardef\paperlandscape =0 \chardef\printlandscape =0
\let\papersize\empty \let\printpapersize\empty
@@ -356,8 +356,8 @@
\def\dododosetuppapersize[#1][#2]%
{\xdef\restorepapersize
{\noexpand\setuppapersize[#1][#2]}%
- \dostelpapierrichtingin{#1}\paperlandscape\paperrotation\paperreverse\papermirror
- \dostelpapierrichtingin{#2}\printlandscape\printrotation\printreverse\printmirror
+ \dosetuppaperorientation{#1}\paperlandscape\paperorientation\paperreverse\papermirror
+ \dosetuppaperorientation{#2}\printlandscape\printorientation\printreverse\printmirror
\def\docommando##1%
{\doifsomething{##1}{\doifdefined{\??pp##1\c!width}
{\global\paperwidth\getvalue{\??pp##1\c!width}%
@@ -374,10 +374,10 @@
\global\printpaperheight\getvalue{\??pp##1\c!height}%
\xdef\printpapersize{##1}}}}%
\processcommacommand[#2]\docommando
- \global\setdimentoatleast\paperwidth \onepoint
- \global\setdimentoatleast\paperheight \onepoint
- \global\setdimentoatleast\printpaperwidth\onepoint
- \global\setdimentoatleast\printpaperheight \onepoint
+ \global\setdimentoatleast\paperwidth \onepoint
+ \global\setdimentoatleast\paperheight \onepoint
+ \global\setdimentoatleast\printpaperwidth \onepoint
+ \global\setdimentoatleast\printpaperheight\onepoint
\ifcase\paperlandscape\else
\doglobal\swapdimens\paperwidth\paperheight
\fi
@@ -389,8 +389,8 @@
\doif\@@ppoption\v!max % \v!fit is
{\bgroup
% we need to pre-swap else we get the wrong paper size
- \doifinset\paperrotation{90,270}{\swapdimens\paperwidth\paperheight}%
- \doifinset\printrotation{90,270}{\swapdimens\printpaperwidth\printpaperheight}%
+ \doifinset\paperorientation{90,270}{\swapdimens\paperwidth\paperheight}%
+ \doifinset\printorientation{90,270}{\swapdimens\printpaperwidth\printpaperheight}%
\ifdim\paperheight>\printpaperheight
\global\printpaperheight\paperheight
\writestatus\m!systems{print height forced to paper height}%
@@ -401,7 +401,7 @@
\fi
\egroup}}
-\def\dostelpapierrichtingin#1#2#3#4#5%
+\def\dosetuppaperorientation#1#2#3#4#5%
{\global\chardef#2\zerocount
\global\chardef#5\zerocount
\globallet#3\!!zerocount
@@ -845,18 +845,18 @@
\unskip}%
\fi}
-\def\rotatepagebodybox#1#2#3%
+\def\orientpagebodybox#1#2#3%
{\ifnum#2#3>\zerocount
\setbox#1\vbox
{\edef\somerotation{\ifdubbelzijdig\ifodd\realpageno#2\else#3\fi\else#2\fi}%
\dorotatebox\somerotation\hbox{\box#1}}%
\fi}
-\def\rotatepaperbox#1%
- {\rotatepagebodybox{#1}\paperrotation\paperreverse}
+\def\orientpaperbox#1%
+ {\orientpagebodybox{#1}\paperorientation\paperreverse}
-\def\rotateprintbox#1%
- {\rotatepagebodybox{#1}\printrotation\printreverse}
+\def\orientprintbox#1%
+ {\orientpagebodybox{#1}\printorientation\printreverse}
\def\mirrorpagebodybox#1#2%
{\ifcase#2\or
diff --git a/tex/context/base/page-lyr.tex b/tex/context/base/page-lyr.tex
index 38b535d23..cbef613c7 100644
--- a/tex/context/base/page-lyr.tex
+++ b/tex/context/base/page-lyr.tex
@@ -412,18 +412,20 @@
\unexpanded\def\flushlayer[#1]%
{\doifelsevalue{\??ll#1\c!state}\v!next
- {\global\letvalue{\??ll#1\c!state}\v!start} % dangerous, stack-built-up
- {\doifelsevalue{\??ll#1\c!doublesided}\v!yes
- {\doifundefinedelse{\@@layerbox#1}%
- {\dodoflushlayerA[#1]}
- {\doifbothsidesoverruled
- \dodoflushlayerB\v!left [#1]% left
- \orsideone
- \dodoflushlayerB\v!right[#1]% right
- \orsidetwo
- \dodoflushlayerB\v!left [#1]% left
- \od}}
- {\dodoflushlayerA[#1]}}}
+ {\global\letvalue{\??ll#1\c!state}\v!start} % dangerous, stack-built-up
+ {\doifelsevalue{\??ll#1\c!state}\v!continue
+ {\global\letvalue{\??ll#1\c!state}\v!repeat} % dangerous, stack-built-up
+ {\doifelsevalue{\??ll#1\c!doublesided}\v!yes
+ {\doifundefinedelse{\@@layerbox#1}%
+ {\dodoflushlayerA[#1]}
+ {\doifbothsidesoverruled
+ \dodoflushlayerB\v!left [#1]% left
+ \orsideone
+ \dodoflushlayerB\v!right[#1]% right
+ \orsidetwo
+ \dodoflushlayerB\v!left [#1]% left
+ \od}}
+ {\dodoflushlayerA[#1]}}}}
\def\dodoflushlayerA[#1]%
{\doifnotvalue{\??ll#1\c!state}\v!stop
diff --git a/tex/context/base/page-mar.tex b/tex/context/base/page-mar.tex
index 91192cfab..64f565783 100644
--- a/tex/context/base/page-mar.tex
+++ b/tex/context/base/page-mar.tex
@@ -688,25 +688,6 @@
\fi
\endgroup}
-\beginETEX
-
- \def\setmargincontentpenalties
- {\xdef\restoreinterlinepenalty{\global\resetpenalties\interlinepenalties}%
- \getnoflines\margincontentheight
- \global\setpenalties\interlinepenalties\noflines\!!tenthousand}
-
-\endETEX
-
-\beginTEX
-
- \def\setmargincontentpenalties
- {\xdef\restoreinterlinepenalty
- {\global\let\restoreinterlinepenalty\relax
- \global\interlinepenalty=\the\interlinepenalty}% keep = here
- \global\interlinepenalty\!!tenthousand}
-
-\endTEX
-
% Yet undocumented, for a manual flush in for instance headers.
\def\resetmargincontent
diff --git a/tex/context/base/page-mul.tex b/tex/context/base/page-mul.tex
index 739e1f7b6..efeb81194 100644
--- a/tex/context/base/page-mul.tex
+++ b/tex/context/base/page-mul.tex
@@ -1578,11 +1578,11 @@
%
% probably more is needed, and how about nesting save's
%
- \savecurrentblanko
+ \savecurrentblank
\savecurrentwhitespace
\def\restorecolumnsettings
{\boxmaxdepth\maxdimen % done elsewhere
- \restorecurrentblanko
+ \restorecurrentblank
\restorecurrentwhitespace}%
%
\edef\fixedcolumnheight{\@@klheight}%
diff --git a/tex/context/base/page-run.tex b/tex/context/base/page-run.tex
index b9e280bcd..b44662d3c 100644
--- a/tex/context/base/page-run.tex
+++ b/tex/context/base/page-run.tex
@@ -38,10 +38,10 @@
\replicatepagebox0%
\scalepagebox0%
\mirrorpaperbox0%
- \rotatepaperbox0%
+ \orientpaperbox0%
\centerpagebox0%
\mirrorprintbox0%
- \rotateprintbox0%
+ \orientprintbox0%
\offsetprintbox0%
\pagegoal\dimen0
\box0}}
diff --git a/tex/context/base/page-set.tex b/tex/context/base/page-set.tex
index e6b51be42..78c2dd6b2 100644
--- a/tex/context/base/page-set.tex
+++ b/tex/context/base/page-set.tex
@@ -780,7 +780,7 @@
\ht\scratchbox\scratchskip
\fi
\OTRSETsavenotes
- \OTRSEThandleflushedtext0%
+ \OTRSEThandleflushedtext\zerocount
\ifdim\lastskipinotr>\zeropoint
%\vskip \lastskipinotr % hm, gets lost anyway
\else
@@ -830,7 +830,7 @@
\setbox\scratchbox\hbox
{\wd0\zeropoint\box0\box2}%
\dp\scratchbox\strutdp
- \OTRSEThandleflushedtext1
+ \OTRSEThandleflushedtext\plusone
\egroup}
\newcount\lastcolumnlastcell
diff --git a/tex/context/base/regi-grk.tex b/tex/context/base/regi-grk.tex
index 5d83de694..848a4aba5 100644
--- a/tex/context/base/regi-grk.tex
+++ b/tex/context/base/regi-grk.tex
@@ -27,7 +27,7 @@
\defineactivetoken 200 {\greekTheta}
\defineactivetoken 201 {\greekIota}
\defineactivetoken 202 {\greekKappa}
-\defineactivetoken 203 {\greekLamda}
+\defineactivetoken 203 {\greekLambda}
\defineactivetoken 204 {\greekMu}
\defineactivetoken 205 {\greekNu}
\defineactivetoken 206 {\greekXi}
@@ -56,7 +56,7 @@
\defineactivetoken 232 {\greektheta}
\defineactivetoken 233 {\greekiota}
\defineactivetoken 234 {\greekkappa}
-\defineactivetoken 235 {\greeklamda}
+\defineactivetoken 235 {\greeklambda}
\defineactivetoken 236 {\greekmu}
\defineactivetoken 237 {\greeknu}
\defineactivetoken 238 {\greekxi}
diff --git a/tex/context/base/supp-fun.tex b/tex/context/base/supp-fun.tex
index 185860f73..444e39fc7 100644
--- a/tex/context/base/supp-fun.tex
+++ b/tex/context/base/supp-fun.tex
@@ -121,107 +121,32 @@
\def\DroppedString%
{ABCDEFGHIJKLMNOPQRSTUVWXYZ}
-% \def\DroppedCaps#1#2#3#4#5#6#7%
-% {\ExpandBothAfter\doifinstringelse{#7}{\DroppedString} %
-% {\ifvmode % this one is \EveryPar save, precede by \par if needed
-% \vskip#6\baselineskip
-% \penalty-200
-% \vskip-#6\baselineskip
-% \fi
-% \ifhmode
-% \hskip-\parindent
-% \fi
-% \setbox0=\hbox
-% {\definedfont[#2 at #3]#1{#7}\hskip#4}%
-% \ifdim\dp0>\strutdp % one of those Q's , will be option
-% \setbox2=\hbox{\raise\dp0\hbox{\lower\strutdp\copy0}}%
-% \ht2=\ht0 \dp0=\strutdp \setbox0=\box2
-% \fi
-% \setbox0\hbox
-% {\lower#5\box0}%
-% \ht0\strutht
-% \dp0\strutdp
-% \edef\DroppedIndent{\the\wd0}%
-% \edef\DroppedLines {\number#6}%
-% \hangindent\DroppedIndent
-% \hangafter-\DroppedLines
-% \noindent
-% \hskip-\DroppedIndent
-% \vbox{\forgetall\box0}%
-% \nobreak
-% \ignorespaces} % Could be a one character word !
-% {\edef\DroppedIndent{0pt}%
-% \edef\DroppedLines {\number\maxdimen}%
-% #7}}
-
\let\globaldropcaps\global % will be an option, but on by default
\def\localdropcaps{\let\globaldropcaps\relax}
-\chardef\DroppedStatus=0 % 0=done 1=starting 2=doing 3=error
-
-% \def\DroppedCaps#1#2#3#4#5#6#7% does not yet handle accented chars
-% {\convertargument #7\to\asciia
-% \convertcommand \DroppedString\to\asciib
-% \ExpandBothAfter\doifinstringelse{\asciia}{\asciib}
-% {\ifvmode % this one is \EveryPar save, precede by \par if needed
-% \vskip#6\baselineskip
-% \penalty-200
-% \vskip-#6\baselineskip
-% \fi
-% \ifhmode
-% \hskip-\parindent
-% \fi
-% \setbox0\hbox
-% {\definedfont[#2 at #3]#1{#7}\hskip#4}%
-% \ifdim\dp0>\strutdp % one of those Q's , will be option
-% \setbox2\hbox{\raise\dp0\hbox{\lower\strutdp\copy0}}%
-% \ht2\ht0 \dp0\strutdp \setbox0\box2
-% \fi
-% \setbox0\hbox
-% {\lower#5\box0}%
-% \ht0\strutht
-% \dp0\strutdp
-% \globaldropcaps\edef\DroppedIndent{\the\wd0}%
-% \globaldropcaps\edef\DroppedLines {\number#6}%
-% \globaldropcaps\chardef\DroppedStatus2
-% \globaldropcaps\hangindent\DroppedIndent
-% \globaldropcaps\hangafter-\DroppedLines
-% \noindent
-% \hskip-\DroppedIndent
-% \vbox{\forgetall\box0}%
-% \nobreak
-% \let\next\ignorespaces} % Could be a one character word !
-% {\globaldropcaps\let\DroppedIndent\!!zeropoint
-% \globaldropcaps\edef\DroppedLines{\number\maxdimen}%
-% \globaldropcaps\chardef\DroppedStatus3
-% \def\next{#7}}%
-% \let\globaldropcaps\global
-% \next}
-
-\chardef\DropMode=0 % 1 == marginhang
+\chardef\DroppedStatus = 0 % 0=done 1=starting 2=doing 3=error
+\chardef\DropMode = 0 % 1 == marginhang
+
+\ifx\keeplinestogether\undefined
+ \let\keeplinestogether\gobbleoneargument
+\fi
\def\DroppedCaps#1#2#3#4#5#6#7% does not yet handle accented chars
{\convertargument #7\to\asciia
\convertcommand \DroppedString\to\asciib
\ExpandBothAfter\doifinstringelse\asciia\asciib
- {\ifvmode % this one is \EveryPar save, precede by \par if needed
- \vskip#6\baselineskip
- \penalty-200
- \vskip-#6\baselineskip
- \fi
- \ifhmode
- \hskip-\parindent
+ {\dontleavehmode
+ \ifhmode\hskip-\parindent\fi
+ \keeplinestogether{#6}%
+ \setbox0\hbox{\definedfont[#2 at #3]#1{#7}\hskip#4}%
+ \ifdim\dp0>\strutdp % one of those Q's , will be option
+ \setbox2\hbox{\raise\dp0\hbox{\lower\strutdp\copy0}}%
+ \ht2\ht0
+ \dp0\strutdp
+ \setbox0\box2
\fi
\setbox0\hbox
- {\definedfont[#2 at #3]#1{#7}\hskip#4}%
- \ifdim\dp0>\strutdp % one of those Q's , will be option
- \setbox2\hbox{\raise\dp0\hbox{\lower\strutdp\copy0}}%
- \ht2\ht0
- \dp0\strutdp
- \setbox0\box2
- \fi
- \setbox0\hbox
{\ifnum\DropMode=\plusone
\hskip-\wd0\wd0\zeropoint
\fi
@@ -231,11 +156,11 @@
\ifnum\DropMode=\plusone
\globaldropcaps\let\DroppedIndent\!!zeropoint
\globaldropcaps\edef\DroppedLines{\number\maxdimen}%
- \globaldropcaps\chardef\DroppedStatus3
+ \globaldropcaps\chardef\DroppedStatus\plusthree
\else
\globaldropcaps\edef\DroppedIndent{\the\wd0}%
\globaldropcaps\edef\DroppedLines {\number#6}%
- \globaldropcaps\chardef\DroppedStatus2
+ \globaldropcaps\chardef\DroppedStatus\plustwo
\globaldropcaps\hangindent\DroppedIndent
\globaldropcaps\hangafter-\DroppedLines
\noindent
@@ -246,7 +171,7 @@
\let\next\ignorespaces} % Could be a one character word !
{\globaldropcaps\let\DroppedIndent\!!zeropoint
\globaldropcaps\edef\DroppedLines{\number\maxdimen}%
- \globaldropcaps\chardef\DroppedStatus3
+ \globaldropcaps\chardef\DroppedStatus\plusthree
\def\next{#7}}%
\let\globaldropcaps\global
\next}
@@ -308,6 +233,10 @@
\let\AutoDroppedNext\relax
+\ifx\AutoDroppedCapsCommand\undefined
+ \def\AutoDroppedCapsCommand{\NiceDroppedCaps{}{SerifBold}{.125em}{3}}
+\fi
+
\def\doAutoDroppedCaps
{\ifcase\DroppedStatus % done
\let\next\relax
@@ -316,7 +245,7 @@
% \globaldropcaps\chardef\DroppedStatus=3 % and inhibits dropped
% \let\next\relax % caps after titles and more than once
% \else % so let's nill this rubishly code fragment
- \def\next{\NiceDroppedCaps{}{\@@dcfont}{.125em}{\@@dcn}}%
+ \let\next\AutoDroppedCapsCommand
% \fi % and hope for the best
\or % doing
\global\advance\droppedlines \lastprevgraf
diff --git a/tex/context/base/syst-new.tex b/tex/context/base/syst-new.tex
index eef4dda5c..cf9c25484 100644
--- a/tex/context/base/syst-new.tex
+++ b/tex/context/base/syst-new.tex
@@ -284,7 +284,7 @@
% {\minimaxskip{\dimen2}}
%
% \def\maximizespacing%
-% {\maximizeskip\blankoskipamount
+% {\maximizeskip\blankskipamount
% \maximizeskip\parskip
% \maximizeskip\ctxparskip
% \maximizeskip\baselineskip
diff --git a/tex/context/base/type-enc.tex b/tex/context/base/type-enc.tex
index 217e0e074..75485af10 100644
--- a/tex/context/base/type-enc.tex
+++ b/tex/context/base/type-enc.tex
@@ -1016,7 +1016,7 @@
% \definefontsynonym [AntykwaTorunska-Italic] [\typescriptthree-anttri] [encoding=\typescriptthree]
% \stoptypescript
-\starttypescript [serif] [antykwa-torunska,antykwa-torunska-light,antykwa-torunska-cond,antykwa-torunska-lightcond] [texnansi,t2a,t2b,t2c,qx]
+\starttypescript [serif] [antykwa-torunska,antykwa-torunska-light,antykwa-torunska-cond,antykwa-torunska-lightcond] [texnansi,qx,t5,t2a,t2b,t2c]
\definefontsynonym [AntykwaTorunska-Bold] [\typescriptthree-anttb] [encoding=\typescriptthree]
\definefontsynonym [AntykwaTorunska-BoldItalic] [\typescriptthree-anttbi] [encoding=\typescriptthree]
\definefontsynonym [AntykwaTorunska-Light] [\typescriptthree-anttl] [encoding=\typescriptthree]
@@ -1035,7 +1035,7 @@
\definefontsynonym [AntykwaTorunska-CondItalic] [\typescriptthree-anttcri] [encoding=\typescriptthree]
\stoptypescript
-\starttypescript [serif] [antykwa-torunska,antykwa-torunska-light,antykwa-torunska-cond,antykwa-torunska-lightcond] [texnansi,qx]
+\starttypescript [serif] [antykwa-torunska,antykwa-torunska-light,antykwa-torunska-cond,antykwa-torunska-lightcond] [texnansi,qx,t5]
\definefontsynonym [AntykwaTorunska-BoldCap] [\typescriptthree-anttbcap] [encoding=\typescriptthree]
\definefontsynonym [AntykwaTorunska-BoldItalicCap] [\typescriptthree-anttbicap] [encoding=\typescriptthree]
\definefontsynonym [AntykwaTorunska-LightCap] [\typescriptthree-anttlcap] [encoding=\typescriptthree]
@@ -1089,6 +1089,8 @@
\definefontsynonym [AntykwaTorunska-CondItalicCap] [cork-anttcricap] [encoding=ec]
\stoptypescript
+% duplicates ? ?
+
\starttypescript [serif] [antykwa-torunska,antykwa-torunska-light,antykwa-torunska-cond,antykwa-torunska-lightcond] [t2a,t2b,t2c]
\definefontsynonym [AntykwaTorunska-BoldCap] [\typescriptthree-anttb] [encoding=\typescriptthree]
\definefontsynonym [AntykwaTorunska-BoldItalicCap] [\typescriptthree-anttbi] [encoding=\typescriptthree]
diff --git a/tex/context/base/type-map.tex b/tex/context/base/type-map.tex
index fdfb02f7e..b441e7094 100644
--- a/tex/context/base/type-map.tex
+++ b/tex/context/base/type-map.tex
@@ -132,7 +132,7 @@
% \loadmapfile[\typescriptthree-public-antt.map]
% \stoptypescript
-\starttypescript [map] [antykwa-torunska,antykwa-torunska-light,antykwa-torunska-cond,antykwa-torunska-lightcond] [texnansi,t2a,t2b,t2c,qx]
+\starttypescript [map] [antykwa-torunska,antykwa-torunska-light,antykwa-torunska-cond,antykwa-torunska-lightcond] [texnansi,qx,t5,t2a,t2b,t2c]
\loadmapfile[\typescriptthree-antt.map]
\stoptypescript
diff --git a/tex/context/base/unic-003.tex b/tex/context/base/unic-003.tex
index 74f556fc9..94137dc1c 100644
--- a/tex/context/base/unic-003.tex
+++ b/tex/context/base/unic-003.tex
@@ -14,7 +14,22 @@
\unprotect
\startunicodevector 3
- \ifcase\numexpr(#1-145)
+ \ifcase\numexpr(#1-132) % keep space
+ % special greek
+ \strippedcsname \greektonos \or
+ \strippedcsname \greekdialytikatonos \or
+ \strippedcsname \greekAlphatonos \or
+ \strippedcsname \greekanoteleia \or
+ \strippedcsname \greekEpsilontonos \or
+ \strippedcsname \greekEtatonos \or
+ \strippedcsname \greekIotatonos \or
+ \strippedcsname \unknownchar \or
+ \strippedcsname \greekOmicrontonos \or
+ \strippedcsname \unknownchar \or
+ \strippedcsname \greekUpsilontonos \or
+ \strippedcsname \greekOmegatonos \or
+ \strippedscname \greekiotadialytikatonos \or
+ % normal greek
\strippedcsname \greekAlpha \or
\strippedcsname \greekBeta \or
\strippedcsname \greekGamma \or
@@ -32,42 +47,56 @@
\strippedcsname \greekOmicron \or
\strippedcsname \greekPi \or
\strippedcsname \greekRho \or
- \strippedcsname \greekFinalSigma\or
+ \strippedcsname \unknownchar \or
\strippedcsname \greekSigma \or
\strippedcsname \greekTau \or
\strippedcsname \greekUpsilon \or
\strippedcsname \greekPhi \or
\strippedcsname \greekChi \or
\strippedcsname \greekPsi \or
- \strippedcsname \greekOmega \else
- \ifcase\numexpr(#1-177)
- \strippedcsname \greekalpha \or
- \strippedcsname \greekbeta \or
- \strippedcsname \greekgamma \or
- \strippedcsname \greekdelta \or
- \strippedcsname \greekepsilon \or
- \strippedcsname \greekzeta \or
- \strippedcsname \greeketa \or
- \strippedcsname \greektheta \or
- \strippedcsname \greekiota \or
- \strippedcsname \greekkappa \or
- \strippedcsname \greeklambda \or
- \strippedcsname \greekmu \or
- \strippedcsname \greeknu \or
- \strippedcsname \greekxi \or
- \strippedcsname \greekomicron \or
- \strippedcsname \greekpi \or
- \strippedcsname \greekrho \or
- \strippedcsname \unknownchar \or
- \strippedcsname \greeksigma \or
- \strippedcsname \greektau \or
- \strippedcsname \greekupsilon \or
- \strippedcsname \greekphi \or
- \strippedcsname \greekchi \or
- \strippedcsname \greekpsi \or
- \strippedcsname \greekomega \else
+ \strippedcsname \greekOmega \or
+ % special greek
+ \strippedcsname \greekIotadialytika \or
+ \strippedcsname \greekUpsilondialytika \or
+ \strippedcsname \greekalphatonos \or
+ \strippedcsname \greekepsilontonos \or
+ \strippedcsname \greeketatonos \or
+ \strippedcsname \greekiotatonos \or
+ \strippedcsname \greekupsilondialytikatonos \or
+ % normal greek
+ \strippedcsname \greekalpha \or
+ \strippedcsname \greekbeta \or
+ \strippedcsname \greekgamma \or
+ \strippedcsname \greekdelta \or
+ \strippedcsname \greekepsilon \or
+ \strippedcsname \greekzeta \or
+ \strippedcsname \greeketa \or
+ \strippedcsname \greektheta \or
+ \strippedcsname \greekiota \or
+ \strippedcsname \greekkappa \or
+ \strippedcsname \greeklambda \or
+ \strippedcsname \greekmu \or
+ \strippedcsname \greeknu \or
+ \strippedcsname \greekxi \or
+ \strippedcsname \greekomicron \or
+ \strippedcsname \greekpi \or
+ \strippedcsname \greekrho \or
+ \strippedcsname \greekfinalsigma \or
+ \strippedcsname \greeksigma \or
+ \strippedcsname \greektau \or
+ \strippedcsname \greekupsilon \or
+ \strippedcsname \greekphi \or
+ \strippedcsname \greekchi \or
+ \strippedcsname \greekpsi \or
+ \strippedcsname \greekomega \or
+ % special greek
+ \strippedcsname \greekiotadialytika \or
+ \strippedcsname \greekupsilondialytika \or
+ \strippedcsname \greekomicrontonos \or
+ \strippedcsname \greekupsilontonos \or
+ \strippedcsname \greeekomegatonos \else
\strippedcsname \unknownchar
- \fi\fi
+ \fi
\stopunicodevector
\protect \endinput
diff --git a/tex/context/base/unic-031.tex b/tex/context/base/unic-031.tex
new file mode 100644
index 000000000..0bb574688
--- /dev/null
+++ b/tex/context/base/unic-031.tex
@@ -0,0 +1,284 @@
+%D \module
+%D [ file=unic-031,
+%D version=2005.02.20,
+%D title=\CONTEXT\ \UNICODE\ Macros,
+%D subtitle=Vector 31,
+%D author=Thomas A. Schmitz,
+%D date=\currentdate]
+
+\unprotect
+
+\startunicodevector 31
+ \expandafter\strippedcsname
+ \ifcase\numexpr(#1+1) % space needed, terminates expr
+ \unknownchar \or
+ \greekalphapsili \or %1f00
+ \greekalphadasia \or
+ \greekalphapsilivaria \or
+ \greekalphadasiavaria \or
+ \greekalphapsilitonos \or
+ \greekalphadasiatonos \or
+ \greekalphapsiliperispomeni \or
+ \greekalphadasiaperispomeni \or
+ \greekAlphapsili \or
+ \greekAlphadasia \or
+ \greekAlphapsilivaria \or
+ \greekAlphadasiavaria \or
+ \greekAlphapsilitonos \or
+ \greekAlphadasiatonos \or
+ \greekAlphapsiliperispomeni \or
+ \greekAlphadasiaperispomeni \or
+ \greekepsilonpsili \or %1f10
+ \greekepsilondasia \or
+ \greekepsilonpsilivaria \or
+ \greekepsilondasiavaria \or
+ \greekepsilonpsilitonos \or
+ \greekepsilondasiatonos \or
+ \unknownchar \or
+ \unknownchar \or
+ \greekEpsilonpsili \or
+ \greekEpsilondasia \or
+ \greekEpsilonpsilivaria \or
+ \greekEpsilondasiavaria \or
+ \greekEpsilonpsilitonos \or
+ \greekEpsilondasiatonos \or
+ \unknownchar \or
+ \unknownchar \or
+ \greeketapsili \or %1f20
+ \greeketadasia \or
+ \greeketapsilivaria \or
+ \greeketadasiavaria \or
+ \greeketapsilitonos \or
+ \greeketadasiatonos \or
+ \greeketapsiliperispomeni \or
+ \greeketadasiaperispomeni \or
+ \greekEtapsili \or
+ \greekEtadasia \or
+ \greekEtapsilivaria \or
+ \greekEtadasiavaria \or
+ \greekEtapsilitonos \or
+ \greekEtadasiatonos \or
+ \greekEtapsiliperispomeni \or
+ \greekEtadasiaperispomeni \or
+ \greekiotapsili \or %1f30
+ \greekiotadasia \or
+ \greekiotapsilivaria \or
+ \greekiotadasiavaria \or
+ \greekiotapsilitonos \or
+ \greekiotadasiatonos \or
+ \greekiotapsiliperispomeni \or
+ \greekiotadasiaperispomeni \or
+ \greekIotapsili \or
+ \greekIotadasia \or
+ \greekIotapsilivaria \or
+ \greekIotadasiavaria \or
+ \greekIotapsilitonos \or
+ \greekIotadasiatonos \or
+ \greekIotapsiliperispomeni \or
+ \greekIotadasiaperispomeni \or
+ \greekomicronpsili \or %1f40
+ \greekomicrondasia \or
+ \greekomicronpsilivaria \or
+ \greekomicrondasiavaria \or
+ \greekomicronpsilitonos \or
+ \greekomicrondasiatonos \or
+ \unknownchar \or
+ \unknownchar \or
+ \greekOmicronpsili \or
+ \greekOmicrondasia \or
+ \greekOmicronpsilivaria \or
+ \greekOmicrondasiavaria \or
+ \greekOmicronpsilitonos \or
+ \greekOmicrondasiatonos \or
+ \unknownchar \or
+ \unknownchar \or
+ \greekupsilonpsili \or %1f50
+ \greekupsilondasia \or
+ \greekupsilonpsilivaria \or
+ \greekupsilondasiavaria \or
+ \greekupsilonpsilitonos \or
+ \greekupsilondasiatonos \or
+ \greekupsilonpsiliperispomeni \or
+ \greekupsilondasiaperispomeni \or
+ \unknownchar \or
+ \greekUpsilondasia \or
+ \unknownchar \or
+ \greekUpsilondasiavaria \or
+ \unknownchar \or
+ \greekUpsilondasiatonos \or
+ \unknownchar \or
+ \greekUpsilondasiaperispomeni \or
+ \greekomegapsili \or %1f60
+ \greekomegadasia \or
+ \greekomegapsilivaria \or
+ \greekomegadasiavaria \or
+ \greekomegapsilitonos \or
+ \greekomegadasiatonos \or
+ \greekomegapsiliperispomeni \or
+ \greekomegadasiaperispomeni \or
+ \greekOmegapsili \or
+ \greekOmegadasia \or
+ \greekOmegapsilivaria \or
+ \greekOmegadasiavaria \or
+ \greekOmegapsilitonos \or
+ \greekOmegadasiatonos \or
+ \greekOmegapsiliperispomeni \or
+ \greekOmegadasiaperispomeni \or
+ \greekalphavaria \or %1f70
+ \greekalphaoxia \or
+ \greekepsilonvaria \or
+ \greekepsilonoxia \or
+ \greeketavaria \or
+ \greeketaoxia \or
+ \greekiotavaria \or
+ \greekiotaoxia \or
+ \greekomicronvaria \or
+ \greekomicronoxia \or
+ \greekupsilonvaria \or
+ \greekupsilonoxia \or
+ \greekomegavaria \or
+ \greekomegaoxia \or
+ \unknownchar \or
+ \unknownchar \or
+ \greekalphaiotasubpsili \or %1f80
+ \greekalphaiotasubdasia \or
+ \greekalphaiotasubpsilivaria \or
+ \greekalphaiotasubdasiavaria \or
+ \greekalphaiotasubpsilitonos \or
+ \greekalphaiotasubdasiatonos \or
+ \greekalphaiotasubpsiliperispomeni \or
+ \greekalphaiotasubdasiaperispomeni \or
+ \greekAlphaiotasubpsili \or
+ \greekAlphaiotasubdasia \or
+ \greekAlphaiotasubpsilivaria \or
+ \greekAlphaiotasubdasiavaria \or
+ \greekAlphaiotasubpsilitonos \or
+ \greekAlphaiotasubdasiatonos \or
+ \greekAlphaiotasubpsiliperispomeni \or
+ \greekAlphaiotasubdasiaperispomeni \or
+ \greeketaiotasubpsili \or %1f90
+ \greeketaiotasubdasia \or
+ \greeketaiotasubpsilivaria \or
+ \greeketaiotasubdasiavaria \or
+ \greeketaiotasubpsilitonos \or
+ \greeketaiotasubdasiatonos \or
+ \greeketaiotasubpsiliperispomeni \or
+ \greeketaiotasubdasiaperispomeni \or
+ \greekEtaiotasubpsili \or
+ \greekEtaiotasubdasia \or
+ \greekEtaiotasubpsilivaria \or
+ \greekEtaiotasubdasiavaria \or
+ \greekEtaiotasubpsilitonos \or
+ \greekEtaiotasubdasiatonos \or
+ \greekEtaiotasubpsiliperispomeni \or
+ \greekEtaiotasubdasiaperispomeni \or
+ \greekomegaiotasubpsili \or %1fa0
+ \greekomegaiotasubdasia \or
+ \greekomegaiotasubpsilivaria \or
+ \greekomegaiotasubdasiavaria \or
+ \greekomegaiotasubpsilitonos \or
+ \greekomegaiotasubdasiatonos \or
+ \greekomegaiotasubpsiliperispomeni \or
+ \greekomegaiotasubdasiaperispomeni \or
+ \greekOmegaiotasubpsili \or
+ \greekOmegaiotasubdasia \or
+ \greekOmegaiotasubpsilivaria \or
+ \greekOmegaiotasubdasiavaria \or
+ \greekOmegaiotasubpsilitonos \or
+ \greekOmegaiotasubdasiatonos \or
+ \greekOmegaiotasubpsiliperispomeni \or
+ \greekOmegaiotasubdasiaperispomeni \or
+ \greekalphavrachy \or %1fb0
+ \greekalphamacron \or
+ \greekalphaiotasubvaria \or
+ \greekalphaiotasub \or
+ \greekalphaiotasubtonos \or
+ \unknownchar \or
+ \greekalphaperispomeni \or
+ \greekalphaiotasubperispomeni \or
+ \greekAlphavrachy \or
+ \greekAlphamacron \or
+ \greekAlphavaria \or
+ \greekAlphaoxia \or
+ \greekAlphaiotasub \or
+ \greekCoronis \or
+ \greekprosgegrammeni \or
+ \greekpsili \or
+ \greekperispomeni \or %1fc0
+ \greekdialytikaperispomeni \or
+ \greeketaiotasubvaria \or
+ \greeketaiotasub \or
+ \greeketaiotasubtonos \or
+ \unknownchar \or
+ \greeketaperispomeni \or
+ \greeketaiotasubperispomeni \or
+ \greekEpsilonvaria \or
+ \greekEpsilonoxia \or
+ \greekEtavaria \or
+ \greekEtaoxia \or
+ \greekEtaiotasub \or
+ \greekpsilivaria \or
+ \greekpsilitonos \or
+ \greekpsiliperispomeni \or
+ \greekiotavrachy \or %1fd0
+ \greekiotamacron \or
+ \greekiotadialytikavaria \or
+ \greekiotadialytikatonos \or
+ \unknownchar \or
+ \unknownchar \or
+ \greekiotaperispomeni \or
+ \greekiotadialytikaperispomeni \or
+ \greekIotavrachy \or
+ \greekIotamacron \or
+ \greekIotavaria \or
+ \greekIotaoxia \or
+ \unknownchar \or
+ \greekdasiavaria \or
+ \greekdasiatonos \or
+ \greekdasiaperispomeni \or
+ \greekupsilonvrachy \or %1fe0
+ \greekupsilonmacron \or
+ \greekupsilondialytikavaria \or
+ \greekupsilondialytikatonos \or
+ \greekrhopsili \or
+ \greekrhodasia \or
+ \greekupsilonperispomeni \or
+ \greekupsilondialytikaperispomeni \or
+ \greekUpsilonvrachy \or
+ \greekUpsilonmacron \or
+ \greekUpsilonvaria \or
+ \greekUpsilonoxia \or
+ \greekRhodasia \or
+ \greekdialytikavaria \or
+ \greekdialytikaoxia \or
+ \greekvaria \or
+ \unknownchar \or %1ff0
+ \unknownchar \or
+ \greekomegaiotasubvaria \or
+ \greekomegaiotasub \or
+ \greekomegaiotasubtonos \or
+ \unknownchar \or
+ \greekomegaperispomeni \or
+ \greekomegaiotasubperispomeni \or
+ \greekOmicronvaria \or
+ \greekOmicronoxia \or
+ \greekOmegavaria \or
+ \greekOmegaoxia \or
+ \greekOmegaiotasub \or
+ \greekoxia \or
+ \greekdasia \else
+ \unknownchar
+ \fi
+\stopunicodevector
+
+\protect \endinput
+
+
+
+
+
+
+
+
+
+
diff --git a/tex/context/base/unic-exp.tex b/tex/context/base/unic-exp.tex
index 38c8a7eec..17bdaef06 100644
--- a/tex/context/base/unic-exp.tex
+++ b/tex/context/base/unic-exp.tex
@@ -59,10 +59,26 @@
\@@unknownchar
\fi\fi}
+% or:
+%
+% \def\doutfunihash#1#2%
+% {\csname
+% \ifcsname\@@univector\@@univector\number#1\endcsname
+% \@@univector\@@univector\number#1%
+% \else\ifcsname\@@univector\number#1\endcsname
+% \@@univector#1%
+% \else
+% \strippedcsname\noutfunihash
+% \fi\fi
+% \endcsname{\utfmod{#2}}}
+%
+% \def\noutfunihash#1%
+% {\unknowncharacter}
+
\let\utfunihash\utfunihashglyph
%D Let's use it:
-\expandunivector[0,1,2,3,4,5,30,32,33]
+\expandunivector[0,1,2,3,4,5,30,31,32,33]
\protect \endinput
diff --git a/tex/context/base/unic-ini.tex b/tex/context/base/unic-ini.tex
index 70a1777e8..e7f479d65 100644
--- a/tex/context/base/unic-ini.tex
+++ b/tex/context/base/unic-ini.tex
@@ -487,7 +487,7 @@
\fi
\startunicodevector 254
- \expandafter\strippedcsname\ifnum#1<255\unknownchar\else\zwnbsp\fi
+ \expandafter\strippedcsname\ifnum#1<255 \unknownchar\else\zwnbsp\fi
\stopunicodevector
%D Here we provide another auxiliary macro:
@@ -583,4 +583,6 @@
\useunicodevector[0,1,2,3,4,5,30,32,33] \useregime[utf]
+% 31, text mem usage first
+
\protect \endinput
diff --git a/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml
index 4a127c09d..c060a3b36 100644
--- a/tex/context/interface/keys-cz.xml
+++ b/tex/context/interface/keys-cz.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.02.15">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.02.23">
<cd:variables>
<cd:variable name="one" value="jedna"/>
@@ -11,6 +11,13 @@
</cd:variables>
<cd:variables>
+ <cd:variable name="environment" value="prostredi"/>
+ <cd:variable name="component" value="komponenta"/>
+ <cd:variable name="product" value="produkt"/>
+ <cd:variable name="project" value="projekt"/>
+ </cd:variables>
+
+ <cd:variables>
<cd:variable name="sunday" value="nedele"/>
<cd:variable name="monday" value="pondeli"/>
<cd:variable name="tuesday" value="utery"/>
diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml
index d36caa062..336e75170 100644
--- a/tex/context/interface/keys-de.xml
+++ b/tex/context/interface/keys-de.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.02.15">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.02.23">
<cd:variables>
<cd:variable name="one" value="eins"/>
@@ -11,6 +11,13 @@
</cd:variables>
<cd:variables>
+ <cd:variable name="environment" value="umgebung"/>
+ <cd:variable name="component" value="komponente"/>
+ <cd:variable name="product" value="produkt"/>
+ <cd:variable name="project" value="projekt"/>
+ </cd:variables>
+
+ <cd:variables>
<cd:variable name="sunday" value="sonntag"/>
<cd:variable name="monday" value="montag"/>
<cd:variable name="tuesday" value="dienstag"/>
diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml
index b2adc88a0..6c7ef2235 100644
--- a/tex/context/interface/keys-en.xml
+++ b/tex/context/interface/keys-en.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.02.15">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.02.23">
<cd:variables>
<cd:variable name="one" value="one"/>
@@ -11,6 +11,13 @@
</cd:variables>
<cd:variables>
+ <cd:variable name="environment" value="environment"/>
+ <cd:variable name="component" value="component"/>
+ <cd:variable name="product" value="product"/>
+ <cd:variable name="project" value="project"/>
+ </cd:variables>
+
+ <cd:variables>
<cd:variable name="sunday" value="sunday"/>
<cd:variable name="monday" value="monday"/>
<cd:variable name="tuesday" value="tuesday"/>
diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml
index 6a17ff71b..a1e4f51aa 100644
--- a/tex/context/interface/keys-it.xml
+++ b/tex/context/interface/keys-it.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.02.15">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.02.23">
<cd:variables>
<cd:variable name="one" value="uno"/>
@@ -11,6 +11,13 @@
</cd:variables>
<cd:variables>
+ <cd:variable name="environment" value="ambiente"/>
+ <cd:variable name="component" value="componente"/>
+ <cd:variable name="product" value="prodotto"/>
+ <cd:variable name="project" value="progetto"/>
+ </cd:variables>
+
+ <cd:variables>
<cd:variable name="sunday" value="domenica"/>
<cd:variable name="monday" value="lunedi"/>
<cd:variable name="tuesday" value="martedi"/>
diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml
index b558c3c80..f0b2d0acf 100644
--- a/tex/context/interface/keys-nl.xml
+++ b/tex/context/interface/keys-nl.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.02.15">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.02.23">
<cd:variables>
<cd:variable name="one" value="een"/>
@@ -11,6 +11,13 @@
</cd:variables>
<cd:variables>
+ <cd:variable name="environment" value="omgeving"/>
+ <cd:variable name="component" value="onderdeel"/>
+ <cd:variable name="product" value="produkt"/>
+ <cd:variable name="project" value="project"/>
+ </cd:variables>
+
+ <cd:variables>
<cd:variable name="sunday" value="zondag"/>
<cd:variable name="monday" value="maandag"/>
<cd:variable name="tuesday" value="dinsdag"/>
diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml
index 29bc8ee47..c88a91cea 100644
--- a/tex/context/interface/keys-ro.xml
+++ b/tex/context/interface/keys-ro.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.02.15">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.02.23">
<cd:variables>
<cd:variable name="one" value="unu"/>
@@ -11,6 +11,13 @@
</cd:variables>
<cd:variables>
+ <cd:variable name="environment" value="mediu"/>
+ <cd:variable name="component" value="componenta"/>
+ <cd:variable name="product" value="produs"/>
+ <cd:variable name="project" value="proiect"/>
+ </cd:variables>
+
+ <cd:variables>
<cd:variable name="sunday" value="duminica"/>
<cd:variable name="monday" value="luni"/>
<cd:variable name="tuesday" value="marti"/>
diff --git a/web2c/context.cnf b/web2c/context.cnf
index b2095d1e3..0a957eea6 100644
--- a/web2c/context.cnf
+++ b/web2c/context.cnf
@@ -147,6 +147,7 @@ save_size.context = 50000
stack_size.context = 10000
string_vacancies.context = 90000
trie_size.context = 250000
+hyph_size.context = 1000
main_memory.mpost = 3000000
pool_size.mpost = 3000000