diff options
author | Hans Hagen <pragma@wxs.nl> | 2006-04-10 20:04:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2006-04-10 20:04:00 +0200 |
commit | 179243cbf50610eceed2704e4b3e4372d8462683 (patch) | |
tree | 57b2e6e35322fa0361a236e9fa965b6a71162a5a | |
parent | 6d33823d5817378ce39b53563438a533de0efbe7 (diff) | |
download | context-179243cbf50610eceed2704e4b3e4372d8462683.tar.gz |
stable 2006.04.10 20:04
31 files changed, 1433 insertions, 842 deletions
diff --git a/scripts/context/perl/mptopdf.pl b/scripts/context/perl/mptopdf.pl index 767d2d260..b5d4bc15d 100644 --- a/scripts/context/perl/mptopdf.pl +++ b/scripts/context/perl/mptopdf.pl @@ -37,91 +37,118 @@ my $PassOn = '' ; "passon" => \$PassOn, "latex" => \$Latex ) ; -my $program = "MPtoPDF 1.3" ; +my $program = "MPtoPDF 1.3.2" ; my $pattern = "@ARGV" ; # was $ARGV[0] +my $miktex = 0 ; my $done = 0 ; my $report = '' ; my $texlatexswitch = " --tex=latex --format=latex " ; my $mplatexswitch = " --tex=latex " ; my $dosish = ($Config{'osname'} =~/^(ms)?dos|^os\/2|^mswin/i) ; -my $miktex = ($ENV{"TEXSYSTEM"} =~ /miktex/io); -my $escapeshell = ( ($ENV{'SHELL'}) && ($ENV{'SHELL'} =~ m/sh/i )); +my $escapeshell = (($ENV{'SHELL'}) && ($ENV{'SHELL'} =~ m/sh/i )); + +if ($ENV{"TEXSYSTEM"}) { + $miktex = ($ENV{"TEXSYSTEM"} =~ /miktex/io) ; +} my @files ; my $command = my $mpbin = '' ; -sub CopyFile # agressive copy, works for open files like in gs - { my ($From,$To) = @_ ; - return unless open(INP,"<$From") ; binmode INP ; - return unless open(OUT,">$To") ; binmode OUT ; - while (<INP>) { print OUT $_ } +# agressive copy, works for open files like in gs + +sub CopyFile { + my ($From,$To) = @_ ; + return unless open(INP,"<$From") ; + return unless open(OUT,">$To") ; + binmode INP ; + binmode OUT ; + while (<INP>) { + print OUT $_ ; + } close (INP) ; - close (OUT) } - -if (($pattern eq '')||($Help)) - { print "\n$program : provide MP output file (or pattern)\n" ; - exit } -elsif ($pattern =~ /\.mp$/io) - { shift @ARGV ; my $rest = join(" ", @ARGV) ; - if (open(INP,$pattern)) - { while (<INP>) - { if (/(documentstyle|documentclass|begin\{document\})/io) - { $Latex = 1 ; last } } - close (INP) } - if ($RawMP) - { if ($Latex) - { $rest .= " $mplatexswitch" } + close (OUT) ; +} + +if (($pattern eq '')||($Help)) { + print "\n$program : provide MP output file (or pattern)\n" ; + exit ; +} elsif ($pattern =~ /\.mp$/io) { + shift @ARGV ; my $rest = join(" ", @ARGV) ; + if (open(INP,$pattern)) { + while (<INP>) { + if (/(documentstyle|documentclass|begin\{document\})/io) { + $Latex = 1 ; last ; + } + } + close (INP) ; + } + if ($RawMP) { + if ($Latex) { + $rest .= " $mplatexswitch" ; + } if ($MetaFun) { $mpbin = 'mpost --progname=mpost --mem=metafun' ; } else { $mpbin = 'mpost --mem=mpost' ; } + } else { + if ($Latex) { + $rest .= " $texlatexswitch" ; + } + $mpbin = 'texexec --mptex $PassOn' ; } - else - { if ($Latex) - { $rest .= " $texlatexswitch" } - $mpbin = 'texexec --mptex $PassOn' } + print "\n$program : running '$command'" ; my $error = system ("$mpbin $rest $pattern") ; - if ($error) - { print "\n$program : error while processing mp file\n" ; exit } - else - { $pattern =~ s/\.mp$//io ; - @files = glob "$pattern.*" } } -elsif (-e $pattern) - { @files = ($pattern) } -elsif ($pattern =~ /.\../o) - { @files = glob "$pattern" } -else - { $pattern .= '.*' ; - @files = glob "$pattern" } - -foreach my $file (@files) - { $_ = $file ; - if (s/\.(\d+|mps)$// && -e $file) - { if ($miktex) - { $command = "pdfetex -undump=mptopdf" } - else - { $command = "pdfetex -fmt=mptopdf -progname=context" } - if ($dosish) - { $command = "$command \\relax $file" } - else - { $command = "$command \\\\relax $file" } + if ($error) { + print "\n$program : error while processing mp file\n" ; + exit ; + } else { + $pattern =~ s/\.mp$//io ; + @files = glob "$pattern.*" ; + } +} elsif (-e $pattern) { + @files = ($pattern) ; +} elsif ($pattern =~ /.\../o) { + @files = glob "$pattern" ; +} else { + $pattern .= '.*' ; + @files = glob "$pattern" ; +} + +foreach my $file (@files) { + $_ = $file ; + if (s/\.(\d+|mps)$// && -e $file) { + if ($miktex) { + $command = "pdfetex -undump=mptopdf" ; + } else { + $command = "pdfetex -fmt=mptopdf -progname=context" ; + } + if ($dosish) { + $command = "$command \\relax $file" ; + } else { + $command = "$command \\\\relax $file" ; + } system($command) ; - # rename ("$_.pdf", "$_-$1.pdf") ; - # if (-e "$_.pdf") { CopyFile ("$_.pdf", "$_-$1.pdf") } my $pdfsrc = basename($_).".pdf"; rename ($pdfsrc, "$_-$1.pdf") ; - if (-e $pdfsrc) { CopyFile ($pdfsrc, "$_-$1.pdf") } - # end of patch - if ($done) { $report .= " +" } + if (-e $pdfsrc) { + CopyFile ($pdfsrc, "$_-$1.pdf") ; + } + if ($done) { + $report .= " +" ; + } $report .= " $_-$1.pdf" ; - ++$done } } + ++$done ; + } +} -if ($report eq '') - { $report = '*' } +if ($report eq '') { + $report = '*' ; +} -if ($done) - { print "\n$program : $pattern is converted to$report\n" } -else - { print "\n$program : no filename matches $pattern\n" } +if ($done) { + print "\n$program : $pattern is converted to$report\n" ; +} else { + print "\n$program : no filename matches $pattern\n" ; +} diff --git a/scripts/context/ruby/base/tex.rb b/scripts/context/ruby/base/tex.rb index 700150055..0d1e01b95 100644 --- a/scripts/context/ruby/base/tex.rb +++ b/scripts/context/ruby/base/tex.rb @@ -125,6 +125,7 @@ class TEX 'nomapfiles', 'local', 'arrange', 'noarrange', 'forcexml', 'foxet', +'alpha', 'beta', 'mpyforce', 'forcempy', 'forcetexutil', 'texutil', 'globalfile', 'autopath', @@ -447,6 +448,9 @@ class TEX end def makeformats + + checktestversion + report("using search method '#{Kpse.searchmethod}'") if getvariable('fast') then report('using existing database') @@ -1036,7 +1040,40 @@ class TEX end end + def checktestversion + # + # one can set TEXMFALPHA and TEXMFBETA for test versions + # but keep in mind that the format as well as the test files + # then need the --alpha or --beta flag + # + done, tree = false, '' + ['alpha', 'beta'].each do |what| + if getvariable(what) then + if ENV["TEXMF#{what.upcase}"] then + done, tree = true, ENV["TEXMF#{what.upcase}"] + elsif ENV["TEXMFLOCAL"] then + done, tree = true, File.join(File.dirname(ENV['TEXMFLOCAL']), "texmf-#{what}") + end + end + break if done + end + if done then + tree = tree.strip + ENV['TEXMFPROJECT'] = tree + report("using test tree '#{tree}'") + ['MP', 'MF', 'TX'].each do |ctx| + ENV['CTXDEV#{ctx}PATH'] = '' + end + unless (FileTest.file?(File.join(tree,'ls-r')) || FileTest.file?(File.join(tree,'ls-R'))) then + report("no ls-r/ls-R file for tree '#{tree}' (run: mktexlsr #{tree})") + end + end + # puts `kpsewhich --expand-path=$TEXMF` + # exit + end + def runtex(filename) +checktestversion texengine = validtexengine(getvariable('texengine')) texformat = validtexformat(getarrayvariable('texformats').first) progname = validprogname(getvariable('progname')) @@ -1054,6 +1091,7 @@ class TEX end def runmp(filename,mpx=false) +checktestversion mpsengine = validmpsengine(getvariable('mpsengine')) mpsformat = validmpsformat(getarrayvariable('mpsformats').first) progname = validprogname(getvariable('progname')) @@ -1070,6 +1108,7 @@ class TEX end def runtexmp(filename,filetype='') +checktestversion mpfile = File.suffixed(filename,filetype,'mp') if File.atleast?(mpfile,25) then # first run needed @@ -1087,6 +1126,7 @@ class TEX end def runtexmpjob(filename,filetype='') +checktestversion mpfile = File.suffixed(filename,filetype,'mp') if File.atleast?(mpfile,25) && (data = File.silentread(mpfile)) then textranslation = if data =~ /^\%\s+translate.*?\=([\w\d\-]+)/io then $1 else '' end @@ -1191,6 +1231,7 @@ class TEX def processfile takeprecautions + # checktestversion report("using search method '#{Kpse.searchmethod}'") if getvariable('verbose') diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex index 785955e4c..b94f54ce4 100644 --- a/tex/context/base/cont-new.tex +++ b/tex/context/base/cont-new.tex @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2006.04.09 22:25} +\newcontextversion{2006.04.10 20:04} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new @@ -26,6 +26,17 @@ \writestatus{\m!systems}{beware: some patches loaded from cont-new.tex} +% todo +% +% \def\definelocation{\dodoubleargument\dodefinelocation} +% \def\dodefinelocation[#1][#2]{\setvalue{loc:#1}{#2}} +% +% \definelocation[lt] [\v!left\v!top] +% \definelocation[tl] [\v!left\v!top] +% \definelocation[\v!top\v!left][\v!left\v!top] +% +% \def\getlocation#1{\executeifdefined{loc:#1}{#1}} + \def\convertencodedtokens{\stringifyencodedtokens} % test case: @@ -1462,16 +1473,6 @@ % documentation : \setupregister[alternative=a|b|A|B] -\def\pushXMLmeaning#1% - {\@EA\pushmacro\csname\@@XMLelement:#1/\endcsname - \@EA\pushmacro\csname\@@XMLelement:#1\endcsname - \@EA\pushmacro\csname\@@XMLelement:/#1\endcsname} - -\def\popXMLmeaning#1% - {\@EA\popmacro\csname\@@XMLelement:#1/\endcsname - \@EA\popmacro\csname\@@XMLelement:#1\endcsname - \@EA\popmacro\csname\@@XMLelement:/#1\endcsname} - \def\defineXMLstore {\doquadrupleargument\dodefineXMLstore[\saveXMLasdata]} \def\defineXMLgstore{\doquadrupleargument\dodefineXMLstore[\gsaveXMLasdata]} diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex index 4775af74c..30070c479 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{2006.04.09 22:25} +\def\contextversion{2006.04.10 20:04} %D For those who want to use this: @@ -185,6 +185,7 @@ \input filt-ini.tex \input hand-ini.tex \input regi-ini.tex +\input regi-syn.tex \input lang-ini.tex \input lang-ctx.tex \input lang-dis.tex % after lang-ctx ! diff --git a/tex/context/base/core-mat.tex b/tex/context/base/core-mat.tex index 139a25d3a..72c4eef79 100644 --- a/tex/context/base/core-mat.tex +++ b/tex/context/base/core-mat.tex @@ -300,7 +300,7 @@ {\def\leftdisplayskip{\zeropoint}% \def\rightdisplayskip{\zeropoint}}% % this was an experiment - \doif{\formulaparameter\c!margin}% so we test first + \doifsomething{\formulaparameter\c!margin}% so we test first {\dosetleftskipadaption{\formulaparameter\c!margin}% \edef\leftdisplaymargin{\the\leftskipadaption}}% overloaded \long\def\dostartformula##1{\bgroup\let\dostopformula\egroup}% diff --git a/tex/context/base/core-ntb.tex b/tex/context/base/core-ntb.tex index aa0436c32..cf42272e7 100644 --- a/tex/context/base/core-ntb.tex +++ b/tex/context/base/core-ntb.tex @@ -286,16 +286,26 @@ \setupTABLE[\v!row][\maximumrow][#1]} \long\def\parseTD[#1][#2]#3\eTD % [#2] is dummy that kills spaces - {\getparameters[\@@tbl][\c!ny=\tblnr,\c!nx=\tblnc,nc=1,nr=1,\c!n=\currentcol,#1]% - % goto first cell % NEW, n=cellnumber + {\getparameters[\@@tbl][\c!ny=\tblnr,\c!nx=\tblnc,nc=1,nr=1,\c!n=\currentcol,\c!m=,#1]% + % goto first cell % NEW, n/m=cellnumber \increment\currentcolpos \doifvaluesomething{\@@tbl\c!n} {\ifnum\getvalue{\@@tbl\c!n}=\currentcol\else \scratchcounter\getvalue{\@@tbl\c!n}% \advance\scratchcounter-\currentcol \advance\scratchcounter\minusone - \expanded{\parseTD[\c!nx=\the\scratchcounter][]}\eTD - \getparameters[\@@tbl][\c!ny=\tblnr,\c!nx=\tblnc,nc=1,nr=1,\c!n=\currentcol,#1]% + \ifnum\scratchcounter>\zerocount + \expanded{\parseTD[\c!nx=\the\scratchcounter,\c!n=,\c!m=,*sq=\v!no][]}\eTD + \fi + \getparameters[\@@tbl][\c!ny=\tblnr,\c!nx=\tblnc,nc=1,nr=1,#1,\c!n=,\c!m=]% + \fi}% + \doifvaluesomething{\@@tbl\c!m} + {\ifnum\getvalue{\@@tbl\c!m}=\currentcol\else + \scratchcounter\getvalue{\@@tbl\c!m}% + \advance\scratchcounter-\currentcol + \advance\scratchcounter\minusone + \dorecurse\scratchcounter{\expanded{\parseTD[\c!n=,\c!m=][]}\eTD}% + \getparameters[\@@tbl][\c!ny=\tblnr,\c!nx=\tblnc,nc=1,nr=1,#1,\c!n=,\c!m=]% \fi}% \doloop {\increment\currentcol @@ -326,6 +336,26 @@ \edef\celltag{{\maximumrow}{\currentcol}}% \@EA\settbltxt\@EA\maximumrow\@EA\currentcol\@EA {\@EA\handleTBLcell\celltag[#1]{#3}}} + +%D The usage of n and m: +%D +%D \startbuffer +%D \bTABLE[width=3em] +%D \bTR\bTD d1 \eTD\bTD[n=2] d2 \eTD\bTD[n=5] d5 \eTD\bTD[n=7] d7 \eTD\eTR +%D \bTR\bTD f1 \eTD\bTD[n=4] f4 \eTD\bTD[n=5] f5 \eTD\bTD[n=7] f7 \eTD\eTR +%D \eTABLE +%D \stopbuffer +%D +%D \typebuffer \getbuffer +%D +%D \startbuffer +%D \bTABLE[width=3em] +%D \bTR\bTD d1 \eTD\bTD[m=2] d2 \eTD\bTD[m=5] d5 \eTD\bTD[m=7] d7 \eTD\eTR +%D \bTR\bTD f1 \eTD\bTD[m=4] f4 \eTD\bTD[m=5] f5 \eTD\bTD[m=7] f7 \eTD\eTR +%D \eTABLE +%D \stopbuffer +%D +%D \typebuffer \getbuffer \long\def\parseTH[#1]#2\eTH {\parseTD[#1,\c!color=\tbltblheadcolor,\c!style=\tbltblheadstyle,\c!aligncharacter=\v!no]#2\eTD} @@ -1229,7 +1259,9 @@ \scratchdimen\gettblwid\colTBL\relax \ifdim\wd\scratchbox>\scratchdimen \ifsqueezeTBLspan +\doifnotvalue{\@@tbl*sq}\v!no{% \ifnum0\number\gettblcol{#1}{#2}>1\relax \settblspn\colTBL \fi +}% \fi \doifelsetblspn\colTBL \donothing{\settblwid\colTBL{\the\wd\scratchbox}}% auto set diff --git a/tex/context/base/enco-def.tex b/tex/context/base/enco-def.tex index 460be8f44..2f48550d2 100644 --- a/tex/context/base/enco-def.tex +++ b/tex/context/base/enco-def.tex @@ -697,13 +697,44 @@ \definecharacter cyrillicq {q} \definecharacter cyrillicw {w} +\definecharacter cyrillicGJE {\'\cyrillicG} +\definecharacter cyrillicgje {\'\cyrillicg} +\definecharacter cyrillicKJE {\'\cyrillicK} +\definecharacter cyrillickje {\'\cyrillick} + \stopencoding %D Hebrew: \startencoding[default] -\definecharacter hebrewAlef {'}
\definecharacter hebrewBet {b}
\definecharacter hebrewGimel {g}
\definecharacter hebrewDalet {d}
\definecharacter hebrewHe {h}
\definecharacter hebrewVav {w}
\definecharacter hebrewZayin {z}
\definecharacter hebrewHet {\hstroke}
\definecharacter hebrewTet {\tcedilla}
\definecharacter hebrewYod {y}
\definecharacter hebrewKaffinal {k}
\definecharacter hebrewKaf {k}
\definecharacter hebrewLamed {l}
\definecharacter hebrewMemfinal {m}
\definecharacter hebrewMem {m}
\definecharacter hebrewNunfinal {n}
\definecharacter hebrewNun {n}
\definecharacter hebrewSamekh {s}
\definecharacter hebrewAyin {\gdotaccent}
\definecharacter hebrewPefinal {p}
\definecharacter hebrewPe {p}
\definecharacter hebrewTsadifinal {\scedilla}
\definecharacter hebrewTsadi {\scedilla}
\definecharacter hebrewQof {q}
\definecharacter hebrewResh {r}
\definecharacter hebrewShin {\scaron}
\definecharacter hebrewTav {th} +\definecharacter hebrewAlef {'} +\definecharacter hebrewBet {b} +\definecharacter hebrewGimel {g} +\definecharacter hebrewDalet {d} +\definecharacter hebrewHe {h} +\definecharacter hebrewVav {w} +\definecharacter hebrewZayin {z} +\definecharacter hebrewHet {\hstroke} +\definecharacter hebrewTet {\tcedilla} +\definecharacter hebrewYod {y} +\definecharacter hebrewKaffinal {k} +\definecharacter hebrewKaf {k} +\definecharacter hebrewLamed {l} +\definecharacter hebrewMemfinal {m} +\definecharacter hebrewMem {m} +\definecharacter hebrewNunfinal {n} +\definecharacter hebrewNun {n} +\definecharacter hebrewSamekh {s} +\definecharacter hebrewAyin {\gdotaccent} +\definecharacter hebrewPefinal {p} +\definecharacter hebrewPe {p} +\definecharacter hebrewTsadifinal {\scedilla} +\definecharacter hebrewTsadi {\scedilla} +\definecharacter hebrewQof {q} +\definecharacter hebrewResh {r} +\definecharacter hebrewShin {\scaron} +\definecharacter hebrewTav {th} \stopencoding diff --git a/tex/context/base/meta-ini.tex b/tex/context/base/meta-ini.tex index 2fcd74718..f9e3cf3e2 100644 --- a/tex/context/base/meta-ini.tex +++ b/tex/context/base/meta-ini.tex @@ -1006,6 +1006,14 @@ _special_div_ := 1000\ifconditional\manyMPspecials0\fi ; \to \MPextensions +%D Needed: + +\prependtoks + \resetlanguagespecifics +\to \everyMPgraphic + +% Done. + \protect \endinput %D Experimental: diff --git a/tex/context/base/regi-cyr.tex b/tex/context/base/regi-cyr.tex index 134cc5728..1e84b9cba 100644 --- a/tex/context/base/regi-cyr.tex +++ b/tex/context/base/regi-cyr.tex @@ -11,10 +11,10 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -%D Here are input regimes for cyrillic encodings: +%D Here are additional input regimes for cyrillic encodings others than cp1251 +%D and iso-8859-5: %D %D \startitemize -%D \item windows %D \item two variants of dos %D \item three variants of koi-8 for *nix: russian, %D ukrainian and mixed @@ -24,139 +24,6 @@ %D Other, not so popular regimes, can be found in \type %D {regi-cy2}. -\startregime[cp1251] - -\defineactivetoken 192 {\cyrillicA} -\defineactivetoken 193 {\cyrillicB} -\defineactivetoken 194 {\cyrillicV} -\defineactivetoken 195 {\cyrillicG} -\defineactivetoken 196 {\cyrillicD} -\defineactivetoken 197 {\cyrillicE} -\defineactivetoken 198 {\cyrillicZH} -\defineactivetoken 199 {\cyrillicZ} -\defineactivetoken 200 {\cyrillicI} -\defineactivetoken 201 {\cyrillicISHRT} -\defineactivetoken 202 {\cyrillicK} -\defineactivetoken 203 {\cyrillicL} -\defineactivetoken 204 {\cyrillicM} -\defineactivetoken 205 {\cyrillicN} -\defineactivetoken 206 {\cyrillicO} -\defineactivetoken 207 {\cyrillicP} -\defineactivetoken 208 {\cyrillicR} -\defineactivetoken 209 {\cyrillicS} -\defineactivetoken 210 {\cyrillicT} -\defineactivetoken 211 {\cyrillicU} -\defineactivetoken 212 {\cyrillicF} -\defineactivetoken 213 {\cyrillicH} -\defineactivetoken 214 {\cyrillicC} -\defineactivetoken 215 {\cyrillicCH} -\defineactivetoken 216 {\cyrillicSH} -\defineactivetoken 217 {\cyrillicSHCH} -\defineactivetoken 218 {\cyrillicHRDSN} -\defineactivetoken 219 {\cyrillicERY} -\defineactivetoken 220 {\cyrillicSFTSN} -\defineactivetoken 221 {\cyrillicEREV} -\defineactivetoken 222 {\cyrillicYU} -\defineactivetoken 223 {\cyrillicYA} -\defineactivetoken 224 {\cyrillica} -\defineactivetoken 225 {\cyrillicb} -\defineactivetoken 226 {\cyrillicv} -\defineactivetoken 227 {\cyrillicg} -\defineactivetoken 228 {\cyrillicd} -\defineactivetoken 229 {\cyrillice} -\defineactivetoken 230 {\cyrilliczh} -\defineactivetoken 231 {\cyrillicz} -\defineactivetoken 232 {\cyrillici} -\defineactivetoken 233 {\cyrillicishrt} -\defineactivetoken 234 {\cyrillick} -\defineactivetoken 235 {\cyrillicl} -\defineactivetoken 236 {\cyrillicm} -\defineactivetoken 237 {\cyrillicn} -\defineactivetoken 238 {\cyrillico} -\defineactivetoken 239 {\cyrillicp} -\defineactivetoken 240 {\cyrillicr} -\defineactivetoken 241 {\cyrillics} -\defineactivetoken 242 {\cyrillict} -\defineactivetoken 243 {\cyrillicu} -\defineactivetoken 244 {\cyrillicf} -\defineactivetoken 245 {\cyrillich} -\defineactivetoken 246 {\cyrillicc} -\defineactivetoken 247 {\cyrillicch} -\defineactivetoken 248 {\cyrillicsh} -\defineactivetoken 249 {\cyrillicshch} -\defineactivetoken 250 {\cyrillichrdsn} -\defineactivetoken 251 {\cyrillicery} -\defineactivetoken 252 {\cyrillicsftsn} -\defineactivetoken 253 {\cyrillicerev} -\defineactivetoken 254 {\cyrillicyu} -\defineactivetoken 255 {\cyrillicya} -\defineactivetoken 128 {\cyrillicDJE} -\defineactivetoken 129 {\'\cyrillicG} -\defineactivetoken 130 {\lowerleftsingleninequote} -\defineactivetoken 131 {\'\cyrillicg} -\defineactivetoken 132 {\lowerleftdoubleninequote} -\defineactivetoken 133 {\textellipsis} -\defineactivetoken 134 {\textdag} -\defineactivetoken 135 {\textddag} -\defineactivetoken 136 {\texteuro} -\defineactivetoken 137 {\perthousand} -\defineactivetoken 138 {\cyrillicLJE} -\defineactivetoken 139 {\leftsubguillemot} -\defineactivetoken 140 {\cyrillicNJE} -\defineactivetoken 141 {\'\cyrillicK} -\defineactivetoken 142 {\cyrillicTSHE} -\defineactivetoken 143 {\cyrillicDZHE} -\defineactivetoken 144 {\cyrillicdje} -\defineactivetoken 145 {\upperleftsinglesixquote} -\defineactivetoken 146 {\upperrightsingleninequote} -\defineactivetoken 147 {\upperleftdoublesixquote} -\defineactivetoken 148 {\upperrightdoubleninequote} -\defineactivetoken 149 {\textbullet} -\defineactivetoken 150 {\endash} -\defineactivetoken 151 {\emdash} -\defineactivetoken 152 {\unknownchar} -\defineactivetoken 153 {\trademark} -\defineactivetoken 154 {\cyrilliclje} -\defineactivetoken 155 {\rightsubguillemot} -\defineactivetoken 156 {\cyrillicnje} -\defineactivetoken 157 {\'\cyrillick} -\defineactivetoken 158 {\cyrillictshe} -\defineactivetoken 159 {\cyrillicdzhe} -\defineactivetoken 160 {\nonbreakablespace} -\defineactivetoken 161 {\cyrillicUSHRT} -\defineactivetoken 162 {\cyrillicushrt} -\defineactivetoken 163 {\cyrillicJE} -\defineactivetoken 164 {\textcurrency} -\defineactivetoken 165 {\cyrillicGUP} -\defineactivetoken 166 {\textbrokenbar} -\defineactivetoken 167 {\sectionmark} -\defineactivetoken 168 {\cyrillicYO} -\defineactivetoken 169 {\copyright} -\defineactivetoken 170 {\cyrillicIE} -\defineactivetoken 171 {\leftguillemot} -\defineactivetoken 173 {\hyphen} -\defineactivetoken 174 {\registered} -\defineactivetoken 175 {\cyrillicYI} -\defineactivetoken 176 {\textdegree} -\defineactivetoken 178 {\cyrillicII} -\defineactivetoken 179 {\cyrillicii} -\defineactivetoken 180 {\cyrillicgup} -\defineactivetoken 182 {\paragraphmark} -\defineactivetoken 183 {\periodcentered} -\defineactivetoken 184 {\cyrillicyo} -\defineactivetoken 185 {\textnumero} -\defineactivetoken 186 {\cyrillicie} -\defineactivetoken 187 {\rightguillemot} -\defineactivetoken 188 {\cyrillicje} -\defineactivetoken 189 {\cyrillicDZE} -\defineactivetoken 190 {\cyrillicdze} -\defineactivetoken 191 {\cyrillicyi} -\defineactivetoken 172 {\textlognot} -\defineactivetoken 177 {\textpm} -\defineactivetoken 181 {\textmu} - -\stopregime - \startregime[cp866] \defineactivetoken 128 {\cyrillicA} diff --git a/tex/context/base/regi-ini.tex b/tex/context/base/regi-ini.tex index c13f054b9..679730d40 100644 --- a/tex/context/base/regi-ini.tex +++ b/tex/context/base/regi-ini.tex @@ -37,8 +37,8 @@ \protect % \useregime[def,uni,ibm,win,il1,mac] -\useregime[def,uni,iso-8858-1,iso-8858-2,cp1252,mac] +% \useregime[def,uni,iso-8858-1,iso-8858-2,cp1252,mac] -% will become: \useregime[def,uni] % rest runtime +\useregime[def,uni,utf] % we load the rest runtime \endinput diff --git a/tex/context/base/regi-iso-8858-1.tex b/tex/context/base/regi-iso-8858-1.tex deleted file mode 100644 index dedba4969..000000000 --- a/tex/context/base/regi-iso-8858-1.tex +++ /dev/null @@ -1,154 +0,0 @@ -%D \module -%D [ file=regi-il1, -%D version=2000.05.07, -%D title=\CONTEXT\ Encoding Macros, -%D subtitle=ISO Latin 1 keys, -%D author={Daniel Flipo, Hans Hagen, Denis Roegel}, -%D date=\currentdate, -%D copyright=PRAGMA-ADE] -%C -%C This module is part of the \CONTEXT\ macro||package and is -%C therefore copyrighted by \PRAGMA. See mreadme.pdf for -%C details. - -%D This module is not yet finished since some characters -%D need to be mapped onto symbols, which is work in progress. - -\startregime [iso-8858-1] - -\defineactivetoken 180 {\textacute} -\defineactivetoken 146 {\textacute} % also see 180 -\defineactivetoken 150 {\textbreve} -\defineactivetoken 159 {\textcaron} -\defineactivetoken 184 {\textcedilla} -\defineactivetoken 147 {\textcircumflex} -\defineactivetoken 168 {\textdiaeresis} -\defineactivetoken 151 {\textdotaccent} -\defineactivetoken 145 {\textgrave} -\defineactivetoken 157 {\texthungarumlaut} -\defineactivetoken 175 {\textmacron} -\defineactivetoken 149 {\textmacron} -\defineactivetoken 158 {\textogonek} -\defineactivetoken 154 {\textring} -\defineactivetoken 148 {\texttilde} - -\defineactivetoken 144 {\dotlessi} - -\defineactivetoken 162 {\textcent} -\defineactivetoken 163 {\textsterling} -\defineactivetoken 164 {\textcurrency} -\defineactivetoken 165 {\textyen} - -\defineactivetoken 167 {\sectionmark} -\defineactivetoken 182 {\paragraphmark} - -\defineactivetoken 171 {\ifvmode\leavevmode\fi\leftguillemot\prewordbreak} -\defineactivetoken 187 {\prewordbreak\rightguillemot} - -\defineactivetoken 173 {\softhyphen} -\defineactivetoken 160 {\nonbreakablespace} % ? - -\defineactivetoken 169 {\copyright} -\defineactivetoken 174 {\registered} - -\defineactivetoken 185 {\onesuperior} -\defineactivetoken 178 {\twosuperior} -\defineactivetoken 179 {\threesuperior} - -\defineactivetoken 188 {\onequarter} -\defineactivetoken 189 {\onehalf} -\defineactivetoken 190 {\threequarters} - -%defineactivetoken 183 {\textperiodcentered} - -\defineactivetoken 166 {\textbrokenbar} -\defineactivetoken 176 {\textdegree} -\defineactivetoken 247 {\textdiv} -\defineactivetoken 172 {\textlognot} -\defineactivetoken 215 {\textmultiply} -\defineactivetoken 181 {\textmu} -\defineactivetoken 177 {\textpm} - -\defineactivetoken 254 {\thorn} -\defineactivetoken 222 {\Thorn} - -\defineactivetoken 223 {\ssharp} - -\defineactivetoken 208 {\Eth} -\defineactivetoken 240 {\eth} - -\defineactivetoken 198 {\AEligature} -\defineactivetoken 230 {\aeligature} - -\defineactivetoken 225 {\aacute} -\defineactivetoken 193 {\Aacute} -\defineactivetoken 233 {\eacute} -\defineactivetoken 201 {\Eacute} -\defineactivetoken 237 {\iacute} -\defineactivetoken 205 {\Iacute} -\defineactivetoken 243 {\oacute} -\defineactivetoken 211 {\Oacute} -\defineactivetoken 250 {\uacute} -\defineactivetoken 218 {\Uacute} -\defineactivetoken 253 {\yacute} -\defineactivetoken 221 {\Yacute} - -\defineactivetoken 231 {\ccedilla} -\defineactivetoken 199 {\Ccedilla} - -\defineactivetoken 226 {\acircumflex} -\defineactivetoken 194 {\Acircumflex} -\defineactivetoken 234 {\ecircumflex} -\defineactivetoken 202 {\Ecircumflex} -\defineactivetoken 238 {\icircumflex} -\defineactivetoken 206 {\Icircumflex} -\defineactivetoken 244 {\ocircumflex} -\defineactivetoken 212 {\Ocircumflex} -\defineactivetoken 251 {\ucircumflex} -\defineactivetoken 219 {\Ucircumflex} - -\defineactivetoken 228 {\adiaeresis} -\defineactivetoken 196 {\Adiaeresis} -\defineactivetoken 235 {\ediaeresis} -\defineactivetoken 203 {\Ediaeresis} -\defineactivetoken 239 {\idiaeresis} -\defineactivetoken 207 {\Idiaeresis} -\defineactivetoken 246 {\odiaeresis} -\defineactivetoken 214 {\Odiaeresis} -\defineactivetoken 252 {\udiaeresis} -\defineactivetoken 220 {\Udiaeresis} -\defineactivetoken 255 {\ydiaeresis} - -\defineactivetoken 224 {\agrave} -\defineactivetoken 192 {\Agrave} -\defineactivetoken 232 {\egrave} -\defineactivetoken 200 {\Egrave} -\defineactivetoken 236 {\igrave} -\defineactivetoken 204 {\Igrave} -\defineactivetoken 242 {\ograve} -\defineactivetoken 210 {\Ograve} -\defineactivetoken 249 {\ugrave} -\defineactivetoken 217 {\Ugrave} - -\defineactivetoken 229 {\aring} -\defineactivetoken 197 {\Aring} - -\defineactivetoken 248 {\ostroke} -\defineactivetoken 216 {\Ostroke} - -\defineactivetoken 227 {\atilde} -\defineactivetoken 195 {\Atilde} -\defineactivetoken 241 {\ntilde} -\defineactivetoken 209 {\Ntilde} -\defineactivetoken 245 {\otilde} -\defineactivetoken 213 {\Otilde} - -\stopregime - -\endinput - -% \defineactivetoken 186 {\textordmasculine} -% \defineactivetoken 170 {\textordfeminine} - -% \defineactivetoken 161 {!`} -% \defineactivetoken 191 {?`} diff --git a/tex/context/base/regi-iso-8858-2.tex b/tex/context/base/regi-iso-8858-2.tex deleted file mode 100644 index 7b6e2749a..000000000 --- a/tex/context/base/regi-iso-8858-2.tex +++ /dev/null @@ -1,124 +0,0 @@ -%D \module -%D [ file=regi-lat, -%D version=2005.07.20, % 1999.11.16 -%D title=\CONTEXT\ Encoding Macros, -%D subtitle=Iso Latin 2, -%D author={Mojca Miklavec \& Hans Hagen}, -%D date=\currentdate, -%D copyright=PRAGMA-ADE] -%C -%C This module is part of the \CONTEXT\ macro||package and is -%C therefore copyrighted by \PRAGMA. See mreadme.pdf for -%C details. - -%D This file implements the ISO-8859-2 Central European character -%D set. - -\startregime[iso-8858-2] - -\defineactivetoken 160 {\nonbreakablespace} % 00A0 NO-BREAK SPACE -\defineactivetoken 161 {\Aogonek} % ¡ 0104 LATIN CAPITAL LETTER A WITH OGONEK -\defineactivetoken 162 {\textbreve} % ¢ 02D8 BREVE -\defineactivetoken 163 {\Lstroke} % £ 0141 LATIN CAPITAL LETTER L WITH STROKE -\defineactivetoken 164 {\textcurrency} % ¤ 00A4 CURRENCY SIGN -\defineactivetoken 165 {\Lcaron} % ¥ 013D LATIN CAPITAL LETTER L WITH CARON -\defineactivetoken 166 {\Sacute} % ¦ 015A LATIN CAPITAL LETTER S WITH ACUTE -\defineactivetoken 167 {\sectionmark} % § 00A7 SECTION SIGN -\defineactivetoken 168 {\textdiaeresis} % ¨ 00A8 DIAERESIS -\defineactivetoken 169 {\Scaron} % © 0160 LATIN CAPITAL LETTER S WITH CARON -\defineactivetoken 170 {\Scedilla} % ª 015E LATIN CAPITAL LETTER S WITH CEDILLA -\defineactivetoken 171 {\Tcaron} % « 0164 LATIN CAPITAL LETTER T WITH CARON -\defineactivetoken 172 {\Zacute} % ¬ 0179 LATIN CAPITAL LETTER Z WITH ACUTE -\defineactivetoken 173 {\softhyphen} % 00AD SOFT HYPHEN -\defineactivetoken 174 {\Zcaron} % ® 017D LATIN CAPITAL LETTER Z WITH CARON -\defineactivetoken 175 {\Zdotaccent} % ¯ 017B LATIN CAPITAL LETTER Z WITH DOT ABOVE - -\defineactivetoken 176 {\textdegree} % ° 00B0 DEGREE SIGN -\defineactivetoken 177 {\aogonek} % ± 0105 LATIN SMALL LETTER A WITH OGONEK -\defineactivetoken 178 {\textogonek} % ² 02DB OGONEK -\defineactivetoken 179 {\lstroke} % ³ 0142 LATIN SMALL LETTER L WITH STROKE -\defineactivetoken 180 {\textacute} % ´ 00B4 ACUTE ACCENT -\defineactivetoken 181 {\lcaron} % µ 013E LATIN SMALL LETTER L WITH CARON -\defineactivetoken 182 {\sacute} % ¶ 015B LATIN SMALL LETTER S WITH ACUTE -\defineactivetoken 183 {\textcaron} % · 02C7 CARON -\defineactivetoken 184 {\textcedilla} % ¸ 00B8 CEDILLA -\defineactivetoken 185 {\scaron} % ¹ 0161 LATIN SMALL LETTER S WITH CARON -\defineactivetoken 186 {\scedilla} % º 015F LATIN SMALL LETTER S WITH CEDILLA -\defineactivetoken 187 {\tcaron} % » 0165 LATIN SMALL LETTER T WITH CARON -\defineactivetoken 188 {\zacute} % ¼ 017A LATIN SMALL LETTER Z WITH ACUTE -\defineactivetoken 189 {\texthungarumlaut} % ½ 02DD DOUBLE ACUTE ACCENT -\defineactivetoken 190 {\zcaron} % ¾ 017E LATIN SMALL LETTER Z WITH CARON -\defineactivetoken 191 {\zdotaccent} % ¿ 017C LATIN SMALL LETTER Z WITH DOT ABOVE - -\defineactivetoken 192 {\Racute} % À 0154 LATIN CAPITAL LETTER R WITH ACUTE -\defineactivetoken 193 {\Aacute} % Á 00C1 LATIN CAPITAL LETTER A WITH ACUTE -\defineactivetoken 194 {\Acircumflex} % Â 00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX -\defineactivetoken 195 {\Abreve} % Ã 0102 LATIN CAPITAL LETTER A WITH BREVE -\defineactivetoken 196 {\Adiaeresis} % Ä 00C4 LATIN CAPITAL LETTER A WITH DIAERESIS -\defineactivetoken 197 {\Lacute} % Å 0139 LATIN CAPITAL LETTER L WITH ACUTE -\defineactivetoken 198 {\Cacute} % Æ 0106 LATIN CAPITAL LETTER C WITH ACUTE -\defineactivetoken 199 {\Ccedilla} % Ç 00C7 LATIN CAPITAL LETTER C WITH CEDILLA -\defineactivetoken 200 {\Ccaron} % È 010C LATIN CAPITAL LETTER C WITH CARON -\defineactivetoken 201 {\Eacute} % É 00C9 LATIN CAPITAL LETTER E WITH ACUTE -\defineactivetoken 202 {\Eogonek} % Ê 0118 LATIN CAPITAL LETTER E WITH OGONEK -\defineactivetoken 203 {\Ediaeresis} % Ë 00CB LATIN CAPITAL LETTER E WITH DIAERESIS -\defineactivetoken 204 {\Ecaron} % Ì 011A LATIN CAPITAL LETTER E WITH CARON -\defineactivetoken 205 {\Iacute} % Í 00CD LATIN CAPITAL LETTER I WITH ACUTE -\defineactivetoken 206 {\Icircumflex} % Î 00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX -\defineactivetoken 207 {\Dcaron} % Ï 010E LATIN CAPITAL LETTER D WITH CARON - -\defineactivetoken 208 {\Dstroke} % Ð 0110 LATIN CAPITAL LETTER D WITH STROKE -\defineactivetoken 209 {\Nacute} % Ñ 0143 LATIN CAPITAL LETTER N WITH ACUTE -\defineactivetoken 210 {\Ncaron} % Ò 0147 LATIN CAPITAL LETTER N WITH CARON -\defineactivetoken 211 {\Oacute} % Ó 00D3 LATIN CAPITAL LETTER O WITH ACUTE -\defineactivetoken 212 {\Ocircumflex} % Ô 00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX -\defineactivetoken 213 {\Ohungarumlaut} % Õ 0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -\defineactivetoken 214 {\Odiaeresis} % Ö 00D6 LATIN CAPITAL LETTER O WITH DIAERESIS -\defineactivetoken 215 {\textmultiply} % × 00D7 MULTIPLICATION SIGN -\defineactivetoken 216 {\Rcaron} % Ø 0158 LATIN CAPITAL LETTER R WITH CARON -\defineactivetoken 217 {\Uring} % Ù 016E LATIN CAPITAL LETTER U WITH RING ABOVE -\defineactivetoken 218 {\Uacute} % Ú 00DA LATIN CAPITAL LETTER U WITH ACUTE -\defineactivetoken 219 {\Uhungarumlaut} % Û 0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -\defineactivetoken 220 {\Udiaeresis} % Ü 00DC LATIN CAPITAL LETTER U WITH DIAERESIS -\defineactivetoken 221 {\Yacute} % Ý 00DD LATIN CAPITAL LETTER Y WITH ACUTE -\defineactivetoken 222 {\Tcedilla} % Þ 0162 LATIN CAPITAL LETTER T WITH CEDILLA -\defineactivetoken 223 {\ssharp} % ß 00DF LATIN SMALL LETTER SHARP S - -\defineactivetoken 224 {\racute} % à 0155 LATIN SMALL LETTER R WITH ACUTE -\defineactivetoken 225 {\aacute} % á 00E1 LATIN SMALL LETTER A WITH ACUTE -\defineactivetoken 226 {\acircumflex} % â 00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX -\defineactivetoken 227 {\abreve} % ã 0103 LATIN SMALL LETTER A WITH BREVE -\defineactivetoken 228 {\adiaeresis} % ä 00E4 LATIN SMALL LETTER A WITH DIAERESIS -\defineactivetoken 229 {\lacute} % å 013A LATIN SMALL LETTER L WITH ACUTE -\defineactivetoken 230 {\cacute} % æ 0107 LATIN SMALL LETTER C WITH ACUTE -\defineactivetoken 231 {\ccedilla} % ç 00E7 LATIN SMALL LETTER C WITH CEDILLA -\defineactivetoken 232 {\ccaron} % è 010D LATIN SMALL LETTER C WITH CARON -\defineactivetoken 233 {\eacute} % é 00E9 LATIN SMALL LETTER E WITH ACUTE -\defineactivetoken 234 {\eogonek} % ê 0119 LATIN SMALL LETTER E WITH OGONEK -\defineactivetoken 235 {\ediaeresis} % ë 00EB LATIN SMALL LETTER E WITH DIAERESIS -\defineactivetoken 236 {\ecaron} % ì 011B LATIN SMALL LETTER E WITH CARON -\defineactivetoken 237 {\iacute} % í 00ED LATIN SMALL LETTER I WITH ACUTE -\defineactivetoken 238 {\icircumflex} % î 00EE LATIN SMALL LETTER I WITH CIRCUMFLEX -\defineactivetoken 239 {\dcaron} % ï 010F LATIN SMALL LETTER D WITH CARON - -\defineactivetoken 240 {\dstroke} % ð 0111 LATIN SMALL LETTER D WITH STROKE -\defineactivetoken 241 {\nacute} % ñ 0144 LATIN SMALL LETTER N WITH ACUTE -\defineactivetoken 242 {\ncaron} % ò 0148 LATIN SMALL LETTER N WITH CARON -\defineactivetoken 243 {\oacute} % ó 00F3 LATIN SMALL LETTER O WITH ACUTE -\defineactivetoken 244 {\ocircumflex} % ô 00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX -\defineactivetoken 245 {\ohungarumlaut} % õ 0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE -\defineactivetoken 246 {\odiaeresis} % ö 00F6 LATIN SMALL LETTER O WITH DIAERESIS -\defineactivetoken 247 {\textdiv} % ÷ 00F7 DIVISION SIGN -\defineactivetoken 248 {\rcaron} % ø 0159 LATIN SMALL LETTER R WITH CARON -\defineactivetoken 249 {\uring} % ù 016F LATIN SMALL LETTER U WITH RING ABOVE -\defineactivetoken 250 {\uacute} % ú 00FA LATIN SMALL LETTER U WITH ACUTE -\defineactivetoken 251 {\uhungarumlaut} % û 0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE -\defineactivetoken 252 {\udiaeresis} % ü 00FC LATIN SMALL LETTER U WITH DIAERESIS -\defineactivetoken 253 {\yacute} % ý 00FD LATIN SMALL LETTER Y WITH ACUTE -\defineactivetoken 254 {\tcedilla} % þ 0163 LATIN SMALL LETTER T WITH CEDILLA -\defineactivetoken 255 {\textdotaccent} % ÿ 02D9 DOT ABOVE - -\stopregime - -\endinput - diff --git a/tex/context/base/regi-iso-8859-1.tex b/tex/context/base/regi-iso-8859-1.tex new file mode 100644 index 000000000..27481686b --- /dev/null +++ b/tex/context/base/regi-iso-8859-1.tex @@ -0,0 +1,157 @@ +%D \module +%D [ file=regi-iso-8859-1, +%D version=2006.04.10, +%D title=\CONTEXT\ Encoding Macros, +%D subtitle=iso-8859-1 (West European), +%D author=script-generated, +%D date=\currentdate, +%D copyright=PRAGMA-ADE] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D Support for iso-8859-1/Latin1 input encoding (regime) for West European languages, +%D see also cp1252 and iso-8859-15 (includes Euro). +%D +%D (Contributors to the original file: Daniel Flipo, Hans Hagen & Denis Roegel.) +%D +%D Usage: +%D \type{\enableregime[iso-8859-1]} or +%D \type{\enableregime[latin1]} or +%D \type{\enableregime[il1]} + + +\startregime[iso-8859-1] + +\defineactivetoken 128 {\unknownchar} % 0080 <control> +\defineactivetoken 129 {\unknownchar} % 0081 <control> +\defineactivetoken 130 {\unknownchar} % 0082 <control> +\defineactivetoken 131 {\unknownchar} % 0083 <control> +\defineactivetoken 132 {\unknownchar} % 0084 <control> +\defineactivetoken 133 {\unknownchar} % 0085 <control> +\defineactivetoken 134 {\unknownchar} % 0086 <control> +\defineactivetoken 135 {\unknownchar} % 0087 <control> +\defineactivetoken 136 {\unknownchar} % 0088 <control> +\defineactivetoken 137 {\unknownchar} % 0089 <control> +\defineactivetoken 138 {\unknownchar} % 008A <control> +\defineactivetoken 139 {\unknownchar} % 008B <control> +\defineactivetoken 140 {\unknownchar} % 008C <control> +\defineactivetoken 141 {\unknownchar} % 008D <control> +\defineactivetoken 142 {\unknownchar} % 008E <control> +\defineactivetoken 143 {\unknownchar} % 008F <control> +\defineactivetoken 144 {\unknownchar} % 0090 <control> +\defineactivetoken 145 {\unknownchar} % 0091 <control> +\defineactivetoken 146 {\unknownchar} % 0092 <control> +\defineactivetoken 147 {\unknownchar} % 0093 <control> +\defineactivetoken 148 {\unknownchar} % 0094 <control> +\defineactivetoken 149 {\unknownchar} % 0095 <control> +\defineactivetoken 150 {\unknownchar} % 0096 <control> +\defineactivetoken 151 {\unknownchar} % 0097 <control> +\defineactivetoken 152 {\unknownchar} % 0098 <control> +\defineactivetoken 153 {\unknownchar} % 0099 <control> +\defineactivetoken 154 {\unknownchar} % 009A <control> +\defineactivetoken 155 {\unknownchar} % 009B <control> +\defineactivetoken 156 {\unknownchar} % 009C <control> +\defineactivetoken 157 {\unknownchar} % 009D <control> +\defineactivetoken 158 {\unknownchar} % 009E <control> +\defineactivetoken 159 {\unknownchar} % 009F <control> +\defineactivetoken 160 {\nonbreakablespace} % 00A0 NO-BREAK SPACE +\defineactivetoken 161 {\exclamdown} % 00A1 INVERTED EXCLAMATION MARK +\defineactivetoken 162 {\textcent} % 00A2 CENT SIGN +\defineactivetoken 163 {\textsterling} % 00A3 POUND SIGN +\defineactivetoken 164 {\textcurrency} % 00A4 CURRENCY SIGN +\defineactivetoken 165 {\textyen} % 00A5 YEN SIGN +\defineactivetoken 166 {\textbrokenbar} % 00A6 BROKEN BAR +\defineactivetoken 167 {\sectionmark} % 00A7 SECTION SIGN +\defineactivetoken 168 {\textdiaeresis} % 00A8 DIAERESIS +\defineactivetoken 169 {\copyright} % 00A9 COPYRIGHT SIGN +\defineactivetoken 170 {\ordfeminine} % 00AA FEMININE ORDINAL INDICATOR +\defineactivetoken 171 {\leftguillemot} % 00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +\defineactivetoken 172 {\textlognot} % 00AC NOT SIGN +\defineactivetoken 173 {\softhyphen} % 00AD SOFT HYPHEN +\defineactivetoken 174 {\registered} % 00AE REGISTERED SIGN +\defineactivetoken 175 {\textmacron} % 00AF MACRON +\defineactivetoken 176 {\textdegree} % 00B0 DEGREE SIGN +\defineactivetoken 177 {\textpm} % 00B1 PLUS-MINUS SIGN +\defineactivetoken 178 {\twosuperior} % 00B2 SUPERSCRIPT TWO +\defineactivetoken 179 {\threesuperior} % 00B3 SUPERSCRIPT THREE +\defineactivetoken 180 {\textacute} % 00B4 ACUTE ACCENT +\defineactivetoken 181 {\textmu} % 00B5 MICRO SIGN +\defineactivetoken 182 {\paragraphmark} % 00B6 PILCROW SIGN +\defineactivetoken 183 {\periodcentered} % 00B7 MIDDLE DOT +\defineactivetoken 184 {\textcedilla} % 00B8 CEDILLA +\defineactivetoken 185 {\onesuperior} % 00B9 SUPERSCRIPT ONE +\defineactivetoken 186 {\ordmasculine} % 00BA MASCULINE ORDINAL INDICATOR +\defineactivetoken 187 {\rightguillemot} % 00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +\defineactivetoken 188 {\onequarter} % 00BC VULGAR FRACTION ONE QUARTER +\defineactivetoken 189 {\onehalf} % 00BD VULGAR FRACTION ONE HALF +\defineactivetoken 190 {\threequarter} % 00BE VULGAR FRACTION THREE QUARTERS +\defineactivetoken 191 {\questiondown} % 00BF INVERTED QUESTION MARK +\defineactivetoken 192 {\Agrave} % 00C0 LATIN CAPITAL LETTER A WITH GRAVE +\defineactivetoken 193 {\Aacute} % 00C1 LATIN CAPITAL LETTER A WITH ACUTE +\defineactivetoken 194 {\Acircumflex} % 00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX +\defineactivetoken 195 {\Atilde} % 00C3 LATIN CAPITAL LETTER A WITH TILDE +\defineactivetoken 196 {\Adiaeresis} % 00C4 LATIN CAPITAL LETTER A WITH DIAERESIS +\defineactivetoken 197 {\Aring} % 00C5 LATIN CAPITAL LETTER A WITH RING ABOVE +\defineactivetoken 198 {\AEligature} % 00C6 LATIN CAPITAL LETTER AE +\defineactivetoken 199 {\Ccedilla} % 00C7 LATIN CAPITAL LETTER C WITH CEDILLA +\defineactivetoken 200 {\Egrave} % 00C8 LATIN CAPITAL LETTER E WITH GRAVE +\defineactivetoken 201 {\Eacute} % 00C9 LATIN CAPITAL LETTER E WITH ACUTE +\defineactivetoken 202 {\Ecircumflex} % 00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX +\defineactivetoken 203 {\Ediaeresis} % 00CB LATIN CAPITAL LETTER E WITH DIAERESIS +\defineactivetoken 204 {\Igrave} % 00CC LATIN CAPITAL LETTER I WITH GRAVE +\defineactivetoken 205 {\Iacute} % 00CD LATIN CAPITAL LETTER I WITH ACUTE +\defineactivetoken 206 {\Icircumflex} % 00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX +\defineactivetoken 207 {\Idiaeresis} % 00CF LATIN CAPITAL LETTER I WITH DIAERESIS +\defineactivetoken 208 {\Eth} % 00D0 LATIN CAPITAL LETTER ETH +\defineactivetoken 209 {\Ntilde} % 00D1 LATIN CAPITAL LETTER N WITH TILDE +\defineactivetoken 210 {\Ograve} % 00D2 LATIN CAPITAL LETTER O WITH GRAVE +\defineactivetoken 211 {\Oacute} % 00D3 LATIN CAPITAL LETTER O WITH ACUTE +\defineactivetoken 212 {\Ocircumflex} % 00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX +\defineactivetoken 213 {\Otilde} % 00D5 LATIN CAPITAL LETTER O WITH TILDE +\defineactivetoken 214 {\Odiaeresis} % 00D6 LATIN CAPITAL LETTER O WITH DIAERESIS +\defineactivetoken 215 {\textmultiply} % 00D7 MULTIPLICATION SIGN +\defineactivetoken 216 {\Ostroke} % 00D8 LATIN CAPITAL LETTER O WITH STROKE +\defineactivetoken 217 {\Ugrave} % 00D9 LATIN CAPITAL LETTER U WITH GRAVE +\defineactivetoken 218 {\Uacute} % 00DA LATIN CAPITAL LETTER U WITH ACUTE +\defineactivetoken 219 {\Ucircumflex} % 00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX +\defineactivetoken 220 {\Udiaeresis} % 00DC LATIN CAPITAL LETTER U WITH DIAERESIS +\defineactivetoken 221 {\Yacute} % 00DD LATIN CAPITAL LETTER Y WITH ACUTE +\defineactivetoken 222 {\Thorn} % 00DE LATIN CAPITAL LETTER THORN +\defineactivetoken 223 {\ssharp} % 00DF LATIN SMALL LETTER SHARP S +\defineactivetoken 224 {\agrave} % 00E0 LATIN SMALL LETTER A WITH GRAVE +\defineactivetoken 225 {\aacute} % 00E1 LATIN SMALL LETTER A WITH ACUTE +\defineactivetoken 226 {\acircumflex} % 00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX +\defineactivetoken 227 {\atilde} % 00E3 LATIN SMALL LETTER A WITH TILDE +\defineactivetoken 228 {\adiaeresis} % 00E4 LATIN SMALL LETTER A WITH DIAERESIS +\defineactivetoken 229 {\aring} % 00E5 LATIN SMALL LETTER A WITH RING ABOVE +\defineactivetoken 230 {\aeligature} % 00E6 LATIN SMALL LETTER AE +\defineactivetoken 231 {\ccedilla} % 00E7 LATIN SMALL LETTER C WITH CEDILLA +\defineactivetoken 232 {\egrave} % 00E8 LATIN SMALL LETTER E WITH GRAVE +\defineactivetoken 233 {\eacute} % 00E9 LATIN SMALL LETTER E WITH ACUTE +\defineactivetoken 234 {\ecircumflex} % 00EA LATIN SMALL LETTER E WITH CIRCUMFLEX +\defineactivetoken 235 {\ediaeresis} % 00EB LATIN SMALL LETTER E WITH DIAERESIS +\defineactivetoken 236 {\igrave} % 00EC LATIN SMALL LETTER I WITH GRAVE +\defineactivetoken 237 {\iacute} % 00ED LATIN SMALL LETTER I WITH ACUTE +\defineactivetoken 238 {\icircumflex} % 00EE LATIN SMALL LETTER I WITH CIRCUMFLEX +\defineactivetoken 239 {\idiaeresis} % 00EF LATIN SMALL LETTER I WITH DIAERESIS +\defineactivetoken 240 {\eth} % 00F0 LATIN SMALL LETTER ETH +\defineactivetoken 241 {\ntilde} % 00F1 LATIN SMALL LETTER N WITH TILDE +\defineactivetoken 242 {\ograve} % 00F2 LATIN SMALL LETTER O WITH GRAVE +\defineactivetoken 243 {\oacute} % 00F3 LATIN SMALL LETTER O WITH ACUTE +\defineactivetoken 244 {\ocircumflex} % 00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX +\defineactivetoken 245 {\otilde} % 00F5 LATIN SMALL LETTER O WITH TILDE +\defineactivetoken 246 {\odiaeresis} % 00F6 LATIN SMALL LETTER O WITH DIAERESIS +\defineactivetoken 247 {\textdiv} % 00F7 DIVISION SIGN +\defineactivetoken 248 {\ostroke} % 00F8 LATIN SMALL LETTER O WITH STROKE +\defineactivetoken 249 {\ugrave} % 00F9 LATIN SMALL LETTER U WITH GRAVE +\defineactivetoken 250 {\uacute} % 00FA LATIN SMALL LETTER U WITH ACUTE +\defineactivetoken 251 {\ucircumflex} % 00FB LATIN SMALL LETTER U WITH CIRCUMFLEX +\defineactivetoken 252 {\udiaeresis} % 00FC LATIN SMALL LETTER U WITH DIAERESIS +\defineactivetoken 253 {\yacute} % 00FD LATIN SMALL LETTER Y WITH ACUTE +\defineactivetoken 254 {\thorn} % 00FE LATIN SMALL LETTER THORN +\defineactivetoken 255 {\ydiaeresis} % 00FF LATIN SMALL LETTER Y WITH DIAERESIS + +\stopregime + diff --git a/tex/context/base/regi-iso-8859-15.tex b/tex/context/base/regi-iso-8859-15.tex index 387404e4b..3ab142470 100644 --- a/tex/context/base/regi-iso-8859-15.tex +++ b/tex/context/base/regi-iso-8859-15.tex @@ -1,9 +1,9 @@ %D \module -%D [ file=regi-il9, -%D version=2005.12.18, +%D [ file=regi-iso-8859-15, +%D version=2006.04.10, %D title=\CONTEXT\ Encoding Macros, -%D subtitle=ISO 8859-15 (latin-9), -%D author={Taco Hoekwater}, +%D subtitle=iso-8859-15 (West European), +%D author=script-generated, %D date=\currentdate, %D copyright=PRAGMA-ADE] %C @@ -11,108 +11,147 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -%D This module activates the ISO 8859-15 character set -%D characters (western europe), such as ë and á. +%D Support for iso-8859-15/Latin9 input encoding (regime) for West European languages, +%D almost the same as iso-8859-1 with rarely used symbols (currency symbol, +%D fractions, accents) replaced by Euro and some additional letters, +%D see also cp1252. +%D +%D Usage: +%D \type{\enableregime[iso-8859-9]} or +%D \type{\enableregime[latin9]} or +%D \type{\enableregime[il9]} -\startregime [il9] -\defineactivetoken 160 {\nonbreakablespace} -\defineactivetoken 161 {\exclamdown} -\defineactivetoken 162 {\textcent} -\defineactivetoken 163 {\textsterling} -\defineactivetoken 164 {\texteuro} -\defineactivetoken 165 {\textyen} -\defineactivetoken 166 {\Scaron} -\defineactivetoken 167 {\sectionmark} -\defineactivetoken 168 {\scaron} -\defineactivetoken 169 {\copyright} -\defineactivetoken 170 {\ordfeminine} -\defineactivetoken 171 {\leftguillemot} -\defineactivetoken 172 {\textlognot} -\defineactivetoken 173 {\hyphen} -\defineactivetoken 174 {\registered} -\defineactivetoken 175 {\textmacron} -\defineactivetoken 176 {\textdegree} -\defineactivetoken 177 {\textpm} -\defineactivetoken 178 {\twosuperior} -\defineactivetoken 179 {\threesuperior} -\defineactivetoken 180 {\Zcaron} -\defineactivetoken 181 {\textmu} -\defineactivetoken 182 {\paragraphmark} -\defineactivetoken 183 {\periodcentered} -\defineactivetoken 184 {\zcaron} -\defineactivetoken 185 {\onesuperior} -\defineactivetoken 186 {\ordmasculine} -\defineactivetoken 187 {\rightguillemot} -\defineactivetoken 188 {\OEligature} -\defineactivetoken 189 {\oeligature} -\defineactivetoken 190 {\Ydiaeresis} -\defineactivetoken 191 {\questiondown} -\defineactivetoken 192 {\Agrave} -\defineactivetoken 193 {\Aacute} -\defineactivetoken 194 {\Acircumflex} -\defineactivetoken 195 {\Atilde} -\defineactivetoken 196 {\Adiaeresis} -\defineactivetoken 197 {\Aring} -\defineactivetoken 198 {\AEligature} -\defineactivetoken 199 {\Ccedilla} -\defineactivetoken 200 {\Egrave} -\defineactivetoken 201 {\Eacute} -\defineactivetoken 202 {\Ecircumflex} -\defineactivetoken 203 {\Ediaeresis} -\defineactivetoken 204 {\Igrave} -\defineactivetoken 205 {\Iacute} -\defineactivetoken 206 {\Icircumflex} -\defineactivetoken 207 {\Idiaeresis} -\defineactivetoken 208 {\Eth} -\defineactivetoken 209 {\Ntilde} -\defineactivetoken 210 {\Ograve} -\defineactivetoken 211 {\Oacute} -\defineactivetoken 212 {\Ocircumflex} -\defineactivetoken 213 {\Otilde} -\defineactivetoken 214 {\Odiaeresis} -\defineactivetoken 215 {\textmultiply} -\defineactivetoken 216 {\Ostroke} -\defineactivetoken 217 {\Ugrave} -\defineactivetoken 218 {\Uacute} -\defineactivetoken 219 {\Ucircumflex} -\defineactivetoken 220 {\Udiaeresis} -\defineactivetoken 221 {\Yacute} -\defineactivetoken 222 {\Thorn} -\defineactivetoken 223 {\ssharp} -\defineactivetoken 224 {\agrave} -\defineactivetoken 225 {\aacute} -\defineactivetoken 226 {\acircumflex} -\defineactivetoken 227 {\atilde} -\defineactivetoken 228 {\adiaeresis} -\defineactivetoken 229 {\aring} -\defineactivetoken 230 {\aeligature} -\defineactivetoken 231 {\ccedilla} -\defineactivetoken 232 {\egrave} -\defineactivetoken 233 {\eacute} -\defineactivetoken 234 {\ecircumflex} -\defineactivetoken 235 {\ediaeresis} -\defineactivetoken 236 {\igrave} -\defineactivetoken 237 {\iacute} -\defineactivetoken 238 {\icircumflex} -\defineactivetoken 239 {\idiaeresis} -\defineactivetoken 240 {\eth} -\defineactivetoken 241 {\ntilde} -\defineactivetoken 242 {\ograve} -\defineactivetoken 243 {\oacute} -\defineactivetoken 244 {\ocircumflex} -\defineactivetoken 245 {\otilde} -\defineactivetoken 246 {\odiaeresis} -\defineactivetoken 247 {\textdiv} -\defineactivetoken 248 {\ostroke} -\defineactivetoken 249 {\ugrave} -\defineactivetoken 250 {\uacute} -\defineactivetoken 251 {\ucircumflex} -\defineactivetoken 252 {\udiaeresis} -\defineactivetoken 253 {\yacute} -\defineactivetoken 254 {\thorn} -\defineactivetoken 255 {\ydiaeresis} +\startregime[iso-8859-15] + +\defineactivetoken 128 {\unknownchar} % 0080 <control> +\defineactivetoken 129 {\unknownchar} % 0081 <control> +\defineactivetoken 130 {\unknownchar} % 0082 <control> +\defineactivetoken 131 {\unknownchar} % 0083 <control> +\defineactivetoken 132 {\unknownchar} % 0084 <control> +\defineactivetoken 133 {\unknownchar} % 0085 <control> +\defineactivetoken 134 {\unknownchar} % 0086 <control> +\defineactivetoken 135 {\unknownchar} % 0087 <control> +\defineactivetoken 136 {\unknownchar} % 0088 <control> +\defineactivetoken 137 {\unknownchar} % 0089 <control> +\defineactivetoken 138 {\unknownchar} % 008A <control> +\defineactivetoken 139 {\unknownchar} % 008B <control> +\defineactivetoken 140 {\unknownchar} % 008C <control> +\defineactivetoken 141 {\unknownchar} % 008D <control> +\defineactivetoken 142 {\unknownchar} % 008E <control> +\defineactivetoken 143 {\unknownchar} % 008F <control> +\defineactivetoken 144 {\unknownchar} % 0090 <control> +\defineactivetoken 145 {\unknownchar} % 0091 <control> +\defineactivetoken 146 {\unknownchar} % 0092 <control> +\defineactivetoken 147 {\unknownchar} % 0093 <control> +\defineactivetoken 148 {\unknownchar} % 0094 <control> +\defineactivetoken 149 {\unknownchar} % 0095 <control> +\defineactivetoken 150 {\unknownchar} % 0096 <control> +\defineactivetoken 151 {\unknownchar} % 0097 <control> +\defineactivetoken 152 {\unknownchar} % 0098 <control> +\defineactivetoken 153 {\unknownchar} % 0099 <control> +\defineactivetoken 154 {\unknownchar} % 009A <control> +\defineactivetoken 155 {\unknownchar} % 009B <control> +\defineactivetoken 156 {\unknownchar} % 009C <control> +\defineactivetoken 157 {\unknownchar} % 009D <control> +\defineactivetoken 158 {\unknownchar} % 009E <control> +\defineactivetoken 159 {\unknownchar} % 009F <control> +\defineactivetoken 160 {\nonbreakablespace} % 00A0 NO-BREAK SPACE +\defineactivetoken 161 {\exclamdown} % 00A1 INVERTED EXCLAMATION MARK +\defineactivetoken 162 {\textcent} % 00A2 CENT SIGN +\defineactivetoken 163 {\textsterling} % 00A3 POUND SIGN +\defineactivetoken 164 {\texteuro} % 20AC EURO SIGN +\defineactivetoken 165 {\textyen} % 00A5 YEN SIGN +\defineactivetoken 166 {\Scaron} % 0160 LATIN CAPITAL LETTER S WITH CARON +\defineactivetoken 167 {\sectionmark} % 00A7 SECTION SIGN +\defineactivetoken 168 {\scaron} % 0161 LATIN SMALL LETTER S WITH CARON +\defineactivetoken 169 {\copyright} % 00A9 COPYRIGHT SIGN +\defineactivetoken 170 {\ordfeminine} % 00AA FEMININE ORDINAL INDICATOR +\defineactivetoken 171 {\leftguillemot} % 00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +\defineactivetoken 172 {\textlognot} % 00AC NOT SIGN +\defineactivetoken 173 {\softhyphen} % 00AD SOFT HYPHEN +\defineactivetoken 174 {\registered} % 00AE REGISTERED SIGN +\defineactivetoken 175 {\textmacron} % 00AF MACRON +\defineactivetoken 176 {\textdegree} % 00B0 DEGREE SIGN +\defineactivetoken 177 {\textpm} % 00B1 PLUS-MINUS SIGN +\defineactivetoken 178 {\twosuperior} % 00B2 SUPERSCRIPT TWO +\defineactivetoken 179 {\threesuperior} % 00B3 SUPERSCRIPT THREE +\defineactivetoken 180 {\Zcaron} % 017D LATIN CAPITAL LETTER Z WITH CARON +\defineactivetoken 181 {\textmu} % 00B5 MICRO SIGN +\defineactivetoken 182 {\paragraphmark} % 00B6 PILCROW SIGN +\defineactivetoken 183 {\periodcentered} % 00B7 MIDDLE DOT +\defineactivetoken 184 {\zcaron} % 017E LATIN SMALL LETTER Z WITH CARON +\defineactivetoken 185 {\onesuperior} % 00B9 SUPERSCRIPT ONE +\defineactivetoken 186 {\ordmasculine} % 00BA MASCULINE ORDINAL INDICATOR +\defineactivetoken 187 {\rightguillemot} % 00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +\defineactivetoken 188 {\OEligature} % 0152 LATIN CAPITAL LIGATURE OE +\defineactivetoken 189 {\oeligature} % 0153 LATIN SMALL LIGATURE OE +\defineactivetoken 190 {\Ydiaeresis} % 0178 LATIN CAPITAL LETTER Y WITH DIAERESIS +\defineactivetoken 191 {\questiondown} % 00BF INVERTED QUESTION MARK +\defineactivetoken 192 {\Agrave} % 00C0 LATIN CAPITAL LETTER A WITH GRAVE +\defineactivetoken 193 {\Aacute} % 00C1 LATIN CAPITAL LETTER A WITH ACUTE +\defineactivetoken 194 {\Acircumflex} % 00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX +\defineactivetoken 195 {\Atilde} % 00C3 LATIN CAPITAL LETTER A WITH TILDE +\defineactivetoken 196 {\Adiaeresis} % 00C4 LATIN CAPITAL LETTER A WITH DIAERESIS +\defineactivetoken 197 {\Aring} % 00C5 LATIN CAPITAL LETTER A WITH RING ABOVE +\defineactivetoken 198 {\AEligature} % 00C6 LATIN CAPITAL LETTER AE +\defineactivetoken 199 {\Ccedilla} % 00C7 LATIN CAPITAL LETTER C WITH CEDILLA +\defineactivetoken 200 {\Egrave} % 00C8 LATIN CAPITAL LETTER E WITH GRAVE +\defineactivetoken 201 {\Eacute} % 00C9 LATIN CAPITAL LETTER E WITH ACUTE +\defineactivetoken 202 {\Ecircumflex} % 00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX +\defineactivetoken 203 {\Ediaeresis} % 00CB LATIN CAPITAL LETTER E WITH DIAERESIS +\defineactivetoken 204 {\Igrave} % 00CC LATIN CAPITAL LETTER I WITH GRAVE +\defineactivetoken 205 {\Iacute} % 00CD LATIN CAPITAL LETTER I WITH ACUTE +\defineactivetoken 206 {\Icircumflex} % 00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX +\defineactivetoken 207 {\Idiaeresis} % 00CF LATIN CAPITAL LETTER I WITH DIAERESIS +\defineactivetoken 208 {\Eth} % 00D0 LATIN CAPITAL LETTER ETH +\defineactivetoken 209 {\Ntilde} % 00D1 LATIN CAPITAL LETTER N WITH TILDE +\defineactivetoken 210 {\Ograve} % 00D2 LATIN CAPITAL LETTER O WITH GRAVE +\defineactivetoken 211 {\Oacute} % 00D3 LATIN CAPITAL LETTER O WITH ACUTE +\defineactivetoken 212 {\Ocircumflex} % 00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX +\defineactivetoken 213 {\Otilde} % 00D5 LATIN CAPITAL LETTER O WITH TILDE +\defineactivetoken 214 {\Odiaeresis} % 00D6 LATIN CAPITAL LETTER O WITH DIAERESIS +\defineactivetoken 215 {\textmultiply} % 00D7 MULTIPLICATION SIGN +\defineactivetoken 216 {\Ostroke} % 00D8 LATIN CAPITAL LETTER O WITH STROKE +\defineactivetoken 217 {\Ugrave} % 00D9 LATIN CAPITAL LETTER U WITH GRAVE +\defineactivetoken 218 {\Uacute} % 00DA LATIN CAPITAL LETTER U WITH ACUTE +\defineactivetoken 219 {\Ucircumflex} % 00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX +\defineactivetoken 220 {\Udiaeresis} % 00DC LATIN CAPITAL LETTER U WITH DIAERESIS +\defineactivetoken 221 {\Yacute} % 00DD LATIN CAPITAL LETTER Y WITH ACUTE +\defineactivetoken 222 {\Thorn} % 00DE LATIN CAPITAL LETTER THORN +\defineactivetoken 223 {\ssharp} % 00DF LATIN SMALL LETTER SHARP S +\defineactivetoken 224 {\agrave} % 00E0 LATIN SMALL LETTER A WITH GRAVE +\defineactivetoken 225 {\aacute} % 00E1 LATIN SMALL LETTER A WITH ACUTE +\defineactivetoken 226 {\acircumflex} % 00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX +\defineactivetoken 227 {\atilde} % 00E3 LATIN SMALL LETTER A WITH TILDE +\defineactivetoken 228 {\adiaeresis} % 00E4 LATIN SMALL LETTER A WITH DIAERESIS +\defineactivetoken 229 {\aring} % 00E5 LATIN SMALL LETTER A WITH RING ABOVE +\defineactivetoken 230 {\aeligature} % 00E6 LATIN SMALL LETTER AE +\defineactivetoken 231 {\ccedilla} % 00E7 LATIN SMALL LETTER C WITH CEDILLA +\defineactivetoken 232 {\egrave} % 00E8 LATIN SMALL LETTER E WITH GRAVE +\defineactivetoken 233 {\eacute} % 00E9 LATIN SMALL LETTER E WITH ACUTE +\defineactivetoken 234 {\ecircumflex} % 00EA LATIN SMALL LETTER E WITH CIRCUMFLEX +\defineactivetoken 235 {\ediaeresis} % 00EB LATIN SMALL LETTER E WITH DIAERESIS +\defineactivetoken 236 {\igrave} % 00EC LATIN SMALL LETTER I WITH GRAVE +\defineactivetoken 237 {\iacute} % 00ED LATIN SMALL LETTER I WITH ACUTE +\defineactivetoken 238 {\icircumflex} % 00EE LATIN SMALL LETTER I WITH CIRCUMFLEX +\defineactivetoken 239 {\idiaeresis} % 00EF LATIN SMALL LETTER I WITH DIAERESIS +\defineactivetoken 240 {\eth} % 00F0 LATIN SMALL LETTER ETH +\defineactivetoken 241 {\ntilde} % 00F1 LATIN SMALL LETTER N WITH TILDE +\defineactivetoken 242 {\ograve} % 00F2 LATIN SMALL LETTER O WITH GRAVE +\defineactivetoken 243 {\oacute} % 00F3 LATIN SMALL LETTER O WITH ACUTE +\defineactivetoken 244 {\ocircumflex} % 00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX +\defineactivetoken 245 {\otilde} % 00F5 LATIN SMALL LETTER O WITH TILDE +\defineactivetoken 246 {\odiaeresis} % 00F6 LATIN SMALL LETTER O WITH DIAERESIS +\defineactivetoken 247 {\textdiv} % 00F7 DIVISION SIGN +\defineactivetoken 248 {\ostroke} % 00F8 LATIN SMALL LETTER O WITH STROKE +\defineactivetoken 249 {\ugrave} % 00F9 LATIN SMALL LETTER U WITH GRAVE +\defineactivetoken 250 {\uacute} % 00FA LATIN SMALL LETTER U WITH ACUTE +\defineactivetoken 251 {\ucircumflex} % 00FB LATIN SMALL LETTER U WITH CIRCUMFLEX +\defineactivetoken 252 {\udiaeresis} % 00FC LATIN SMALL LETTER U WITH DIAERESIS +\defineactivetoken 253 {\yacute} % 00FD LATIN SMALL LETTER Y WITH ACUTE +\defineactivetoken 254 {\thorn} % 00FE LATIN SMALL LETTER THORN +\defineactivetoken 255 {\ydiaeresis} % 00FF LATIN SMALL LETTER Y WITH DIAERESIS \stopregime -\endinput diff --git a/tex/context/base/regi-iso-8859-2.tex b/tex/context/base/regi-iso-8859-2.tex new file mode 100644 index 000000000..cc14c4ec3 --- /dev/null +++ b/tex/context/base/regi-iso-8859-2.tex @@ -0,0 +1,155 @@ +%D \module +%D [ file=regi-iso-8859-2, +%D version=2006.04.10, +%D title=\CONTEXT\ Encoding Macros, +%D subtitle=iso-8859-2 (East European), +%D author=script-generated, +%D date=\currentdate, +%D copyright=PRAGMA-ADE] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D Support for iso-8859-2/Latin2 input encoding (regime) for Central European languages, +%D see also cp1250. +%D +%D Usage: +%D \type{\enableregime[iso-8859-2]} or +%D \type{\enableregime[latin2]} or +%D \type{\enableregime[il2]} + + +\startregime[iso-8859-2] + +\defineactivetoken 128 {\unknownchar} % 0080 <control> +\defineactivetoken 129 {\unknownchar} % 0081 <control> +\defineactivetoken 130 {\unknownchar} % 0082 <control> +\defineactivetoken 131 {\unknownchar} % 0083 <control> +\defineactivetoken 132 {\unknownchar} % 0084 <control> +\defineactivetoken 133 {\unknownchar} % 0085 <control> +\defineactivetoken 134 {\unknownchar} % 0086 <control> +\defineactivetoken 135 {\unknownchar} % 0087 <control> +\defineactivetoken 136 {\unknownchar} % 0088 <control> +\defineactivetoken 137 {\unknownchar} % 0089 <control> +\defineactivetoken 138 {\unknownchar} % 008A <control> +\defineactivetoken 139 {\unknownchar} % 008B <control> +\defineactivetoken 140 {\unknownchar} % 008C <control> +\defineactivetoken 141 {\unknownchar} % 008D <control> +\defineactivetoken 142 {\unknownchar} % 008E <control> +\defineactivetoken 143 {\unknownchar} % 008F <control> +\defineactivetoken 144 {\unknownchar} % 0090 <control> +\defineactivetoken 145 {\unknownchar} % 0091 <control> +\defineactivetoken 146 {\unknownchar} % 0092 <control> +\defineactivetoken 147 {\unknownchar} % 0093 <control> +\defineactivetoken 148 {\unknownchar} % 0094 <control> +\defineactivetoken 149 {\unknownchar} % 0095 <control> +\defineactivetoken 150 {\unknownchar} % 0096 <control> +\defineactivetoken 151 {\unknownchar} % 0097 <control> +\defineactivetoken 152 {\unknownchar} % 0098 <control> +\defineactivetoken 153 {\unknownchar} % 0099 <control> +\defineactivetoken 154 {\unknownchar} % 009A <control> +\defineactivetoken 155 {\unknownchar} % 009B <control> +\defineactivetoken 156 {\unknownchar} % 009C <control> +\defineactivetoken 157 {\unknownchar} % 009D <control> +\defineactivetoken 158 {\unknownchar} % 009E <control> +\defineactivetoken 159 {\unknownchar} % 009F <control> +\defineactivetoken 160 {\nonbreakablespace} % 00A0 NO-BREAK SPACE +\defineactivetoken 161 {\Aogonek} % 0104 LATIN CAPITAL LETTER A WITH OGONEK +\defineactivetoken 162 {\textbreve} % 02D8 BREVE +\defineactivetoken 163 {\Lstroke} % 0141 LATIN CAPITAL LETTER L WITH STROKE +\defineactivetoken 164 {\textcurrency} % 00A4 CURRENCY SIGN +\defineactivetoken 165 {\Lcaron} % 013D LATIN CAPITAL LETTER L WITH CARON +\defineactivetoken 166 {\Sacute} % 015A LATIN CAPITAL LETTER S WITH ACUTE +\defineactivetoken 167 {\sectionmark} % 00A7 SECTION SIGN +\defineactivetoken 168 {\textdiaeresis} % 00A8 DIAERESIS +\defineactivetoken 169 {\Scaron} % 0160 LATIN CAPITAL LETTER S WITH CARON +\defineactivetoken 170 {\Scedilla} % 015E LATIN CAPITAL LETTER S WITH CEDILLA +\defineactivetoken 171 {\Tcaron} % 0164 LATIN CAPITAL LETTER T WITH CARON +\defineactivetoken 172 {\Zacute} % 0179 LATIN CAPITAL LETTER Z WITH ACUTE +\defineactivetoken 173 {\softhyphen} % 00AD SOFT HYPHEN +\defineactivetoken 174 {\Zcaron} % 017D LATIN CAPITAL LETTER Z WITH CARON +\defineactivetoken 175 {\Zdotaccent} % 017B LATIN CAPITAL LETTER Z WITH DOT ABOVE +\defineactivetoken 176 {\textdegree} % 00B0 DEGREE SIGN +\defineactivetoken 177 {\aogonek} % 0105 LATIN SMALL LETTER A WITH OGONEK +\defineactivetoken 178 {\textogonek} % 02DB OGONEK +\defineactivetoken 179 {\lstroke} % 0142 LATIN SMALL LETTER L WITH STROKE +\defineactivetoken 180 {\textacute} % 00B4 ACUTE ACCENT +\defineactivetoken 181 {\lcaron} % 013E LATIN SMALL LETTER L WITH CARON +\defineactivetoken 182 {\sacute} % 015B LATIN SMALL LETTER S WITH ACUTE +\defineactivetoken 183 {\textcaron} % 02C7 CARON +\defineactivetoken 184 {\textcedilla} % 00B8 CEDILLA +\defineactivetoken 185 {\scaron} % 0161 LATIN SMALL LETTER S WITH CARON +\defineactivetoken 186 {\scedilla} % 015F LATIN SMALL LETTER S WITH CEDILLA +\defineactivetoken 187 {\tcaron} % 0165 LATIN SMALL LETTER T WITH CARON +\defineactivetoken 188 {\zacute} % 017A LATIN SMALL LETTER Z WITH ACUTE +\defineactivetoken 189 {\texthungarumlaut} % 02DD DOUBLE ACUTE ACCENT +\defineactivetoken 190 {\zcaron} % 017E LATIN SMALL LETTER Z WITH CARON +\defineactivetoken 191 {\zdotaccent} % 017C LATIN SMALL LETTER Z WITH DOT ABOVE +\defineactivetoken 192 {\Racute} % 0154 LATIN CAPITAL LETTER R WITH ACUTE +\defineactivetoken 193 {\Aacute} % 00C1 LATIN CAPITAL LETTER A WITH ACUTE +\defineactivetoken 194 {\Acircumflex} % 00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX +\defineactivetoken 195 {\Abreve} % 0102 LATIN CAPITAL LETTER A WITH BREVE +\defineactivetoken 196 {\Adiaeresis} % 00C4 LATIN CAPITAL LETTER A WITH DIAERESIS +\defineactivetoken 197 {\Lacute} % 0139 LATIN CAPITAL LETTER L WITH ACUTE +\defineactivetoken 198 {\Cacute} % 0106 LATIN CAPITAL LETTER C WITH ACUTE +\defineactivetoken 199 {\Ccedilla} % 00C7 LATIN CAPITAL LETTER C WITH CEDILLA +\defineactivetoken 200 {\Ccaron} % 010C LATIN CAPITAL LETTER C WITH CARON +\defineactivetoken 201 {\Eacute} % 00C9 LATIN CAPITAL LETTER E WITH ACUTE +\defineactivetoken 202 {\Eogonek} % 0118 LATIN CAPITAL LETTER E WITH OGONEK +\defineactivetoken 203 {\Ediaeresis} % 00CB LATIN CAPITAL LETTER E WITH DIAERESIS +\defineactivetoken 204 {\Ecaron} % 011A LATIN CAPITAL LETTER E WITH CARON +\defineactivetoken 205 {\Iacute} % 00CD LATIN CAPITAL LETTER I WITH ACUTE +\defineactivetoken 206 {\Icircumflex} % 00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX +\defineactivetoken 207 {\Dcaron} % 010E LATIN CAPITAL LETTER D WITH CARON +\defineactivetoken 208 {\Dstroke} % 0110 LATIN CAPITAL LETTER D WITH STROKE +\defineactivetoken 209 {\Nacute} % 0143 LATIN CAPITAL LETTER N WITH ACUTE +\defineactivetoken 210 {\Ncaron} % 0147 LATIN CAPITAL LETTER N WITH CARON +\defineactivetoken 211 {\Oacute} % 00D3 LATIN CAPITAL LETTER O WITH ACUTE +\defineactivetoken 212 {\Ocircumflex} % 00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX +\defineactivetoken 213 {\Ohungarumlaut} % 0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +\defineactivetoken 214 {\Odiaeresis} % 00D6 LATIN CAPITAL LETTER O WITH DIAERESIS +\defineactivetoken 215 {\textmultiply} % 00D7 MULTIPLICATION SIGN +\defineactivetoken 216 {\Rcaron} % 0158 LATIN CAPITAL LETTER R WITH CARON +\defineactivetoken 217 {\Uring} % 016E LATIN CAPITAL LETTER U WITH RING ABOVE +\defineactivetoken 218 {\Uacute} % 00DA LATIN CAPITAL LETTER U WITH ACUTE +\defineactivetoken 219 {\Uhungarumlaut} % 0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +\defineactivetoken 220 {\Udiaeresis} % 00DC LATIN CAPITAL LETTER U WITH DIAERESIS +\defineactivetoken 221 {\Yacute} % 00DD LATIN CAPITAL LETTER Y WITH ACUTE +\defineactivetoken 222 {\Tcedilla} % 0162 LATIN CAPITAL LETTER T WITH CEDILLA +\defineactivetoken 223 {\ssharp} % 00DF LATIN SMALL LETTER SHARP S +\defineactivetoken 224 {\racute} % 0155 LATIN SMALL LETTER R WITH ACUTE +\defineactivetoken 225 {\aacute} % 00E1 LATIN SMALL LETTER A WITH ACUTE +\defineactivetoken 226 {\acircumflex} % 00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX +\defineactivetoken 227 {\abreve} % 0103 LATIN SMALL LETTER A WITH BREVE +\defineactivetoken 228 {\adiaeresis} % 00E4 LATIN SMALL LETTER A WITH DIAERESIS +\defineactivetoken 229 {\lacute} % 013A LATIN SMALL LETTER L WITH ACUTE +\defineactivetoken 230 {\cacute} % 0107 LATIN SMALL LETTER C WITH ACUTE +\defineactivetoken 231 {\ccedilla} % 00E7 LATIN SMALL LETTER C WITH CEDILLA +\defineactivetoken 232 {\ccaron} % 010D LATIN SMALL LETTER C WITH CARON +\defineactivetoken 233 {\eacute} % 00E9 LATIN SMALL LETTER E WITH ACUTE +\defineactivetoken 234 {\eogonek} % 0119 LATIN SMALL LETTER E WITH OGONEK +\defineactivetoken 235 {\ediaeresis} % 00EB LATIN SMALL LETTER E WITH DIAERESIS +\defineactivetoken 236 {\ecaron} % 011B LATIN SMALL LETTER E WITH CARON +\defineactivetoken 237 {\iacute} % 00ED LATIN SMALL LETTER I WITH ACUTE +\defineactivetoken 238 {\icircumflex} % 00EE LATIN SMALL LETTER I WITH CIRCUMFLEX +\defineactivetoken 239 {\dcaron} % 010F LATIN SMALL LETTER D WITH CARON +\defineactivetoken 240 {\dstroke} % 0111 LATIN SMALL LETTER D WITH STROKE +\defineactivetoken 241 {\nacute} % 0144 LATIN SMALL LETTER N WITH ACUTE +\defineactivetoken 242 {\ncaron} % 0148 LATIN SMALL LETTER N WITH CARON +\defineactivetoken 243 {\oacute} % 00F3 LATIN SMALL LETTER O WITH ACUTE +\defineactivetoken 244 {\ocircumflex} % 00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX +\defineactivetoken 245 {\ohungarumlaut} % 0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE +\defineactivetoken 246 {\odiaeresis} % 00F6 LATIN SMALL LETTER O WITH DIAERESIS +\defineactivetoken 247 {\textdiv} % 00F7 DIVISION SIGN +\defineactivetoken 248 {\rcaron} % 0159 LATIN SMALL LETTER R WITH CARON +\defineactivetoken 249 {\uring} % 016F LATIN SMALL LETTER U WITH RING ABOVE +\defineactivetoken 250 {\uacute} % 00FA LATIN SMALL LETTER U WITH ACUTE +\defineactivetoken 251 {\uhungarumlaut} % 0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE +\defineactivetoken 252 {\udiaeresis} % 00FC LATIN SMALL LETTER U WITH DIAERESIS +\defineactivetoken 253 {\yacute} % 00FD LATIN SMALL LETTER Y WITH ACUTE +\defineactivetoken 254 {\tcedilla} % 0163 LATIN SMALL LETTER T WITH CEDILLA +\defineactivetoken 255 {\textdotaccent} % 02D9 DOT ABOVE + +\stopregime + diff --git a/tex/context/base/regi-iso-8859-7.tex b/tex/context/base/regi-iso-8859-7.tex index 7cd4b6a30..aa1e2e321 100644 --- a/tex/context/base/regi-iso-8859-7.tex +++ b/tex/context/base/regi-iso-8859-7.tex @@ -1,9 +1,9 @@ %D \module -%D [ file=regi-grk, -%D version=2003.03.01, +%D [ file=regi-iso-8859-7, +%D version=2006.04.10, %D title=\CONTEXT\ Encoding Macros, -%D subtitle=Greek, -%D author=Apostolos Syropoulos, +%D subtitle=iso-8859-7 (Greek), +%D author=script-generated, %D date=\currentdate, %D copyright=PRAGMA-ADE] %C @@ -11,107 +11,145 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\startregime[iso-8859-7] - -% -% Uppercase Greek letters -% - -\defineactivetoken 193 {\greekAlpha} -\defineactivetoken 194 {\greekBeta} -\defineactivetoken 195 {\greekGamma} -\defineactivetoken 196 {\greekDelta} -\defineactivetoken 197 {\greekEpsilon} -\defineactivetoken 198 {\greekZeta} -\defineactivetoken 199 {\greekEta} -\defineactivetoken 200 {\greekTheta} -\defineactivetoken 201 {\greekIota} -\defineactivetoken 202 {\greekKappa} -\defineactivetoken 203 {\greekLambda} -\defineactivetoken 204 {\greekMu} -\defineactivetoken 205 {\greekNu} -\defineactivetoken 206 {\greekXi} -\defineactivetoken 207 {\greekOmicron} -\defineactivetoken 208 {\greekPi} -\defineactivetoken 209 {\greekRho} -\defineactivetoken 211 {\greekSigma} -\defineactivetoken 212 {\greekTau} -\defineactivetoken 213 {\greekUpsilon} -\defineactivetoken 214 {\greekPhi} -\defineactivetoken 215 {\greekChi} -\defineactivetoken 216 {\greekPsi} -\defineactivetoken 217 {\greekOmega} - -% -% Lowercase Greek letters -% - -\defineactivetoken 225 {\greekalpha} -\defineactivetoken 226 {\greekbeta} -\defineactivetoken 227 {\greekgamma} -\defineactivetoken 228 {\greekdelta} -\defineactivetoken 229 {\greekepsilon} -\defineactivetoken 230 {\greekzeta} -\defineactivetoken 231 {\greeketa} -\defineactivetoken 232 {\greektheta} -\defineactivetoken 233 {\greekiota} -\defineactivetoken 234 {\greekkappa} -\defineactivetoken 235 {\greeklambda} -\defineactivetoken 236 {\greekmu} -\defineactivetoken 237 {\greeknu} -\defineactivetoken 238 {\greekxi} -\defineactivetoken 239 {\greekomicron} -\defineactivetoken 240 {\greekpi} -\defineactivetoken 241 {\greekrho} -\defineactivetoken 242 {\greekfinalsigma} -\defineactivetoken 243 {\greeksigma} -\defineactivetoken 244 {\greektau} -\defineactivetoken 245 {\greekupsilon} -\defineactivetoken 246 {\greekphi} -\defineactivetoken 247 {\greekchi} -\defineactivetoken 248 {\greekpsi} -\defineactivetoken 249 {\greekomega} +%D Support for iso-8859-7 input encoding (regime) for Greek, +%D see also cp1253. +%D +%D (Contributor to the original file: Apostolos Syropoulos.) +%D +%D Usage: +%D \type{\enableregime[iso-8859-7]} or +%D \type{\enableregime[grk]} -% -% Accented Uppercase Greek letters -% -\defineactivetoken 182 {\greekAlphatonos} -\defineactivetoken 184 {\greekEpsilontonos} -\defineactivetoken 185 {\greekEtatonos} -\defineactivetoken 186 {\greekIotatonos} -\defineactivetoken 188 {\greekOmicrontonos} -\defineactivetoken 190 {\greekUpsilontonos} -\defineactivetoken 191 {\greekOmegatonos} -\defineactivetoken 218 {\greekIotadialytika} -\defineactivetoken 219 {\greekUpsilondialytika} - -% -% Accented Lowercase Greek letters -% - -\defineactivetoken 220 {\greekalphatonos} -\defineactivetoken 221 {\greekepsilontonos} -\defineactivetoken 222 {\greeketatonos} -\defineactivetoken 223 {\greekiotatonos} -\defineactivetoken 252 {\greekomicrontonos} -\defineactivetoken 253 {\greekupsilontonos} -\defineactivetoken 254 {\greekomegatonos} -\defineactivetoken 250 {\greekiotadialytika} -\defineactivetoken 251 {\greekupsilondialytika} -\defineactivetoken 192 {\greekiotadialytikatonos} -\defineactivetoken 224 {\greekupsilondialytikatonos} - -% -% Miscellaneous Greek symbols -% +\startregime[iso-8859-7] -\defineactivetoken 171 {\greekleftquot} -\defineactivetoken 187 {\greekrightquot} -\defineactivetoken 180 {\greektonos} -\defineactivetoken 181 {\greekdialytikatonos} -\defineactivetoken 162 {\greekapostrophos} +\defineactivetoken 128 {\unknownchar} % 0080 <control> +\defineactivetoken 129 {\unknownchar} % 0081 <control> +\defineactivetoken 130 {\unknownchar} % 0082 <control> +\defineactivetoken 131 {\unknownchar} % 0083 <control> +\defineactivetoken 132 {\unknownchar} % 0084 <control> +\defineactivetoken 133 {\unknownchar} % 0085 <control> +\defineactivetoken 134 {\unknownchar} % 0086 <control> +\defineactivetoken 135 {\unknownchar} % 0087 <control> +\defineactivetoken 136 {\unknownchar} % 0088 <control> +\defineactivetoken 137 {\unknownchar} % 0089 <control> +\defineactivetoken 138 {\unknownchar} % 008A <control> +\defineactivetoken 139 {\unknownchar} % 008B <control> +\defineactivetoken 140 {\unknownchar} % 008C <control> +\defineactivetoken 141 {\unknownchar} % 008D <control> +\defineactivetoken 142 {\unknownchar} % 008E <control> +\defineactivetoken 143 {\unknownchar} % 008F <control> +\defineactivetoken 144 {\unknownchar} % 0090 <control> +\defineactivetoken 145 {\unknownchar} % 0091 <control> +\defineactivetoken 146 {\unknownchar} % 0092 <control> +\defineactivetoken 147 {\unknownchar} % 0093 <control> +\defineactivetoken 148 {\unknownchar} % 0094 <control> +\defineactivetoken 149 {\unknownchar} % 0095 <control> +\defineactivetoken 150 {\unknownchar} % 0096 <control> +\defineactivetoken 151 {\unknownchar} % 0097 <control> +\defineactivetoken 152 {\unknownchar} % 0098 <control> +\defineactivetoken 153 {\unknownchar} % 0099 <control> +\defineactivetoken 154 {\unknownchar} % 009A <control> +\defineactivetoken 155 {\unknownchar} % 009B <control> +\defineactivetoken 156 {\unknownchar} % 009C <control> +\defineactivetoken 157 {\unknownchar} % 009D <control> +\defineactivetoken 158 {\unknownchar} % 009E <control> +\defineactivetoken 159 {\unknownchar} % 009F <control> +\defineactivetoken 160 {\nonbreakablespace} % 00A0 NO-BREAK SPACE +\defineactivetoken 161 {\quoteleft} % 2018 LEFT SINGLE QUOTATION MARK +\defineactivetoken 162 {\quoteright} % 2019 RIGHT SINGLE QUOTATION MARK +\defineactivetoken 163 {\textsterling} % 00A3 POUND SIGN +\defineactivetoken 164 {\texteuro} % 20AC EURO SIGN +\defineactivetoken 165 {\?} % 20AF DRACHMA SIGN +\defineactivetoken 166 {\textbrokenbar} % 00A6 BROKEN BAR +\defineactivetoken 167 {\sectionmark} % 00A7 SECTION SIGN +\defineactivetoken 168 {\textdiaeresis} % 00A8 DIAERESIS +\defineactivetoken 169 {\copyright} % 00A9 COPYRIGHT SIGN +\defineactivetoken 170 {\?} % 037A GREEK YPOGEGRAMMENI +\defineactivetoken 171 {\leftguillemot} % 00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +\defineactivetoken 172 {\textlognot} % 00AC NOT SIGN +\defineactivetoken 173 {\softhyphen} % 00AD SOFT HYPHEN +\defineactivetoken 175 {\texthorizontalbar} % 2015 HORIZONTAL BAR +\defineactivetoken 176 {\textdegree} % 00B0 DEGREE SIGN +\defineactivetoken 177 {\textpm} % 00B1 PLUS-MINUS SIGN +\defineactivetoken 178 {\twosuperior} % 00B2 SUPERSCRIPT TWO +\defineactivetoken 179 {\threesuperior} % 00B3 SUPERSCRIPT THREE +\defineactivetoken 180 {\greektonos} % 0384 GREEK TONOS +\defineactivetoken 181 {\greekdialytikatonos} % 0385 GREEK DIALYTIKA TONOS +\defineactivetoken 182 {\greekAlphatonos} % 0386 GREEK CAPITAL LETTER ALPHA WITH TONOS +\defineactivetoken 183 {\periodcentered} % 00B7 MIDDLE DOT +\defineactivetoken 184 {\greekEpsilontonos} % 0388 GREEK CAPITAL LETTER EPSILON WITH TONOS +\defineactivetoken 185 {\greekEtatonos} % 0389 GREEK CAPITAL LETTER ETA WITH TONOS +\defineactivetoken 186 {\greekIotatonos} % 038A GREEK CAPITAL LETTER IOTA WITH TONOS +\defineactivetoken 187 {\rightguillemot} % 00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +\defineactivetoken 188 {\greekOmicrontonos} % 038C GREEK CAPITAL LETTER OMICRON WITH TONOS +\defineactivetoken 189 {\onehalf} % 00BD VULGAR FRACTION ONE HALF +\defineactivetoken 190 {\greekUpsilontonos} % 038E GREEK CAPITAL LETTER UPSILON WITH TONOS +\defineactivetoken 191 {\greekOmegatonos} % 038F GREEK CAPITAL LETTER OMEGA WITH TONOS +\defineactivetoken 192 {\greekiotadialytikatonos} % 0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +\defineactivetoken 193 {\greekAlpha} % 0391 GREEK CAPITAL LETTER ALPHA +\defineactivetoken 194 {\greekBeta} % 0392 GREEK CAPITAL LETTER BETA +\defineactivetoken 195 {\greekGamma} % 0393 GREEK CAPITAL LETTER GAMMA +\defineactivetoken 196 {\greekDelta} % 0394 GREEK CAPITAL LETTER DELTA +\defineactivetoken 197 {\greekEpsilon} % 0395 GREEK CAPITAL LETTER EPSILON +\defineactivetoken 198 {\greekZeta} % 0396 GREEK CAPITAL LETTER ZETA +\defineactivetoken 199 {\greekEta} % 0397 GREEK CAPITAL LETTER ETA +\defineactivetoken 200 {\greekTheta} % 0398 GREEK CAPITAL LETTER THETA +\defineactivetoken 201 {\greekIota} % 0399 GREEK CAPITAL LETTER IOTA +\defineactivetoken 202 {\greekKappa} % 039A GREEK CAPITAL LETTER KAPPA +\defineactivetoken 203 {\greekLambda} % 039B GREEK CAPITAL LETTER LAMDA +\defineactivetoken 204 {\greekMu} % 039C GREEK CAPITAL LETTER MU +\defineactivetoken 205 {\greekNu} % 039D GREEK CAPITAL LETTER NU +\defineactivetoken 206 {\greekXi} % 039E GREEK CAPITAL LETTER XI +\defineactivetoken 207 {\greekOmicron} % 039F GREEK CAPITAL LETTER OMICRON +\defineactivetoken 208 {\greekPi} % 03A0 GREEK CAPITAL LETTER PI +\defineactivetoken 209 {\greekRho} % 03A1 GREEK CAPITAL LETTER RHO +\defineactivetoken 210 {\unknownchar} % <undefined> +\defineactivetoken 211 {\greekSigma} % 03A3 GREEK CAPITAL LETTER SIGMA +\defineactivetoken 212 {\greekTau} % 03A4 GREEK CAPITAL LETTER TAU +\defineactivetoken 213 {\greekUpsilon} % 03A5 GREEK CAPITAL LETTER UPSILON +\defineactivetoken 214 {\greekPhi} % 03A6 GREEK CAPITAL LETTER PHI +\defineactivetoken 215 {\greekChi} % 03A7 GREEK CAPITAL LETTER CHI +\defineactivetoken 216 {\greekPsi} % 03A8 GREEK CAPITAL LETTER PSI +\defineactivetoken 217 {\greekOmega} % 03A9 GREEK CAPITAL LETTER OMEGA +\defineactivetoken 218 {\greekIotadialytika} % 03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA +\defineactivetoken 219 {\greekUpsilondialytika} % 03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA +\defineactivetoken 220 {\greekalphatonos} % 03AC GREEK SMALL LETTER ALPHA WITH TONOS +\defineactivetoken 221 {\greekepsilontonos} % 03AD GREEK SMALL LETTER EPSILON WITH TONOS +\defineactivetoken 222 {\greeketatonos} % 03AE GREEK SMALL LETTER ETA WITH TONOS +\defineactivetoken 223 {\greekiotatonos} % 03AF GREEK SMALL LETTER IOTA WITH TONOS +\defineactivetoken 224 {\greekupsilondialytikatonos} % 03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS +\defineactivetoken 225 {\greekalpha} % 03B1 GREEK SMALL LETTER ALPHA +\defineactivetoken 226 {\greekbeta} % 03B2 GREEK SMALL LETTER BETA +\defineactivetoken 227 {\greekgamma} % 03B3 GREEK SMALL LETTER GAMMA +\defineactivetoken 228 {\greekdelta} % 03B4 GREEK SMALL LETTER DELTA +\defineactivetoken 229 {\greekepsilon} % 03B5 GREEK SMALL LETTER EPSILON +\defineactivetoken 230 {\greekzeta} % 03B6 GREEK SMALL LETTER ZETA +\defineactivetoken 231 {\greeketa} % 03B7 GREEK SMALL LETTER ETA +\defineactivetoken 232 {\greektheta} % 03B8 GREEK SMALL LETTER THETA +\defineactivetoken 233 {\greekiota} % 03B9 GREEK SMALL LETTER IOTA +\defineactivetoken 234 {\greekkappa} % 03BA GREEK SMALL LETTER KAPPA +\defineactivetoken 235 {\greeklambda} % 03BB GREEK SMALL LETTER LAMDA +\defineactivetoken 236 {\greekmu} % 03BC GREEK SMALL LETTER MU +\defineactivetoken 237 {\greeknu} % 03BD GREEK SMALL LETTER NU +\defineactivetoken 238 {\greekxi} % 03BE GREEK SMALL LETTER XI +\defineactivetoken 239 {\greekomicron} % 03BF GREEK SMALL LETTER OMICRON +\defineactivetoken 240 {\greekpi} % 03C0 GREEK SMALL LETTER PI +\defineactivetoken 241 {\greekrho} % 03C1 GREEK SMALL LETTER RHO +\defineactivetoken 242 {\greekfinalsigma} % 03C2 GREEK SMALL LETTER FINAL SIGMA +\defineactivetoken 243 {\greeksigma} % 03C3 GREEK SMALL LETTER SIGMA +\defineactivetoken 244 {\greektau} % 03C4 GREEK SMALL LETTER TAU +\defineactivetoken 245 {\greekupsilon} % 03C5 GREEK SMALL LETTER UPSILON +\defineactivetoken 246 {\greekphi} % 03C6 GREEK SMALL LETTER PHI +\defineactivetoken 247 {\greekchi} % 03C7 GREEK SMALL LETTER CHI +\defineactivetoken 248 {\greekpsi} % 03C8 GREEK SMALL LETTER PSI +\defineactivetoken 249 {\greekomega} % 03C9 GREEK SMALL LETTER OMEGA +\defineactivetoken 250 {\greekiotadialytika} % 03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA +\defineactivetoken 251 {\greekupsilondiaeresis} % 03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA +\defineactivetoken 252 {\greekomicrontonos} % 03CC GREEK SMALL LETTER OMICRON WITH TONOS +\defineactivetoken 253 {\greekupsilontonos} % 03CD GREEK SMALL LETTER UPSILON WITH TONOS +\defineactivetoken 254 {\greekomegatonos} % 03CE GREEK SMALL LETTER OMEGA WITH TONOS +\defineactivetoken 255 {\unknownchar} % <undefined> \stopregime -\endinput diff --git a/tex/context/base/regi-syn.tex b/tex/context/base/regi-syn.tex index 53f03f5a3..324ccf62b 100644 --- a/tex/context/base/regi-syn.tex +++ b/tex/context/base/regi-syn.tex @@ -55,14 +55,8 @@ % for historical reasons / compatibility \defineregimesynonym [windows] [cp1252] -\defineregimesynonym [win] [cp1252] \defineregimesynonym [grk] [iso-8859-7] - -% todo: regi-cyp has more in it -% -% some day mojca will figure out regi-cyp which has -% multiple variants in it - \defineregimesynonym [iso88595] [iso-8859-5] \protect \endinput + diff --git a/tex/context/base/sort-def.tex b/tex/context/base/sort-def.tex index e2496f196..10dc31b14 100644 --- a/tex/context/base/sort-def.tex +++ b/tex/context/base/sort-def.tex @@ -31,6 +31,9 @@ \exportsortexpansion{eth} {} \exportsortexpansion{Eth} {} +\exportsortexpansion{dj} {dstroke} +\exportsortexpansion{Dj} {Dstroke} + \exportsortexpansion{Acircumflex} {} \exportsortexpansion{acircumflex} {} \exportsortexpansion{Ccircumflex} {} diff --git a/tex/context/base/x-newcml.tex b/tex/context/base/x-newcml.tex new file mode 100644 index 000000000..1c2b8f53e --- /dev/null +++ b/tex/context/base/x-newcml.tex @@ -0,0 +1,454 @@ +%D \module +%D [ file=x-newmml, +%D version=2006.04.09, % reimplementation +%D title=\CONTEXT\ XML Modules, +%D subtitle=ChemML renderer, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D This used to be an xtag filter using remapping but the +%D following is nore in sync with the new mathml methods. + +\writestatus{loading}{Context XML Macros (chem ml)} + +\unprotect + +\def\setupCMLappearance[#1]{\dodoubleargument\getparameters[@@CML#1]} + +\defineXMLdirective [chemml] \setupCMLappearance + +\defineXMLargument [chem] \automathematics % \rm +\defineXMLargument [ichem] \inlinemathematics % \rm +\defineXMLargument [dchem] \displaymathematics % \rm + +\def\doifnotXMLparzero#1#2#3% + {\ifcase\XMLpar{#1}{#2}{0}\else#3{\XMLpar{#1}{#2}{0}}\fi} + +\defineXMLargument [caption] \doCMLcaption + +\let\CMLtopcaption\empty +\let\CMLbotcaption\empty + +\chardef\CMLcaptionmode\plusone + +\def\doCMLcaption#1% + {\ifcase\CMLcaptionmode + % can't happen + \or + \def\CMLbotcaption{#1}% + \chardef\CMLcaptionmode\plustwo + \or + \def\CMLtopcaption{#1}% + \chardef\CMLcaptionmode\plusthree + \fi} + +\def\resetCMLcaption + {\let\CMLtopcaption\empty + \let\CMLbotcaption\empty + \chardef\CMLcaptionmode\plusone} + +\resetCMLcaption + +\def\doCMLtext#1% + {\ifx\CMLtopcaption\empty + \setbox0\null + \else + \setbox0\hbox{\txx\setstrut\strut\ignorespaces\CMLtopcaption\unskip}% + \fi + \setbox2\hbox{\ignorespaces\strut#1\unskip}% + \ifx\CMLbotcaption\empty + \setbox4\null + \else + \setbox4\hbox{\txx\setstrut\strut\ignorespaces\CMLbotcaption\unskip}% + \fi + \scratchdimen=\wd2\advance\scratchdimen-.5em + \ifdim\wd0>\scratchdimen + \setbox0\hbox spread .5em{\hss\box0\hss}% + \fi + \ifdim\wd4>\scratchdimen + \setbox4\hbox spread .5em{\hss\box4\hss}% + \fi + \setbox6=\vbox + {\offinterlineskip\halign{\hss##\hss\cr\copy0\cr\copy2\cr\copy4\cr}}% + \hbox{\lower\ht4\hbox{\lower\dp2\box6}}} + +\def\CMLscript#1% + {$\scriptscriptstyle\ignorespaces#1\unskip$} + +% \startsetups cml:flush:all +% \ignorespaces +% \XMLallnamed{atom,bond,singlebond,doublebond,triplebond} +% \removeunwantedspaces +% \stopsetups + +\newcounter\currentCMLatom +\newcounter\nofCMLatoms + +\defineXMLenvironmentsave + [atom] + [n=0,weight=0,protons=0,charge=0] + {\directsetup{cml:atom:start}} + {\directsetup{cml:atom:stop}} + +\startsetups cml:atom:start + \removeunwantedspaces +\stopsetups + +\startsetups cml:atom:stop + \increment\currentCMLatom + \resetCMLcaption + \doCMLtext { + \bgroup + \lohi { + \doifnotXMLparzero{atom}{protons}\CMLscript + } { + \doifnotXMLparzero{atom}{weight}\CMLscript + } + \ignorespaces + \XMLflush{atom} + \removeunwantedspaces + \lohi { + \doifnotXMLparzero{atom}{n}\CMLscript + } { + \ifnum\nofCMLatoms=\currentCMLatom\relax + \doifnotXMLparzero{ion}{charge}\CMLscript + \else + \doifnotXMLparzero{atom}{charge}\CMLscript + \fi + } + \egroup + } + \ignorespaces +\stopsetups + +\defineXMLnested % why not environment + [molecule] + [n=0] + {\directsetup{cml:molecule:start}} + {\directsetup{cml:molecule:stop}} + +\startsetups cml:molecule:start + \removeunwantedspaces + \begingroup + \startsavingXMLelements +\ignorespaces +\stopsetups + +\startsetups cml:molecule:stop +\removeunwantedspaces + \stopsavingXMLelements + \resetCMLcaption + \XMLfirstnamed{caption} + \doCMLtext { + \newcounter\currentCMLatom + \newcounter\nofCMLatoms + \doifnotXMLparzero{molecule}{n}\firstofoneargument + \ignorespaces + \XMLallnamed{atom,ion,bond,singlebond,doublebond,triplebond} + \removeunwantedspaces + } + \endgroup + \ignorespaces +\stopsetups + +\setupCMLappearance [ion] [\c!alternative=\v!a] + +\defineXMLnested + [ion] + [n=0,charge=0] + {\directsetup{cml:ion:start}} + {\directsetup{cml:ion:stop}} + +\startsetups cml:ion:start + \begingroup + \startsavingXMLelements +\ignorespaces +\stopsetups + +\startsetups cml:ion:stop +\removeunwantedspaces + \stopsavingXMLelements + \resetCMLcaption + \XMLfirstnamed{caption} + \doCMLtext { + \newcounter\currentCMLatom + \newcounter\nofCMLatoms + \doifnotXMLparzero{ion}{n}\firstofoneargument + \doifelse\@@CMLionalternative\v!b { + [\ignorespaces + \XMLallnamed{atom,bond,singlebond,doublebond,triplebond} + \removeunwantedspaces] + \high { + \doifnotXMLparzero{ion}{charge}\CMLscript + } + } { + \countXMLnamedstack{atom} + \edef\nofCMLatoms{\the\scratchcounter}% todo: \nofXMLchildren + \ignorespaces + \XMLallnamed{atom,bond,singlebond,doublebond,triplebond} + \removeunwantedspaces + } + } + \endgroup + \ignorespaces +\stopsetups + +\let\doCMLsymbol\gobbleoneargument +\let\doCMLarrow \gobblethreearguments + +\defineXMLenvironment + [reaction] + {\directsetup{cml:reaction:start}} + {\directsetup{cml:reaction:stop}} + +\startsetups cml:reaction:start + \begingroup + \let\doCMLsymbol\dodoCMLsymbol + \let\doCMLarrow \dodoCMLarrow +\stopsetups + +\startsetups cml:reaction:stop + \endgroup +\stopsetups + +\defineXMLcommand [plus] {\doCMLsymbol{+}} +\defineXMLcommand [minus] {\doCMLsymbol{-}} +\defineXMLcommand [equal] {\doCMLsymbol{=}} + +\def\dodoCMLsymbol#1% + {\removeunwantedspaces\quad + \mathop{#1}% + \quad\kern\zeropoint\ignorespaces} + +\defineXMLcommand [gives] {\resetCMLcaption\doCMLgives} +\defineXMLcommand [equilibrium] {\resetCMLcaption\doCMLequilibrium} +\defineXMLcommand [mesomeric] {\resetCMLcaption\doCMLmesomeric} + +\def\dodoCMLarrow#1% + {\removeunwantedspaces\quad + \doCMLtext{$\vcenter{\offinterlineskip\halign{##\cr\hskip3em\cr#1\cr}}$}% + \quad\kern\zeropoint\ignorespaces} + +\def\doCMLgives + {\doCMLarrow{\rightarrowfill}} + +\def\doCMLequilibrium + {\doCMLarrow{\rightarrowfill\cr\noalign{\nointerlineskip}\leftarrowfill}} + +\def\doCMLmesomeric + {\doCMLarrow{$\leftarrow\hskip-1em$\rightarrowfill}} + +\defineXMLcommand [bond] [n=1] \doCMLbond +\defineXMLcommand [singlebond] [n=1] \doCMLsinglebond +\defineXMLcommand [doublebond] [n=1] \doCMLdoublebond +\defineXMLcommand [triplebond] [n=1] \doCMLtriplebond + +\def\doCMLbond + {\ifcase\XMLop{n}\relax + \doCMLsinglebond + \or + \doCMLdoublebond + \or + \doCMLtriplebond + \fi} + +\def\doCMLbond + {\removeunwantedspaces + \hrule \!!width \hsize \!!height .1ex\relax % .4pt + \ignorespaces} + +\def\dodoCMLbond#1#2#3% + {\removeunwantedspaces + \begingroup + \setbox\scratchbox\hbox{$M$}% + \vbox to \ht\scratchbox + {\hsize\wd\scratchbox + \vskip.1\wd\scratchbox + #1\vfill#2\vfill#3% + \vskip.1\wd\scratchbox}% + \endgroup + \ignorespaces} + +\def\doCMLsinglebond{\dodoCMLbond\relax \doCMLbond\relax } +\def\doCMLdoublebond{\dodoCMLbond\doCMLbond\relax \doCMLbond} +\def\doCMLtriplebond{\dodoCMLbond\doCMLbond\doCMLbond\doCMLbond} + +% extensions (uses m-chemic, which thenneeds to be loaded) + +% <dchem> +% <structure> +% <component> +% <graphic>SIX,B</graphic> +% <graphic>R135</graphic> +% </component> +% <component> +% <graphic>R246</graphic> +% </component> +% <component> +% <graphic>RZ</graphic> +% <text>A,B,C,D,E,F</text> +% </component> +% <component> +% <graphic>Z</graphic> +% <oxidation n="3">A</oxidation> +% <annotation location="tl"> +% <text>B</text> +% <caption>x</caption> +% </annotation> +% <oxidation n="3" sign="+">C</oxidation> +% <text>D,E,F</text> +% </component> +% </structure> +% <structure> +% <component> +% <graphic>SIX,B</graphic> +% <graphic>r135</graphic> +% </component> +% <component> +% <graphic>R246</graphic> +% </component> +% <component> +% <graphic>RZ</graphic> +% <text>A,B,C,D,E,F</text> +% </component> +% </structure> +% </dchem> + +\ifx\XMLttoks \undefined \newtoks \XMLttoks \fi +\ifx\XMLgtoks \undefined \newtoks \XMLgtoks \fi + +\ifx\startchemical\undefined + \def\startchemical {\hbox{module chemic is not loaded}} + \let\stopchemical {} + \def\chemical[#1][#2]{} +\fi + +\defineXMLenvironment + [structure] + {\startchemical + \ignorespaces} + {\removeunwantedspaces + \stopchemical} + +\defineXMLenvironment + [component] + {\global\XMLgtoks\emptytoks + \global\XMLttoks\emptytoks + \defineXMLargument[graphic]{\dogetCMLgraphic}% + \defineXMLargument[text] {\dogetCMLtext}% + \ignorespaces} + {\removeunwantedspaces + \expanded{\chemical[\the\XMLgtoks][\the\XMLttoks]}% + \ignorespaces} + +\def\dogetCMLgraphic#1% + {\doifelsenothing{\the\XMLgtoks} + {\uppercase{\doglobal\appendtoks #1\to\XMLgtoks}} + {\uppercase{\doglobal\appendtoks,#1\to\XMLgtoks}}% + \ignorespaces} + +\def\dogetCMLtext#1% + {\doifelsenothing{\the\XMLttoks} + {\uppercase{\doglobal\appendtoks #1\to\XMLttoks}} + {\uppercase{\doglobal\appendtoks,#1\to\XMLttoks}}% + \ignorespaces} + +\defineXMLargument + [oxidation] + [sign=,n=1] + {\doCMLoxidation} + +\def\doCMLoxidation#1% + {\expanded{\dogetCMLtext{\noexpand\chemicaloxidation{\XMLop{cml}}{\XMLop{n}}{#1}}}% + \ignorespaces} + +% \defineXMLenvironment +% [annotation] +% [location=] +% {\defineXMLsave[text]% +% \defineXMLsave[caption]} +% {\removeunwantedspaces +% \processaction +% [\XMLpar{annotation}{location}{r}] +% [ t=>\dodoCMLannotation\chemicaltop, +% b=>\dodoCMLannotation\chemicalbottom, +% l=>\dodoCMLannotation\chemicalleft, +% r=>\dodoCMLannotation\chemicalright, +% lc=>\dodoCMLannotation\chemicalleftcentered, +% rc=>\dodoCMLannotation\chemicalrightcentered, +% tl=>\dodoCMLannotation\chemicaltopleft, +% bl=>\dodoCMLannotation\chemicalbottomleft, +% tr=>\dodoCMLannotation\chemicaltopright, +% br=>\dodoCMLannotation\chemicalbottomright, +% lt=>\dodoCMLannotation\chemicallefttop, +% lb=>\dodoCMLannotation\chemicalleftbottom, +% rt=>\dodoCMLannotation\chemicalrighttop, +% rb=>\dodoCMLannotation\chemicalrightbottom, +% x=>\dodoCMLannotation\chemicaltighttext, +% sl=>\dodoCMLannotation\chemicalsmashedleft, +% sm=>\dodoCMLannotation\chemicalsmashedmiddle, +% sr=>\dodoCMLannotation\chemicalsmashedright]% +% \ignorespaces} + +% todo: generic mapper t -> top etc + +\mapXMLvalue {cml:a:l} {t} {\dodoCMLannotation\chemicaltop} +\mapXMLvalue {cml:a:l} {b} {\dodoCMLannotation\chemicalbottom} +\mapXMLvalue {cml:a:l} {l} {\dodoCMLannotation\chemicalleft} +\mapXMLvalue {cml:a:l} {r} {\dodoCMLannotation\chemicalright} +\mapXMLvalue {cml:a:l} {lc} {\dodoCMLannotation\chemicalleftcentered} +\mapXMLvalue {cml:a:l} {rc} {\dodoCMLannotation\chemicalrightcentered} +\mapXMLvalue {cml:a:l} {tl} {\dodoCMLannotation\chemicaltopleft} +\mapXMLvalue {cml:a:l} {bl} {\dodoCMLannotation\chemicalbottomleft} +\mapXMLvalue {cml:a:l} {tr} {\dodoCMLannotation\chemicaltopright} +\mapXMLvalue {cml:a:l} {br} {\dodoCMLannotation\chemicalbottomright} +\mapXMLvalue {cml:a:l} {lt} {\dodoCMLannotation\chemicallefttop} +\mapXMLvalue {cml:a:l} {lb} {\dodoCMLannotation\chemicalleftbottom} +\mapXMLvalue {cml:a:l} {rt} {\dodoCMLannotation\chemicalrighttop} +\mapXMLvalue {cml:a:l} {rb} {\dodoCMLannotation\chemicalrightbottom} +\mapXMLvalue {cml:a:l} {x} {\dodoCMLannotation\chemicaltighttext} +\mapXMLvalue {cml:a:l} {sl} {\dodoCMLannotation\chemicalsmashedleft} +\mapXMLvalue {cml:a:l} {sm} {\dodoCMLannotation\chemicalsmashedmiddle} +\mapXMLvalue {cml:a:l} {sr} {\dodoCMLannotation\chemicalsmashedright} + +% \mapXMLvalue {cml:a:l} {cl} {\dodoCMLannotation\chemicalleftcentered} +% \mapXMLvalue {cml:a:l} {cr} {\dodoCMLannotation\chemicalrightcentered} +% \mapXMLvalue {cml:a:l} {lt} {\dodoCMLannotation\chemicaltopleft} +% \mapXMLvalue {cml:a:l} {lb} {\dodoCMLannotation\chemicalbottomleft} +% \mapXMLvalue {cml:a:l} {rt} {\dodoCMLannotation\chemicaltopright} +% \mapXMLvalue {cml:a:l} {rb} {\dodoCMLannotation\chemicalbottomright} +% \mapXMLvalue {cml:a:l} {tl} {\dodoCMLannotation\chemicallefttop} +% \mapXMLvalue {cml:a:l} {bl} {\dodoCMLannotation\chemicalleftbottom} +% \mapXMLvalue {cml:a:l} {tr} {\dodoCMLannotation\chemicalrighttop} +% \mapXMLvalue {cml:a:l} {br} {\dodoCMLannotation\chemicalrightbottom} +% \mapXMLvalue {cml:a:l} {ls} {\dodoCMLannotation\chemicalsmashedleft} +% \mapXMLvalue {cml:a:l} {ms} {\dodoCMLannotation\chemicalsmashedmiddle} +% \mapXMLvalue {cml:a:l} {rs} {\dodoCMLannotation\chemicalsmashedright} + +\defineXMLenvironment + [annotation] + [location=] + {\pushXMLmeaning{text}% + \pushXMLmeaning{caption}% + \defineXMLsave[text]% + \defineXMLsave[caption]} + {\removeunwantedspaces + \XMLval{cml:a:l}{\XMLpar{annotation}{location}{r}}{\XMLflush{text}}% + \popXMLmeaning{text}% + \popXMLmeaning{caption}% + \ignorespaces} + +\def\dodoCMLannotation#1% + {\expanded{\dogetCMLtext{\noexpand#1{\XMLflush{caption}}{\XMLflush{text}}}}} + +\defineXMLenvironment + [forever] + {\left[} + {\right]} + +\protect \endinput diff --git a/tex/context/base/x-newmml.tex b/tex/context/base/x-newmml.tex index bf51a336e..5bc4c324a 100644 --- a/tex/context/base/x-newmml.tex +++ b/tex/context/base/x-newmml.tex @@ -130,63 +130,22 @@ \stopXMLmapping -% already generalized - -\def\MMCallnamed#1% - {\dorecurse\XMLstacklevel - {\expanded{\doifinset{\getXMLstackname\recurselevel}{#1}} - {\getXMLstackdata\recurselevel}}} - -\def\defMMCfirstnamed#1#2% \cs list - {\dorecurse\XMLstacklevel - {\expanded{\doifinset{\getXMLstackname\recurselevel}{#2}} - {\defXMLstackdata#1\recurselevel\exitloop}}} - -\def\defMMCfirstnamedtext#1#2% \cs list - {\dorecurse\XMLstacklevel - {\expanded{\doifinset{\getXMLstackname\recurselevel}{#2}} - {\edef#1{\getXMLstacktext\recurselevel}\exitloop}}} - -\def\MMCfirstnamed#1% - {\dorecurse\XMLstacklevel - {\expanded{\doifinset{\getXMLstackname\recurselevel}{#1}} - {\getXMLstackdata\recurselevel\exitloop}}} - -\def\MMCnotnamed#1% - {\dorecurse\XMLstacklevel - {\expanded{\doifnotinset{\getXMLstackname\recurselevel}{#1}} - {\getXMLstackdata\recurselevel\exitloop}}} - -\let\MMCstackposition\!!zerocount - -\def\MMCdoifelsefound#1% - {\!!doneafalse - \let\MMCstackposition\!!zerocount - \dorecurse\XMLstacklevel - {\expanded{\doifinset{\getXMLstackname\recurselevel}{#1}} - {\let\MMCstackposition\recurselevel\!!doneatrue\exitloop}}% - \if!!donea - \expandafter\firstoftwoarguments - \else - \expandafter\secondoftwoarguments - \fi} - %D Auxiliary MathML macros: (to be generalized) \def\doifelseMMCfunction {\begingroup - \MMCdoifelsefound{fn} + \XMLdoifonstackelse{fn} {\donetrue} - {\MMCdoifelsefound{apply} - {\defMMCfirstnamedtext\ascii{apply}% + {\XMLdoifonstackelse{apply} + {\defXMLfirstnamedtext\ascii{apply}% \startsavingXMLelements % best use a substack so that we donnot need to \edef \ascii \stopsavingXMLelements} {}% - \MMCdoifelsefound{fn} + \XMLdoifonstackelse{fn} {\donetrue} {\defineXMLsave[ci][type=]% - \MMCfirstnamed{ci}% + \XMLfirstnamed{ci}% \doifelse{\XMLpar{ci}{type}{}}{fn} {\donetrue} {\donefalse}}}% @@ -690,8 +649,8 @@ {\directsetup{mmc:condition:stop}} \startsetups mmc:condition:start -% \MMCdoifelsefound{bvar} { -% \MMCfirstnamed{bvar}\mid +% \XMLdoifonstackelse{bvar} { +% \XMLfirstnamed{bvar}\mid % } { } \begingroup \startsavingXMLelements @@ -754,10 +713,10 @@ \ifnum\scratchcounter>\plusone \left(\flushXMLnamedstackwith\plusone{bvar}\MMLccomma\right) \else - \MMCfirstnamed{bvar} + \XMLfirstnamed{bvar} \fi \getXMLentity{mapsto} - \MMCfirstnamed{apply,reln,ci,cn} + \XMLfirstnamed{apply,reln,ci,cn} } \endgroup \stopsetups @@ -994,14 +953,14 @@ \setupMMLappearance[root][\c!symbol=\v!yes] \startsetups mmc:root - \MMCdoifelsefound {degree} { + \XMLdoifonstackelse {degree} { \root - \doifnot\@@MMLrootsymbol\v!no{\MMLcreset\MMCfirstnamed{degree}} + \doifnot\@@MMLrootsymbol\v!no{\MMLcreset\XMLfirstnamed{degree}} \of } { \sqrt } - {\MMLcreset\MMCfirstnamed{apply,reln,ci,cn}} + {\MMLcreset\XMLfirstnamed{apply,reln,ci,cn}} \stopsetups % gcd @@ -1039,10 +998,10 @@ \startsetups mmc:forall-exists _{\flushXMLnamedstackwith\plustwo{bvar}\MMLccomma} - \MMCdoifelsefound {condition} { + \XMLdoifonstackelse {condition} { \getXMLentity{ThickSpace} \begingroup - \MMCfirstnamed{condition} + \XMLfirstnamed{condition} \endgroup \countXMLnamedstack {apply,reln,ci,cn} \ifcase\scratchcounter @@ -1061,7 +1020,7 @@ \right. \fi } { - :\MMCfirstnamed{apply,reln,ci,cn} + :\XMLfirstnamed{apply,reln,ci,cn} } \stopsetups @@ -1159,19 +1118,19 @@ \startsetups mmc:int \MMLcreset - \MMCdoifelsefound{domainofapplication} { - \int\doMMLlimits{int}_{\MMCfirstnamed{domainofapplication}}\relax + \XMLdoifonstackelse{domainofapplication} { + \int\doMMLlimits{int}_{\XMLfirstnamed{domainofapplication}}\relax } { - \MMCdoifelsefound{condition} { - \int\doMMLlimits{int}_{\MMCfirstnamed{condition}}\relax + \XMLdoifonstackelse{condition} { + \int\doMMLlimits{int}_{\XMLfirstnamed{condition}}\relax } { - \MMCdoifelsefound{lowlimit} { + \XMLdoifonstackelse{lowlimit} { \int\doMMLlimits{int} - _{\MMCfirstnamed{lowlimit}} - ^{\MMCfirstnamed{uplimit}} + _{\XMLfirstnamed{lowlimit}} + ^{\XMLfirstnamed{uplimit}} } { % funny, why do we have lowlimit/uplimit then - \MMCdoifelsefound{interval} { + \XMLdoifonstackelse{interval} { \begingroup \startlocalsetups mmc:interval:start % \begingroup @@ -1185,7 +1144,7 @@ \stoplocalsetups \globallet\MMLfirstelement \empty \globallet\MMLsecondelement\empty - \MMCfirstnamed{interval} + \XMLfirstnamed{interval} \endgroup \int\doMMLlimits{int} _{\MMLfirstelement} @@ -1197,21 +1156,21 @@ } } \MMLcreset - \MMCdoifelsefound{apply} { + \XMLdoifonstackelse{apply} { \doifelseMMCfunction { - \MMCfirstnamed{apply} + \XMLfirstnamed{apply} } { % if there are too many () now, we need to be more clever - \left(\MMCfirstnamed{apply}\right) + \left(\XMLfirstnamed{apply}\right) } } { - \MMCfirstnamed{ci} + \XMLfirstnamed{ci} } - \MMCdoifelsefound{bvar} { + \XMLdoifonstackelse{bvar} { \,% \getXMLentity{ThinSpace}% % {\MMLrm\getXMLentity{mathematicald}} \mfunction{\getXMLentity{mathematicald}} - \MMCfirstnamed{bvar} + \XMLfirstnamed{bvar} } { % nothing } @@ -1224,9 +1183,9 @@ \startsetups mmc:diff \MMLcreset - \MMCdoifelsefound{bvar} { + \XMLdoifonstackelse{bvar} { \frac { - \MMCdoifelsefound{degree} { + \XMLdoifonstackelse{degree} { \collectXMLnamedstack{degree}\empty } { \collectXMLnamedstacknamed{bvar}{degree}+ @@ -1237,13 +1196,13 @@ \mfunction{\getXMLentity{mathematicald}} ^{\the\XMLRtoks} \doif\@@MMLdifflocation\v!top { - \MMCdoifelsefound{ci} { - \MMCfirstnamed{ci} + \XMLdoifonstackelse{ci} { + \XMLfirstnamed{ci} } { % \doifelseMMCfunction { - \MMLcreset\MMCfirstnamed{apply} + \MMLcreset\XMLfirstnamed{apply} % } { -% \left(\MMLcreset\MMCfirstnamed{apply}\right) +% \left(\MMLcreset\XMLfirstnamed{apply}\right) % } } } @@ -1254,14 +1213,14 @@ \mfunction{\getXMLentity{mathematicald}} \begingroup \defineXMLsave[degree] - \MMCfirstnamed{bvar} + \XMLfirstnamed{bvar} \doifXMLdata{degree} { ^{\XMLflush{degree}} } \endgroup } \doifnot\@@MMLdifflocation\v!top { - \left(\MMLcreset\MMCfirstnamed{apply,ci}\right) + \left(\MMLcreset\XMLfirstnamed{apply,ci}\right) } } { \flushXMLstackfrom\plustwo^\prime @@ -1269,18 +1228,18 @@ \stopsetups \startsetups mmc:partialdiff - \MMCdoifelsefound{list} { + \XMLdoifonstackelse{list} { \getXMLentity{capitaldifferentiald}_{ \begingroup \setfalse\MMLlistdelimiters - \MMCallnamed{list} + \XMLallnamed{list} \endgroup } - \MMCfirstnamed{apply,reln,ci,cn} + \XMLfirstnamed{apply,reln,ci,cn} } { - \MMCdoifelsefound{bvar} { + \XMLdoifonstackelse{bvar} { \frac { - \MMCdoifelsefound{degree} { + \XMLdoifonstackelse{degree} { \collectXMLnamedstack{degree}\empty } { \collectXMLnamedstacknamed{bvar}{degree}+ @@ -1289,15 +1248,15 @@ % \let\MMLcDEGREE\gobbletwoarguments % \doifelseMMCfunction\MMLcreset\donothing \MMLcreset - \MMCfirstnamed{apply,reln,ci,cn} + \XMLfirstnamed{apply,reln,ci,cn} } { \defineXMLnested[bvar] {\directsetup{mmc:bvar:diff:start}} {\directsetup{mmc:bvar:diff:stop}} - \MMCfirstnamed{bvar} + \XMLfirstnamed{bvar} } } { - \MMCfirstnamed{apply,reln,ci,cn} + \XMLfirstnamed{apply,reln,ci,cn} } } \stopsetups @@ -1309,9 +1268,9 @@ \startsetups mmc:bvar:diff:stop \stopsavingXMLelements - \getXMLentity{differentiald}\MMCfirstnamed{apply,reln,ci,cn} - \MMCdoifelsefound{degree} { - ^{\MMCfirstnamed{degree}} + \getXMLentity{differentiald}\XMLfirstnamed{apply,reln,ci,cn} + \XMLdoifonstackelse{degree} { + ^{\XMLfirstnamed{degree}} } { % nothing } @@ -1362,8 +1321,8 @@ \startsetups mmc:set:stop \stopsavingXMLelements - \MMCdoifelsefound{condition} { - \left\{\MMCfirstnamed{bvar}\,\middle\vert\,\MMCfirstnamed{condition}\right\} + \XMLdoifonstackelse{condition} { + \left\{\XMLfirstnamed{bvar}\,\middle\vert\,\XMLfirstnamed{condition}\right\} } { \left\{\flushXMLstackwith\plusone\MMLccomma\right\} } @@ -1421,22 +1380,22 @@ \halign{$\scriptstyle\hss##\hss$\cr#1\crcr}}} \def\MMLcSUMandPRODUCT#1#2% - {\MMCdoifelsefound{condition,bvar,lowlimit} + {\XMLdoifonstackelse{condition,bvar,lowlimit} {\def\MMLcSUMlow - {_{\MMCdoifelsefound{condition} + {_{\XMLdoifonstackelse{condition} {\collectXMLnamedstack{condition}{\crcr}% \stackMMLsubscripts{\the\XMLRtoks}} - {\MMCdoifelsefound{bvar} - {\MMCfirstnamed{bvar}% - \MMCdoifelsefound{lowlimit}{=}{}}% + {\XMLdoifonstackelse{bvar} + {\XMLfirstnamed{bvar}% + \XMLdoifonstackelse{lowlimit}{=}{}}% {}% - \MMCfirstnamed{lowlimit}}}}} + \XMLfirstnamed{lowlimit}}}}} {\let\MMLcSUMlow\empty}% - \MMCdoifelsefound{uplimit} - {\def\MMLcSUMup{^{\MMCfirstnamed{uplimit}}}} + \XMLdoifonstackelse{uplimit} + {\def\MMLcSUMup{^{\XMLfirstnamed{uplimit}}}} {\let\MMLcSUMup\empty}% \MMLcreset#2\doMMLlimits{#1}\MMLcSUMup\MMLcSUMlow - \MMLcreset\MMCfirstnamed{apply,ci}} + \MMLcreset\XMLfirstnamed{apply,ci}} \defineXMLcommand [limit] {\directsetup{mmc:limit}} @@ -1446,17 +1405,17 @@ \MMLcreset \lim \doMMLlimits{limit}_{ \MMLcreset - \MMCdoifelsefound {condition} { - \MMCfirstnamed{condition} + \XMLdoifonstackelse {condition} { + \XMLfirstnamed{condition} } { - \MMCdoifelsefound {bvar} { - \MMCfirstnamed{bvar}\rightarrow + \XMLdoifonstackelse {bvar} { + \XMLfirstnamed{bvar}\rightarrow } { } - \MMCfirstnamed{lowlimit} + \XMLfirstnamed{lowlimit} } } - \MMCfirstnamed{apply} + \XMLfirstnamed{apply} \stopsetups \defineXMLcommand [tendsto] [type=default] {\directsetup{mmc:tendsto}} @@ -1481,17 +1440,17 @@ \setupMMLappearance[log][\c!location=\v!right] \startsetups mmc:exp - \getXMLentity{exponentiale}^{\MMCfirstnamed{apply,reln,ci,cn}} + \getXMLentity{exponentiale}^{\XMLfirstnamed{apply,reln,ci,cn}} \stopsetups \startsetups mmc:log - \MMCdoifelsefound {logbase} { + \XMLdoifonstackelse {logbase} { \doifelse\@@MMLloglocation\v!left { - \mathop{{}^{{\defineXMLprocess[logbase]\MMCfirstnamed{logbase}}} + \mathop{{}^{{\defineXMLprocess[logbase]\XMLfirstnamed{logbase}}} \getXMLentity{NegThinSpace} \getXMLentity{log}} } { - \getXMLentity{log}_{{\defineXMLprocess[logbase]\MMCfirstnamed{logbase}}} + \getXMLentity{log}_{{\defineXMLprocess[logbase]\XMLfirstnamed{logbase}}} } } { \getXMLentity{log} @@ -1516,9 +1475,9 @@ \defineXMLprocess [momentabout] \startsetups mmc:moment - \left\langle\MMCfirstnamed{apply,reln,ci,cn}^{\MMCfirstnamed{degree}}\right\rangle - \MMCdoifelsefound{momentabout} { - _{\MMCfirstnamed{momentabout}} + \left\langle\XMLfirstnamed{apply,reln,ci,cn}^{\XMLfirstnamed{degree}}\right\rangle + \XMLdoifonstackelse{momentabout} { + _{\XMLfirstnamed{momentabout}} } { } \stopsetups @@ -1633,7 +1592,7 @@ \startsetups mmc:semantics:stop \stopsavingXMLelements - \MMCdoifelsefound {annotation} { + \XMLdoifonstackelse {annotation} { \flushXMLnamedstackwith\plusone{annotation}\empty } { \flushXMLnamedstackwith\plusone{apply}\empty @@ -1713,8 +1672,8 @@ % % best is to grab the apply (independent of order), (*1*), so: % - \MMCdoifelsefound {apply} { - \doifelseMMCfunctioninapply \MMCstackposition \MMLcfunctionlist \donefalse \donetrue + \XMLdoifonstackelse {apply} { + \doifelseMMCfunctioninapply \XMLstackposition \MMLcfunctionlist \donefalse \donetrue } { \donefalse } diff --git a/tex/context/base/x-newpml.tex b/tex/context/base/x-newpml.tex index e22aa3392..30b520610 100644 --- a/tex/context/base/x-newpml.tex +++ b/tex/context/base/x-newpml.tex @@ -1,5 +1,5 @@ %D \module -%D [ file=xtag-pmu, +%D [ file=xtag-pml, %D version=2001.06.10, %D title=\CONTEXT\ XML Support, %D subtitle=Units, @@ -13,6 +13,8 @@ \writestatus{loading}{Context XML Macros (units)} +\usemodule[newmml] + %D Quick and dirty in||line units: %D %D \startbuffer @@ -75,10 +77,16 @@ \defineXMLargument [iphys] \inlinemathematics \defineXMLargument [dphys] \displaymathematics -\defineXMLenvironment - [unit] - {\ignorespaces} - {\removeunwantedspaces} +\defineXMLcommand [unit] {\directsetup{pml:unit}} + +\startsetups pml:unit + \flushXMLstackwith\plustwo\relax +\stopsetups + +% \defineXMLenvironment +% [unit] +% {\ignorespaces} +% {\removeunwantedspaces} \defineXMLsingular [unit] @@ -131,6 +139,7 @@ \defineXMLsingular [Day] {\handlePMLunit\Day} \defineXMLsingular [Hour] {\handlePMLunit\Hour} \defineXMLsingular [Min] {\handlePMLunit\Min} +\defineXMLsingular [Minute] {\handlePMLunit\Min} \defineXMLsingular [Second] {\handlePMLunit\Sec} \defineXMLsingular [Rad] {\handlePMLunit\Rad} \defineXMLsingular [Deg] {\handlePMLunit\Deg} diff --git a/tex/context/base/xtag-cml.tex b/tex/context/base/xtag-cml.tex index ab80a94ec..493d9eff3 100644 --- a/tex/context/base/xtag-cml.tex +++ b/tex/context/base/xtag-cml.tex @@ -95,7 +95,6 @@ {\getXMLarguments{cml-a}{n="0" weight="0" protons="0" charge="0" #1}% \increment\currentCMLatom \resetCMLcaption - %\processXMLRchild{caption}{#2}% not here \someCMLtext {\bgroup \lohi diff --git a/tex/context/base/xtag-pml.tex b/tex/context/base/xtag-pml.tex index 3300c97ac..b11d3d68d 100644 --- a/tex/context/base/xtag-pml.tex +++ b/tex/context/base/xtag-pml.tex @@ -13,7 +13,8 @@ \writestatus{loading}{Context XML Macros (phys ml)} -%D This filter runs on top of the mathml and units modules. +%D This is a reimplmentation of the old filter. This module +%D runs on top of the mathml and units modules. \useXMLfilter[mml,mmp,mmc] diff --git a/tex/context/base/xtag-stk.tex b/tex/context/base/xtag-stk.tex index 1d596766b..32b2b87df 100644 --- a/tex/context/base/xtag-stk.tex +++ b/tex/context/base/xtag-stk.tex @@ -33,7 +33,7 @@ \def\resetXMLelements {\XMLstacklevel\zerocount} -\def\startsavingXMLelements +\def\startsavingXMLelements % maybe something with \ignorespaces \\removeunwantedspaces {\XMLstacklevel\zerocount \let\normalexecuteXMLelement\executeXMLelement \def\executeXMLelement{\csname\@@XMLelement:\@@xmlstack\ifcase\kindofXMLelement\or\or\or/\fi\endcsname}} @@ -117,7 +117,7 @@ {\ifnum\recurselevel>#1\relax#3\fi \getXMLstackdata\recurselevel}}} -\def\countXMLnamedstack#1% +\def\countXMLnamedstack#1% todo: \nofXMLchildren ! ! ! ! ! {\scratchcounter\zerocount \dorecurse\XMLstacklevel {\expanded{\doifinset{\getXMLstackname\recurselevel}{#1}} @@ -179,4 +179,57 @@ \advance\XMLstacklevel\minusone \exitloop}}} +%D BEWARE: these names may change (get stack in the name) + +\def\XMLallnamed#1% + {\dorecurse\XMLstacklevel + {\expanded{\doifinset{\getXMLstackname\recurselevel}{#1}} + {\getXMLstackdata\recurselevel}}} + +\def\defXMLfirstnamed#1#2% \cs list + {\dorecurse\XMLstacklevel + {\expanded{\doifinset{\getXMLstackname\recurselevel}{#2}} + {\defXMLstackdata#1\recurselevel\exitloop}}} + +\def\defXMLfirstnamedtext#1#2% \cs list + {\dorecurse\XMLstacklevel + {\expanded{\doifinset{\getXMLstackname\recurselevel}{#2}} + {\edef#1{\getXMLstacktext\recurselevel}\exitloop}}} + +\def\XMLfirstnamed#1% + {\dorecurse\XMLstacklevel + {\expanded{\doifinset{\getXMLstackname\recurselevel}{#1}} + {\getXMLstackdata\recurselevel\exitloop}}} + +\def\XMLnotnamed#1% + {\dorecurse\XMLstacklevel + {\expanded{\doifnotinset{\getXMLstackname\recurselevel}{#1}} + {\getXMLstackdata\recurselevel\exitloop}}} + +\let\XMLstackposition\!!zerocount + +\def\XMLdoifonstackelse#1% was \XMLdoifelsefound + {\!!doneafalse + \let\XMLstackposition\!!zerocount + \dorecurse\XMLstacklevel + {\expanded{\doifinset{\getXMLstackname\recurselevel}{#1}} + {\let\XMLstackposition\recurselevel\!!doneatrue\exitloop}}% + \if!!donea + \expandafter\firstoftwoarguments + \else + \expandafter\secondoftwoarguments + \fi} + +%D Handy: + +\def\pushXMLmeaning#1% or [#1] + {\@EA\pushmacro\csname\@@XMLelement:#1/\endcsname + \@EA\pushmacro\csname\@@XMLelement:#1\endcsname + \@EA\pushmacro\csname\@@XMLelement:/#1\endcsname} + +\def\popXMLmeaning#1% or [#1] + {\@EA\popmacro\csname\@@XMLelement:#1/\endcsname + \@EA\popmacro\csname\@@XMLelement:#1\endcsname + \@EA\popmacro\csname\@@XMLelement:/#1\endcsname} + \protect \endinput diff --git a/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml index 170443c9a..e96a0f735 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="2006.04.09 22:25"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2006.04.10 20:04"> <cd:variables> <cd:variable name="one" value="jedna"/> diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml index e983e83c5..a07f285e1 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="2006.04.09 22:25"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2006.04.10 20:04"> <cd:variables> <cd:variable name="one" value="eins"/> diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml index 2f59d58ff..eadd51069 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="2006.04.09 22:25"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2006.04.10 20:04"> <cd:variables> <cd:variable name="one" value="one"/> diff --git a/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml index ea2c5ba33..9cb988b7f 100644 --- a/tex/context/interface/keys-fr.xml +++ b/tex/context/interface/keys-fr.xml @@ -1,6 +1,6 @@ <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="fr" version="2006.04.09 22:25"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="fr" version="2006.04.10 20:04"> <cd:variables> <cd:variable name="one" value="un"/> diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml index b5f2ba8fc..da2cb1a59 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="2006.04.09 22:25"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2006.04.10 20:04"> <cd:variables> <cd:variable name="one" value="uno"/> diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml index 426a1d3ca..871166538 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="2006.04.09 22:25"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2006.04.10 20:04"> <cd:variables> <cd:variable name="one" value="een"/> diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml index b3dac45de..41066c585 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="2006.04.09 22:25"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2006.04.10 20:04"> <cd:variables> <cd:variable name="one" value="unu"/> |