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"/>  | 
