summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaco Hoekwater <taco@elvenkind.com>2006-12-01 10:42:41 +0000
committerTaco Hoekwater <taco@elvenkind.com>2006-12-01 10:42:41 +0000
commit93211732ba767f3d2be8e4b948553a42791302c8 (patch)
treeca5509bc7a7e9aa8e310dc5278a3c7c9bdbad7dc
parentc407afe4a4284ab98479d51d2553287055f0ce1c (diff)
context release 2006.11.29
git-svn-id: svn://tug.org/texlive/trunk@2572 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xBuild/source/texk/tetex/context/texmfstart5
-rw-r--r--Master/bin/win32/texmfstart.exebin0 -> 909312 bytes
-rw-r--r--Master/texmf-dist/fonts/enc/dvips/context/teff-trinite.enc260
-rw-r--r--Master/texmf-dist/scripts/context/perl/texfont.pl22
-rw-r--r--Master/texmf-dist/scripts/context/ruby/base/tex.rb52
-rw-r--r--Master/texmf-dist/scripts/context/ruby/texexec.rb6
-rw-r--r--Master/texmf-dist/scripts/context/ruby/texmfstart.rb5
-rw-r--r--Master/texmf-dist/scripts/context/ruby/textools.rb82
-rw-r--r--Master/texmf-dist/tex/context/base/cont-fil.tex3
-rw-r--r--Master/texmf-dist/tex/context/base/cont-new.tex2
-rw-r--r--Master/texmf-dist/tex/context/base/context.tex6
-rw-r--r--Master/texmf-dist/tex/context/base/core-itm.tex7
-rw-r--r--Master/texmf-dist/tex/context/base/core-sec.tex13
-rw-r--r--Master/texmf-dist/tex/context/base/core-spa.tex83
-rw-r--r--Master/texmf-dist/tex/context/base/core-var.tex13
-rw-r--r--Master/texmf-dist/tex/context/base/core-vis.tex71
-rw-r--r--Master/texmf-dist/tex/context/base/enco-ans.tex1
-rw-r--r--Master/texmf-dist/tex/context/base/font-uni.tex2
-rw-r--r--Master/texmf-dist/tex/context/base/math-ext.tex114
-rw-r--r--Master/texmf-dist/tex/context/base/math-tex.tex1
-rw-r--r--Master/texmf-dist/tex/context/base/meta-ini.tex5
-rw-r--r--Master/texmf-dist/tex/context/base/page-mul.tex22
-rw-r--r--Master/texmf-dist/tex/context/base/s-map-10.tex2
-rw-r--r--Master/texmf-dist/tex/context/base/s-ptj-01.tex52
-rw-r--r--Master/texmf-dist/tex/context/base/spec-dpx.tex2
-rw-r--r--Master/texmf-dist/tex/context/base/spec-tst.tex1
-rw-r--r--Master/texmf-dist/tex/context/base/supp-mps.tex2
-rw-r--r--Master/texmf-dist/tex/context/base/symb-glm.tex36
-rw-r--r--Master/texmf-dist/tex/context/base/syst-xtx.tex4
-rw-r--r--Master/texmf-dist/tex/context/base/unic-cjk.tex4
-rw-r--r--Master/texmf-dist/tex/context/base/x-newmml.tex62
-rw-r--r--Master/texmf-dist/tex/context/base/x-om2cml.xsl24
-rw-r--r--Master/texmf-dist/tex/context/interface/cont-cz.xml3
-rw-r--r--Master/texmf-dist/tex/context/interface/cont-de.xml3
-rw-r--r--Master/texmf-dist/tex/context/interface/cont-en.xml3
-rw-r--r--Master/texmf-dist/tex/context/interface/cont-fr.xml3
-rw-r--r--Master/texmf-dist/tex/context/interface/cont-it.xml3
-rw-r--r--Master/texmf-dist/tex/context/interface/cont-nl.xml3
-rw-r--r--Master/texmf-dist/tex/context/interface/cont-ro.xml3
-rw-r--r--Master/texmf-dist/tex/context/interface/keys-cz.xml2
-rw-r--r--Master/texmf-dist/tex/context/interface/keys-de.xml2
-rw-r--r--Master/texmf-dist/tex/context/interface/keys-en.xml2
-rw-r--r--Master/texmf-dist/tex/context/interface/keys-fr.xml2
-rw-r--r--Master/texmf-dist/tex/context/interface/keys-it.xml2
-rw-r--r--Master/texmf-dist/tex/context/interface/keys-nl.xml2
-rw-r--r--Master/texmf-dist/tex/context/interface/keys-ro.xml2
46 files changed, 728 insertions, 271 deletions
diff --git a/Build/source/texk/tetex/context/texmfstart b/Build/source/texk/tetex/context/texmfstart
index b9ced8813e3..a886b2aa142 100755
--- a/Build/source/texk/tetex/context/texmfstart
+++ b/Build/source/texk/tetex/context/texmfstart
@@ -1506,11 +1506,6 @@ $makelist = [
# no, 'texmfstart'
]
-# if ENV['TEXMFSTART_MODE'] = 'experimental' then
- # $predefined['texexec'] = 'newtexexec.rb'
- # $predefined['pstopdf'] = 'newpstopdf.rb'
-# end
-
$scriptlist = 'rb|pl|py|lua|jar'
$documentlist = 'pdf|ps|eps|htm|html'
diff --git a/Master/bin/win32/texmfstart.exe b/Master/bin/win32/texmfstart.exe
new file mode 100644
index 00000000000..9f12cd1f449
--- /dev/null
+++ b/Master/bin/win32/texmfstart.exe
Binary files differ
diff --git a/Master/texmf-dist/fonts/enc/dvips/context/teff-trinite.enc b/Master/texmf-dist/fonts/enc/dvips/context/teff-trinite.enc
new file mode 100644
index 00000000000..ea0e2651e2d
--- /dev/null
+++ b/Master/texmf-dist/fonts/enc/dvips/context/teff-trinite.enc
@@ -0,0 +1,260 @@
+% Encoding file, generated by textools.rb from TriniteNo2RomCon-Regular.afm
+
+/tefftriniteencoding [
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /breve
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /caron
+ /dotlessi
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /fraction
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /space
+ /exclam
+ /quotedbl
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quotesingle
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /less
+ /equal
+ /greater
+ /question
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /backslash
+ /bracketright
+ /.notdef
+ /underscore
+ /grave
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
+ /x
+ /y
+ /z
+ /braceleft
+ /bar
+ /braceright
+ /.notdef
+ /.notdef
+ /Euro
+ /.notdef
+ /.notdef
+ /florin
+ /quotedblbase
+ /ellipsis
+ /dagger
+ /daggerdbl
+ /circumflex
+ /perthousand
+ /.notdef
+ /guilsinglleft
+ /OE
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /quoteleft
+ /quoteright
+ /quotedblleft
+ /quotedblright
+ /bullet
+ /endash
+ /emdash
+ /tilde
+ /.notdef
+ /.notdef
+ /guilsinglright
+ /oe
+ /.notdef
+ /.notdef
+ /Ydieresis
+ /.notdef
+ /exclamdown
+ /cent
+ /sterling
+ /.notdef
+ /.notdef
+ /.notdef
+ /section
+ /dieresis
+ /copyright
+ /.notdef
+ /guillemotleft
+ /.notdef
+ /.notdef
+ /.notdef
+ /macron
+ /degree
+ /.notdef
+ /.notdef
+ /.notdef
+ /acute
+ /.notdef
+ /paragraph
+ /multiply
+ /cedilla
+ /.notdef
+ /.notdef
+ /guillemotright
+ /.notdef
+ /.notdef
+ /.notdef
+ /questiondown
+ /Agrave
+ /Aacute
+ /Acircumflex
+ /Atilde
+ /Adieresis
+ /Aring
+ /AE
+ /Ccedilla
+ /Egrave
+ /Eacute
+ /Ecircumflex
+ /Edieresis
+ /Igrave
+ /Iacute
+ /Icircumflex
+ /Idieresis
+ /.notdef
+ /Ntilde
+ /Ograve
+ /Oacute
+ /Ocircumflex
+ /Otilde
+ /Odieresis
+ /.notdef
+ /Oslash
+ /Ugrave
+ /Uacute
+ /Ucircumflex
+ /Udieresis
+ /.notdef
+ /.notdef
+ /germandbls
+ /agrave
+ /aacute
+ /acircumflex
+ /atilde
+ /adieresis
+ /aring
+ /ae
+ /ccedilla
+ /egrave
+ /eacute
+ /ecircumflex
+ /edieresis
+ /igrave
+ /iacute
+ /icircumflex
+ /idieresis
+ /.notdef
+ /ntilde
+ /ograve
+ /oacute
+ /ocircumflex
+ /otilde
+ /odieresis
+ /.notdef
+ /oslash
+ /ugrave
+ /uacute
+ /ucircumflex
+ /udieresis
+ /.notdef
+ /.notdef
+ /ydieresis
+] def
diff --git a/Master/texmf-dist/scripts/context/perl/texfont.pl b/Master/texmf-dist/scripts/context/perl/texfont.pl
index ec875e5b472..e6ebf7029da 100644
--- a/Master/texmf-dist/scripts/context/perl/texfont.pl
+++ b/Master/texmf-dist/scripts/context/perl/texfont.pl
@@ -137,6 +137,7 @@ my $slant = "" ;
my $spaced = "" ;
my $caps = "" ;
my $noligs = 0 ;
+my $nofligs = 0 ;
my $test = 0 ;
my $virtual = 0 ;
my $novirtual = 0 ;
@@ -175,6 +176,7 @@ my @cleanup = () ; # atl: build list of generated files to delete
( "help" => \$help,
"makepath" => \$makepath,
"noligs" => \$noligs,
+ "nofligs" => \$nofligs,
"show" => \$show,
"install" => \$install,
"encoding=s" => \$encoding,
@@ -357,7 +359,7 @@ if ($help)
report "--slant=s : slant glyphs in font by factor (0.0 - 1.5)" ;
report "--extend=s : extend glyphs in font by factor (0.0 - 1.5)" ;
report "--caps=s : capitalize lowercase chars by factor (0.5 - 1.0)" ;
- report "--noligs : remove ligatures" ;
+ report "--noligs --nofligs : remove ligatures" ;
print "\n" ;
report "--install : copy files from source to font tree" ;
report "--listing : list files on auto sourcepath" ;
@@ -436,7 +438,7 @@ my $outlinepath = $sourcepath ; my $path = "" ;
my $shape = "" ;
-if ($noligs)
+if ($noligs||$nofligs)
{ report ("ligatures : removed") ;
$fontsuffix .= "-unligatured" ;
$namesuffix .= "-NoLigs" }
@@ -1170,9 +1172,9 @@ foreach my $file (@files)
if ($afmpl)
{ report " generating pl : $cleanname$fontsuffix (from $cleanname)" ;
$encstr = " -p $encfil" ;
-if ($uselmencodings) {
- $encstr =~ s/(ec)\.enc$/lm\-$1\.enc/ ;
-}
+ if ($uselmencodings) {
+ $encstr =~ s/(ec)\.enc$/lm\-$1\.enc/ ;
+ }
my $command = "afm2pl -f afm2tfm $shape $passon $encstr $file $cleanname$fontsuffix.vpl" ;
print "$command\n" if $trace ;
my $ok = `$command` ;
@@ -1191,19 +1193,21 @@ if ($uselmencodings) {
if ($font =~ /.*?([\d\.]+)\s*SlantFont/io) { $slant = $1 }
if ($extend ne "") { $option .= " $extend ExtendFont " }
if ($slant ne "") { $option .= " $slant SlantFont " }
- if ($noligs) { removeligatures("$raw$cleanname$fontsuffix") }
if ($afmpl)
- { report "generating new tfm : $use$cleanname$fontsuffix" ;
+ { if ($noligs||$nofligs) { removeligatures("$cleanname$fontsuffix") }
+ report "generating new tfm : $use$cleanname$fontsuffix" ;
my $command = "pltotf $cleanname$fontsuffix.vpl $use$cleanname$fontsuffix.tfm" ;
print "$command\n" if $trace ;
my $ok = `$command` }
elsif ($virtual)
- { report "generating new vf : $use$cleanname$fontsuffix (from $use$cleanname)" ;
+ { if ($noligs||$nofligs) { removeligatures("$use$cleanname$fontsuffix") }
+ report "generating new vf : $use$cleanname$fontsuffix (from $use$cleanname)" ;
my $command = "vptovf $use$cleanname$fontsuffix.vpl $use$cleanname$fontsuffix.vf $use$cleanname$fontsuffix.tfm" ;
print "$command\n" if $trace ;
my $ok = `$command` }
else
- { report "generating new tfm : $use$cleanname$fontsuffix (from $raw$cleanname)" ;
+ { if ($noligs||$nofligs) { removeligatures("$raw$cleanname$fontsuffix") }
+ report "generating new tfm : $use$cleanname$fontsuffix (from $raw$cleanname)" ;
my $command = "pltotf $raw$cleanname$fontsuffix.vpl $use$cleanname$fontsuffix.tfm" ;
print "$command\n" if $trace ;
my $ok = `$command` } } }
diff --git a/Master/texmf-dist/scripts/context/ruby/base/tex.rb b/Master/texmf-dist/scripts/context/ruby/base/tex.rb
index f6f3dc4ed83..25e7ba5d7f8 100644
--- a/Master/texmf-dist/scripts/context/ruby/base/tex.rb
+++ b/Master/texmf-dist/scripts/context/ruby/base/tex.rb
@@ -145,6 +145,8 @@ class TEX
['plain','mpost'] .each do |f| @@mpsformats[f] = 'plain' end
['metafun','context','standard'] .each do |f| @@mpsformats[f] = 'metafun' end
+ # no 'standard' progname ! / beware, when using texexec we always use the context/metafun values
+
['pdftex','pdfetex','aleph','omega',
'xetex','luatex'] .each do |p| @@prognames[p] = 'context' end
['mpost'] .each do |p| @@prognames[p] = 'metafun' end
@@ -169,6 +171,7 @@ class TEX
@@runoptions['pdftex'] = ['--8bit '] # pdftex is now pdfetex
@@runoptions['luatex'] = ['']
@@runoptions['aleph'] = ['--8bit ']
+ @@runoptions['mpost'] = ['--8bit ']
@@booleanvars = [
'batchmode', 'nonstopmode', 'fast', 'fastdisabled', 'silentmode', 'final',
@@ -280,7 +283,7 @@ class TEX
setvariable('distribution', Kpse.distribution)
setvariable('texformats', defaulttexformats)
setvariable('mpsformats', defaultmpsformats)
- setvariable('progname', 'context')
+ setvariable('progname', 'standard') # or ''
setvariable('interface', 'standard')
setvariable('engine', 'standard') # replaced by tex/mpsengine
setvariable('backend', 'pdftex')
@@ -455,13 +458,13 @@ class TEX
end
end
- def validprogname(str,engine='standard')
- if str && @@prognames.key?(str) then
- @@prognames[str]
- elsif (engine != 'standard') && @@prognames.key?(engine) then
- @@prognames[engine]
+ def validprogname(str)
+ if str then
+ [str].flatten.each do |s|
+ return @@prognames[s] if @@prognames.key?(s)
+ end
else
- str
+ return nil
end
end
@@ -506,12 +509,8 @@ class TEX
when /miktex/io then prefix = "-alias"
else return ""
end
- if progname then
- if progname = validprogname(progname) then
- "#{prefix}=#{progname}"
- else
- ""
- end
+ if progname and not progname.empty? then
+ "#{prefix}=#{progname}"
else
prefix
end
@@ -611,7 +610,7 @@ class TEX
unless texformats || mpsformats then
report('provide valid format (name.tex, name.mp, ...) or format id (metafun, en, nl, ...)')
end
- if texformats && texengine && (progname = validprogname(getvariable('progname'),texengine)) then
+ if texformats && texengine then
report("using tex engine #{texengine}")
texformatpath = if getvariable('local') then '.' else Kpse.formatpath(texengine,true) end
# can be empty, to do
@@ -626,12 +625,13 @@ class TEX
cleanupluafiles
texformats.each do |texformat|
report("generating tex format #{texformat}")
-run_luatools("--ini --compile #{texformat}")
+ run_luatools("--ini --compile #{texformat}")
end
compileluafiles
else
texformats.each do |texformat|
report("generating tex format #{texformat}")
+ progname = validprogname([getvariable('progname'),texformat,texengine])
runcommand([quoted(texengine),prognameflag(progname),iniflag,tcxflag,prefixed(texformat,texengine),texmakeextras(texformat)])
end
end
@@ -643,7 +643,7 @@ run_luatools("--ini --compile #{texformat}")
texformatpath = ''
end
# generate mps formats
- if mpsformats && mpsengine && (progname = validprogname(getvariable('progname'),mpsengine)) then
+ if mpsformats && mpsengine then
report("using mp engine #{mpsengine}")
mpsformatpath = if getvariable('local') then '.' else Kpse.formatpath(mpsengine,false) end
report("using mps format path #{mpsformatpath}")
@@ -651,8 +651,8 @@ run_luatools("--ini --compile #{texformat}")
if FileTest.writable?(mpsformatpath) then
mpsformats.each do |mpsformat|
report("generating mps format #{mpsformat}")
- # runcommand([quoted(mpsengine),prognameflag(progname),iniflag,tcxflag,mpsformat,mpsmakeextras(mpsformat)])
- runcommand([quoted(mpsengine),iniflag,tcxflag,mpsformat,mpsmakeextras(mpsformat)])
+ progname = validprogname([getvariable('progname'),mpsformat,mpsengine])
+ runcommand([quoted(mpsengine),prognameflag(progname),iniflag,tcxflag,runoptions(mpsengine),mpsformat,mpsmakeextras(mpsformat)])
end
else
report("unable to make format due to lack of permissions")
@@ -1284,7 +1284,8 @@ class TEX
opt << "\\enableregime[utf]"
end
opt << "\\setupsystem[\\c!n=#{kindofrun},\\c!m=#{currentrun}]\n"
- opt << "\\def\\MPOSTformatswitch\{#{prognameflag('metafun')} #{formatflag('mpost')}=\}\n"
+ progname = validprogname(['metafun']) # [getvariable('progname'),mpsformat,mpsengine]
+ opt << "\\def\\MPOSTformatswitch\{#{prognameflag(progname)} #{formatflag('mpost')}=\}\n"
if getvariable('batchmode') then
opt << "\\batchmode\n"
end
@@ -1494,15 +1495,14 @@ class TEX
checktestversion
texengine = validtexengine(getvariable('texengine'))
texformat = validtexformat(getarrayvariable('texformats').first)
- progname = validprogname(getvariable('progname'))
report("tex engine: #{texengine}")
report("tex format: #{texformat}")
- report("progname: #{progname}")
- if texengine && texformat && progname then
+ if texengine && texformat then
fixbackendvars(@@mappaths[texengine])
if texengine == "luatex" then
run_luatools("--fmt=#{texformat} #{filename}")
else
+ progname = validprogname([getvariable('progname'),texformat,texengine])
runcommand([quoted(texengine),prognameflag(progname),formatflag(texengine,texformat),tcxflag,runoptions(texengine),filename,texprocextras(texformat)])
end
# true
@@ -1515,11 +1515,11 @@ end
checktestversion
mpsengine = validmpsengine(getvariable('mpsengine'))
mpsformat = validmpsformat(getarrayvariable('mpsformats').first)
- progname = validprogname(getvariable('progname'))
- if mpsengine && mpsformat && progname then
+ if mpsengine && mpsformat then
ENV["MPXCOMMAND"] = "0" unless mpx
- # runcommand([quoted(mpsengine),prognameflag(progname),formatflag(mpsengine,mpsformat),tcxflag,runoptions(mpsengine),filename,mpsprocextras(mpsformat)])
- runcommand([quoted(mpsengine),formatflag(mpsengine,mpsformat),tcxflag,runoptions(mpsengine),mpname,mpsprocextras(mpsformat)])
+ progname = validprogname([getvariable('progname'),mpsformat,mpsengine])
+ runcommand([quoted(mpsengine),prognameflag(progname),formatflag(mpsengine,mpsformat),tcxflag,runoptions(mpsengine),mpname,mpsprocextras(mpsformat)])
+ # runcommand([quoted(mpsengine),formatflag(mpsengine,mpsformat),tcxflag,runoptions(mpsengine),mpname,mpsprocextras(mpsformat)])
true
else
false
diff --git a/Master/texmf-dist/scripts/context/ruby/texexec.rb b/Master/texmf-dist/scripts/context/ruby/texexec.rb
index 55636780dc2..ea4c48d930d 100644
--- a/Master/texmf-dist/scripts/context/ruby/texexec.rb
+++ b/Master/texmf-dist/scripts/context/ruby/texexec.rb
@@ -428,7 +428,11 @@ job.setvariable('result',result)
if files.length > 0 then
if f = File.open(job.tempfilename('tex'),'w') then
scale = @commandline.checkedoption('scale')
- scale = (scale * 1000).to_i if scale.to_i < 10
+ begin
+ scale = (scale.to_i * 1000).to_i if scale.to_i < 10
+ rescue
+ scale = 1000
+ end
paperoffset = @commandline.checkedoption('paperoffset', '0cm')
f << "\\starttext\n"
files.each do |filename|
diff --git a/Master/texmf-dist/scripts/context/ruby/texmfstart.rb b/Master/texmf-dist/scripts/context/ruby/texmfstart.rb
index b9ced8813e3..a886b2aa142 100644
--- a/Master/texmf-dist/scripts/context/ruby/texmfstart.rb
+++ b/Master/texmf-dist/scripts/context/ruby/texmfstart.rb
@@ -1506,11 +1506,6 @@ $makelist = [
# no, 'texmfstart'
]
-# if ENV['TEXMFSTART_MODE'] = 'experimental' then
- # $predefined['texexec'] = 'newtexexec.rb'
- # $predefined['pstopdf'] = 'newpstopdf.rb'
-# end
-
$scriptlist = 'rb|pl|py|lua|jar'
$documentlist = 'pdf|ps|eps|htm|html'
diff --git a/Master/texmf-dist/scripts/context/ruby/textools.rb b/Master/texmf-dist/scripts/context/ruby/textools.rb
index 345a2757204..b6300215e78 100644
--- a/Master/texmf-dist/scripts/context/ruby/textools.rb
+++ b/Master/texmf-dist/scripts/context/ruby/textools.rb
@@ -658,6 +658,87 @@ class Commands
end
+ @@knownchars = Hash.new
+
+ @@knownchars['ae'] = 'aeligature' ; @@knownchars['oe'] = 'oeligature'
+ @@knownchars['AE'] = 'AEligature' ; @@knownchars['OE'] = 'OEligature'
+
+ @@knownchars['acute' ] = 'textacute'
+ @@knownchars['breve' ] = 'textbreve'
+ @@knownchars['caron' ] = 'textcaron'
+ @@knownchars['cedilla' ] = 'textcedilla'
+ @@knownchars['circumflex' ] = 'textcircumflex'
+ @@knownchars['diaeresis' ] = 'textdiaeresis'
+ @@knownchars['dotaccent' ] = 'textdotaccent'
+ @@knownchars['grave' ] = 'textgrave'
+ @@knownchars['hungarumlaut'] = 'texthungarumlaut'
+ @@knownchars['macron' ] = 'textmacron'
+ @@knownchars['ogonek' ] = 'textogonek'
+ @@knownchars['ring' ] = 'textring'
+ @@knownchars['tilde' ] = 'texttilde'
+
+ @@knownchars['cent' ] = 'textcent'
+ @@knownchars['currency'] = 'textcurrency'
+ @@knownchars['euro' ] = 'texteuro'
+ @@knownchars['florin' ] = 'textflorin'
+ @@knownchars['sterling'] = 'textsterling'
+ @@knownchars['yen' ] = 'textyen'
+
+ @@knownchars['brokenbar'] = 'textbrokenbar'
+ @@knownchars['bullet' ] = 'textbullet'
+ @@knownchars['dag' ] = 'textdag'
+ @@knownchars['ddag' ] = 'textddag'
+ @@knownchars['degree' ] = 'textdegree'
+ @@knownchars['div' ] = 'textdiv'
+ @@knownchars['ellipsis' ] = 'textellipsis'
+ @@knownchars['fraction' ] = 'textfraction'
+ @@knownchars['lognot' ] = 'textlognot'
+ @@knownchars['minus' ] = 'textminus'
+ @@knownchars['mu' ] = 'textmu'
+ @@knownchars['multiply' ] = 'textmultiply'
+ @@knownchars['pm' ] = 'textpm'
+
+ def encmake
+ afmfile = @commandline.argument('first')
+ encoding = @commandline.argument('second') || 'dummy'
+ if afmfile && FileTest.file?(afmfile) then
+ chars = Array.new
+ IO.readlines(afmfile).each do |line|
+ if line =~ /C\s+(\d+).*?N\s+([a-zA-Z\-\.]+?)\s*;/ then
+ chars[$1.to_i] = $2
+ end
+ end
+ if f = File.open(encoding+'.enc','w') then
+ f << "% Encoding file, generated by textools.rb from #{afmfile}\n"
+ f << "\n"
+ f << "/#{encoding.gsub(/[^a-zA-Z]/,'')}encoding [\n"
+ 256.times do |i|
+ f << " /#{chars[i] || '.notdef'}\n"
+ end
+ f << "] def\n"
+ f.close
+ end
+ if f = File.open('enco-'+encoding+'.tex','w') then
+ f << "% ConTeXt file, generated by textools.rb from #{afmfile}\n"
+ f << "\n"
+ f << "\\startencoding[#{encoding}]\n\n"
+ 256.times do |i|
+ if str = chars[i] then
+ tmp = str.gsub(/dieresis/,'diaeresis')
+ if chr = @@knownchars[tmp] then
+ f << " \\definecharacter #{chr} #{i}\n"
+ elsif tmp.length > 5 then
+ f << " \\definecharacter #{tmp} #{i}\n"
+ end
+ end
+ end
+ f << "\n\\stopencoding\n"
+ f << "\n\\endinput\n"
+ f.close
+ end
+ end
+ end
+
private
def flushencoding (file, from, to, names)
@@ -930,6 +1011,7 @@ commandline.registeraction('updatetree' , 'fromroot toroot [--force --noch
commandline.registeraction('downcasefilenames', '[--recurse] [--force]') # not yet documented
commandline.registeraction('stripformfeeds' , '[--recurse] [--force]') # not yet documented
commandline.registeraction('showfont' , 'filename')
+commandline.registeraction('encmake' , 'afmfile encodingname')
commandline.registeraction('tpmmake' , 'tpm file (run in texmf root)')
diff --git a/Master/texmf-dist/tex/context/base/cont-fil.tex b/Master/texmf-dist/tex/context/base/cont-fil.tex
index dcd3ce9d35f..3ff54d356ec 100644
--- a/Master/texmf-dist/tex/context/base/cont-fil.tex
+++ b/Master/texmf-dist/tex/context/base/cont-fil.tex
@@ -111,4 +111,7 @@
%definefilesynonym [practexjournal] [ptj-01]
\definefilesynonym [pracjourn] [ptj-01]
+\definefilesynonym [maps] [map-10]
+\definefilesynonym [map-se] [map-10] % for some time
+
\endinput
diff --git a/Master/texmf-dist/tex/context/base/cont-new.tex b/Master/texmf-dist/tex/context/base/cont-new.tex
index b9d5a9f934f..2b2110fe022 100644
--- a/Master/texmf-dist/tex/context/base/cont-new.tex
+++ b/Master/texmf-dist/tex/context/base/cont-new.tex
@@ -13,7 +13,7 @@
% it's about time to clean up this file ...
-\newcontextversion{2006.11.20 11:37}
+\newcontextversion{2006.11.29 09:55}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/Master/texmf-dist/tex/context/base/context.tex b/Master/texmf-dist/tex/context/base/context.tex
index dc863ef6a26..dd6a50af891 100644
--- a/Master/texmf-dist/tex/context/base/context.tex
+++ b/Master/texmf-dist/tex/context/base/context.tex
@@ -42,7 +42,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2006.11.20 11:37}
+\edef\contextversion{2006.11.29 09:55}
%D For those who want to use this:
@@ -148,6 +148,8 @@
\loadcorefile{syst-var.tex}
\loadcorefile{syst-str.tex}
+%loadcorefile{syst-tra.tex}
+
\loadcorefile{syst-rtp.tex}
\loadcorefile{math-pln.tex}
@@ -175,7 +177,6 @@
\loadmkivfile{luat-ini.tex}
% \loadmkivfile{luat-lib.tex}
\loadmkivfile{luat-lmx.tex}
-\loadmkivfile{luat-deb.tex}
\loadmkivfile{luat-uni.tex}
@@ -192,6 +193,7 @@
%D modules implement some basic typesetting functionality.
\loadcorefile{core-var.tex}
+\loadmkivfile{luat-deb.tex}
\loadcorefile{supp-box.tex}
\loadcorefile{supp-mrk.tex}
diff --git a/Master/texmf-dist/tex/context/base/core-itm.tex b/Master/texmf-dist/tex/context/base/core-itm.tex
index 364501f23a3..9f132a96ab2 100644
--- a/Master/texmf-dist/tex/context/base/core-itm.tex
+++ b/Master/texmf-dist/tex/context/base/core-itm.tex
@@ -494,9 +494,10 @@
\ifnum\itemlevel>\plusone
\letitemparameter\itemlevel\c!inbetween\empty
\fi
- \else\ifconditional\packlistitem
+ \fi
+ \ifconditional\packlistitem
\letitemparameter\itemlevel\c!inbetween\empty
- \fi\fi
+ \fi
\doifinset\v!columns{#1}%
{\ifinsidecolumns\else\ifnum\itemcolumndepth=\zerocount
\globallet\itemcolumndepth\itemlevel
@@ -881,7 +882,7 @@
\fi
\fi
\else
-\ifconditional\inlinelistitem
+\ifconditional\textlistitem % was bugged: \inlinelistitem
% \removeunwantedspaces\hskip\interwordspace\!!plus\emwidth\relax % new per 2006/10/20
\removeunwantedspaces\hskip\emwidth\!!plus\interwordstretch\!!minus\interwordshrink\relax % new per 2006/10/20
\else
diff --git a/Master/texmf-dist/tex/context/base/core-sec.tex b/Master/texmf-dist/tex/context/base/core-sec.tex
index 1e8188ea0d4..50032edcd24 100644
--- a/Master/texmf-dist/tex/context/base/core-sec.tex
+++ b/Master/texmf-dist/tex/context/base/core-sec.tex
@@ -1852,7 +1852,7 @@
%D [frame=off,offset=.5em,align=middle,width=broad]
%D {\sc\def\stretchedspaceamount{.3em}\stretchednormalcase{#1}}}
%D
-%D \definehead[MySubject]
+%D \definehead[MySubject][subject]
%D \setuphead [MySubject][deeptextcommand=\StretchedBox]
%D
%D \MySubject{feeling stretched feeling stretched feeling stretched feeling stretched}
@@ -2169,7 +2169,7 @@
\let\@@kolist=\empty
-\def\dodefinehead[#1][#2]% % don't preset prefix to much
+\def\dododefinehead#1#2% % don't preset prefix to much
{\presetlabeltext[#1=]%
\getparameters
[\??ko#1]
@@ -2265,6 +2265,15 @@
\setevalue{\??by\v!by#1}{\getvalue{\??ko#1\c!section}}%
\setvalue{#1}{\dodoubleempty\doconstructhead[#1]}}
+\def\dodefinehead[#1][#2]%
+ {\doifelsenothing{#2}
+ {% todo: message that it's an invalid definition
+ \setvalue{#1}{\endgraf[#1]\kern.5em}}
+ {\doifassignmentelse{#2}
+ {\dododefinehead{#1}{#2}}
+ {\doifdefined{\??ko#2\c!section}
+ {\dododefinehead{#1}{#2}}}}}
+
\def\definehead
{\dodoubleemptywithset\dodefinehead}
diff --git a/Master/texmf-dist/tex/context/base/core-spa.tex b/Master/texmf-dist/tex/context/base/core-spa.tex
index c498ee0153d..e41f1921536 100644
--- a/Master/texmf-dist/tex/context/base/core-spa.tex
+++ b/Master/texmf-dist/tex/context/base/core-spa.tex
@@ -3823,51 +3823,52 @@
% \setupalign[reset,new,right,old]
-
\def\@@align@@rl{\if!!donea\veryraggedleft \else\raggedleft \fi}
\def\@@align@@rr{\if!!donea\veryraggedright \else\raggedright \fi}
\def\@@align@@rc{\if!!donea\veryraggedcenter\else\raggedcenter\fi}
-\setvalue{@@align@@\v!new }{\@@asraggedfalse}
-\setvalue{@@align@@\v!old }{\@@asraggedtrue}
-\setvalue{@@align@@ }{}
-
-\setvalue{@@align@@\v!line }{\baselinebottom}
-\setvalue{@@align@@\v!bottom }{\raggedbottom}
-\setvalue{@@align@@\v!height }{\normalbottom}
-\setvalue{@@align@@\v!width }{\notragged}
-\setvalue{@@align@@\v!normal }{\notragged}
-\setvalue{@@align@@\v!yes }{\notragged}
-\setvalue{@@align@@\v!no }{\raggedright}
-\setvalue{@@align@@\v!inner }{\if@@asragged \setraggedparagraphmode\@@align@@rl\@@align@@rr \else
- \setraggedparagraphmode\@@align@@rr\@@align@@rl \fi}
-\setvalue{@@align@@\v!outer }{\if@@asragged \setraggedparagraphmode\@@align@@rr\@@align@@rl \else
- \setraggedparagraphmode\@@align@@rl\@@align@@rr \fi}
-\setvalue{@@align@@\v!left }{\if@@asragged\@@align@@rl\else\@@align@@rr\fi}
-\setvalue{@@align@@\v!right }{\if@@asragged\@@align@@rr\else\@@align@@rl\fi}
-\setvalue{@@align@@\v!middle }{\if!!doneb\raggedwidecenter\else\@@align@@rc\fi}
-\setvalue{@@align@@\v!flushleft }{\if!!donea\veryraggedright \else\raggedright\fi}
-\setvalue{@@align@@\v!flushright }{\if!!donea\veryraggedleft \else\raggedleft \fi}
-\setvalue{@@align@@\v!flushouter }{\setraggedparagraphmode\raggedleft\raggedright}
-\setvalue{@@align@@\v!flushinner }{\setraggedparagraphmode\raggedright\raggedleft}
-\setvalue{@@align@@\v!center }{\if!!doneb\raggedwidecenter\else\@@align@@rc\fi}
-\setvalue{@@align@@\v!hanging }{\enableprotruding}
-\setvalue{@@align@@\v!nothanging }{\disableprotruding}
-\setvalue{@@align@@\v!hz }{\enableadjusting}
-\setvalue{@@align@@\v!nohz }{\disableadjusting}
-\setvalue{@@align@@\v!spacing }{\enablespacehandling \enablekernhandling}
-\setvalue{@@align@@\v!nospacing }{\disablespacehandling\disablekernhandling}
-\setvalue{@@align@@\v!hyphenated }{\dohyphens}
-\setvalue{@@align@@\v!nothyphenated}{\nohyphens}
-\setvalue{@@align@@\v!new }{\@@asraggedfalse} % so new will give you consistency
-\setvalue{@@align@@\v!reset }{\notragged\normalbottom}
-
-\setvalue{@@align@@\v!tolerant }{\tolerance3000 \relax}
-\setvalue{@@align@@\v!verytolerant}{\tolerance4500 \relax}
-\setvalue{@@align@@\v!stretch }{\emergencystretch\bodyfontsize}
-
-\setvalue{@@ngila@@\v!broad }{\!!doneatrue}
-\setvalue{@@ngila@@\v!wide }{\!!donebtrue}
+\setvalue{@@ngila@@\v!broad }{\!!doneatrue}
+\setvalue{@@ngila@@\v!wide }{\!!donebtrue}
+
+\def\installalign#1#2{\setvalue{@@align@@#1}{#2}} % can be used for overloads
+
+\installalign \v!new {\@@asraggedfalse}
+\installalign \v!old {\@@asraggedtrue}
+\installalign \empty {}
+
+\installalign \v!line {\baselinebottom}
+\installalign \v!bottom {\raggedbottom}
+\installalign \v!height {\normalbottom}
+\installalign \v!width {\notragged}
+\installalign \v!normal {\notragged}
+\installalign \v!yes {\notragged}
+\installalign \v!no {\raggedright}
+\installalign \v!inner {\if@@asragged \setraggedparagraphmode\@@align@@rl\@@align@@rr \else
+ \setraggedparagraphmode\@@align@@rr\@@align@@rl \fi}
+\installalign \v!outer {\if@@asragged \setraggedparagraphmode\@@align@@rr\@@align@@rl \else
+ \setraggedparagraphmode\@@align@@rl\@@align@@rr \fi}
+\installalign \v!left {\if@@asragged\@@align@@rl\else\@@align@@rr\fi}
+\installalign \v!right {\if@@asragged\@@align@@rr\else\@@align@@rl\fi}
+\installalign \v!middle {\if!!doneb\raggedwidecenter\else\@@align@@rc\fi}
+\installalign \v!flushleft {\if!!donea\veryraggedright \else\raggedright\fi}
+\installalign \v!flushright {\if!!donea\veryraggedleft \else\raggedleft \fi}
+\installalign \v!flushouter {\setraggedparagraphmode\raggedleft\raggedright}
+\installalign \v!flushinner {\setraggedparagraphmode\raggedright\raggedleft}
+\installalign \v!center {\if!!doneb\raggedwidecenter\else\@@align@@rc\fi}
+\installalign \v!hanging {\enableprotruding}
+\installalign \v!nothanging {\disableprotruding}
+\installalign \v!hz {\enableadjusting}
+\installalign \v!nohz {\disableadjusting}
+\installalign \v!spacing {\enablespacehandling \enablekernhandling}
+\installalign \v!nospacing {\disablespacehandling\disablekernhandling}
+\installalign \v!hyphenated {\dohyphens}
+\installalign \v!nothyphenated {\nohyphens}
+\installalign \v!new {\@@asraggedfalse} % so new will give you consistency
+\installalign \v!reset {\notragged\normalbottom}
+
+\installalign \v!tolerant {\tolerance3000 \relax}
+\installalign \v!verytolerant {\tolerance4500 \relax}
+\installalign \v!stretch {\emergencystretch\bodyfontsize}
\def\dodosetupalign#1{\csname @@align@@#1\endcsname}
\def\dodosetupngila#1{\csname @@ngila@@#1\endcsname}
diff --git a/Master/texmf-dist/tex/context/base/core-var.tex b/Master/texmf-dist/tex/context/base/core-var.tex
index eba38fdc565..4db5cb6e55e 100644
--- a/Master/texmf-dist/tex/context/base/core-var.tex
+++ b/Master/texmf-dist/tex/context/base/core-var.tex
@@ -143,7 +143,7 @@
\def\dodopreventmode#1%
{\@EA\let\csname\@mode@#1\endcsname\preventedmode}
-\def\dodoenablemode#1%
+\def\dodoenablemode#1% mode can be relax
{\ifcase0\csname\@mode@#1\endcsname\relax
\@EA\let\csname\@mode@#1\endcsname\enabledmode
\fi}
@@ -153,6 +153,17 @@
\@EA\let\csname\@mode@#1\endcsname\disabledmode
\fi}
+% handy for mp
+
+\def\booleanmodevalue#1% can be \relax
+ {\expandafter\ifx\csname\@mode@#1\endcsname\relax
+ fals%
+ \else\ifnum0\csname\@mode@#1\endcsname=0
+ fals%
+ \else
+ tru%
+ \fi\fi e}
+
% check macros
\newif\ifcheckedmode
diff --git a/Master/texmf-dist/tex/context/base/core-vis.tex b/Master/texmf-dist/tex/context/base/core-vis.tex
index ed469e2e074..b20c9b9ce0b 100644
--- a/Master/texmf-dist/tex/context/base/core-vis.tex
+++ b/Master/texmf-dist/tex/context/base/core-vis.tex
@@ -319,19 +319,6 @@
\normalvskip\zeropoint\!!plus\ruleddepth}%
\fi}
-% \def\cutmarksymbols
-% {\setbox\scratchbox\normalvbox to \cutmarklength
-% {\normalvfill
-% \normalhbox to \cutmarklength
-% {\normalhfill\ssxx\cutmarksymbol\normalhfill}%
-% \normalvfill}%
-% \normalhbox to \ruledwidth
-% {\scratchdimen\cutmarklength
-% \divide\scratchdimen 2
-% \llap{\copy\scratchbox\normalhskip\cutmarkoffset\scratchdimen}%
-% \normalhfill
-% \rlap{\normalhskip\cutmarkoffset\scratchdimen\copy\scratchbox}}}
-
\def\cutmarksymbols#1%
{\normalhbox to \ruledwidth
{\setbox\scratchbox\normalhbox to \cutmarklength
@@ -348,64 +335,6 @@
\normalvss}%
\normalhss}}
-% \def\makecutbox#1%
-% {\edef\ruledheight{\the\ht#1}%
-% \edef\ruleddepth {\the\dp#1}%
-% \edef\ruledwidth {\the\wd#1}%
-% \setbox#1\normalhbox
-% {\dontcomplain
-% \forgetall
-% \boxmaxdepth\maxdimen
-% \offinterlineskip
-% \scratchdimen\cutmarklength
-% \divide\scratchdimen 2
-% \hsize\ruledwidth
-% \setbox\scratchbox\normalvbox
-% {\setbox\scratchbox\normalhbox{\horizontalcuts}%
-% \normalvskip-\cutmarkoffset\scratchdimen
-% \normalvskip-2\scratchdimen
-% \copy\scratchbox
-% \normalvskip\cutmarkoffset\scratchdimen
-% \hbox to \ruledwidth
-% {\setbox\scratchbox\normalhbox{\verticalcuts}%
-% \llap{\copy\scratchbox\normalhskip\cutmarkoffset\scratchdimen}%
-% \bgroup
-% \setbox\scratchbox\normalhbox{\baselinecuts}%
-% \llap{\copy\scratchbox\normalhskip\cutmarkoffset\scratchdimen}%
-% \normalhfill
-% \rlap{\normalhskip\cutmarkoffset\scratchdimen\copy\scratchbox}%
-% \egroup
-% \rlap{\normalhskip\cutmarkoffset\scratchdimen\copy\scratchbox}}%
-% \normalvskip\cutmarkoffset\scratchdimen
-% \copy\scratchbox}%
-% \ht\scratchbox\ruledheight
-% \dp\scratchbox\ruleddepth
-% \wd\scratchbox\zeropoint
-% \resetcolorseparation
-% \localstartcolor[\defaulttextcolor]%
-% \box\scratchbox
-% \ifx\cutmarksymbol\relax \else
-% \setbox\scratchbox\normalvbox
-% {\setbox\scratchbox\normalhbox{\cutmarksymbols}%
-% \vskip-\cutmarkoffset\scratchdimen
-% \vskip-\cutmarklength
-% \copy\scratchbox
-% \vskip\cutmarkoffset\scratchdimen
-% \vskip\ruledheight
-% \vskip\ruleddepth
-% \vskip\cutmarkoffset\scratchdimen
-% \copy\scratchbox}%
-% \ht\scratchbox\ruledheight
-% \dp\scratchbox\ruleddepth
-% \wd\scratchbox\zeropoint
-% \box\scratchbox
-% \fi
-% \localstopcolor
-% \box#1}%
-% \wd#1=\ruledwidth
-% \ht#1=\ruledheight
-% \dp#1=\ruleddepth}
-
\def\makecutbox#1% simplier with layers, todo
{\edef\ruledheight{\the\ht#1}%
\edef\ruleddepth {\the\dp#1}%
diff --git a/Master/texmf-dist/tex/context/base/enco-ans.tex b/Master/texmf-dist/tex/context/base/enco-ans.tex
index 6c7acf73189..7a48b5b5548 100644
--- a/Master/texmf-dist/tex/context/base/enco-ans.tex
+++ b/Master/texmf-dist/tex/context/base/enco-ans.tex
@@ -114,6 +114,7 @@
\definecharacter textasciitilde 158
\definecharacter textbackslash 92
\definecharacter textbraceleft 123
+\definecharacter textbar 124
\definecharacter textbraceright 125
\definecharacter textunderscore 95
diff --git a/Master/texmf-dist/tex/context/base/font-uni.tex b/Master/texmf-dist/tex/context/base/font-uni.tex
index 3dee48ec48f..5d9e7a8819f 100644
--- a/Master/texmf-dist/tex/context/base/font-uni.tex
+++ b/Master/texmf-dist/tex/context/base/font-uni.tex
@@ -450,7 +450,7 @@
% the following \relax's are realy needed
\doifvalue{\??uc#1\c!interlinespace}\v!yes
\setupinterlinespace\relax
- \doifvalue{\??uc#1\c!strut}\v!yes
+ \doifelsevalue{\??uc#1\c!strut}\v!yes
{\setunicodestrut\unicodeheight\unicodedepth}
{\resetunicodestrut}%
\getvalue{\??uc#1\c!commands}\relax}
diff --git a/Master/texmf-dist/tex/context/base/math-ext.tex b/Master/texmf-dist/tex/context/base/math-ext.tex
index 177e3c8a4a9..e2155503db4 100644
--- a/Master/texmf-dist/tex/context/base/math-ext.tex
+++ b/Master/texmf-dist/tex/context/base/math-ext.tex
@@ -63,6 +63,13 @@
% temp here
+%D We next define extensible arrows. Extensible arrows are arrows that change
+%D their length accoding to the width of the text to be placed above and below
+%D the arrow. Since we need to define a lot of arrows, we first define some
+%D helper macros. The basic idea is to measure the width of the box to be
+%D placed above and below the arrow, and make the \quotation{body} of the
+%D arrow as long as the bigger of the two widths.
+
\def\mtharrfactor{1}
\def\mtharrextra {0}
@@ -109,6 +116,9 @@
\let\domthxarrsingle\domthxarr
+%D There are some arrows which are created by stacking two arrows. The next
+%D macro helps in defining such \quotation{double arrows}.
+
\def\domthxarrdouble#1#2#3#4#5#6#7% opt l r sp rs top bot
{\mathrel
{\scratchdimen.22ex\relax
@@ -118,6 +128,67 @@
\kern-\wd2
\lower\scratchdimen\box2}}
+%D \macros{definematharrow}
+%D Macro for defining new arrows. We can define two types of arrows|<|single
+%D arrows and double arrows. Single arrows are defined as
+%D \starttyping
+%D \definematharrow [xrightarrow] [0359] [\rightarrowfill]
+%D \stoptyping
+%D The first argument is the name of the arrow (\tex{xrightarrow} in this case.)
+%D The second argument consists of a set of 4 numbers and specify the spacing
+%D correction in math units~\type{mu}. These numbers define:
+%D \startlines
+%D 1st number: arrow||tip correction
+%D 2nd number: arrow||tip correction
+%D 3rd number: space (multiplied by \tex{matharrfactor} and advanced by \tex{matharrextra})
+%D 4th number: space (multiplied by \tex{matharrfactor} and advanced by \tex{matharrextra})
+%D \stoplines
+%D
+%D The third argument is the name of the extensible fill. The third argument
+%D is optional when the arrow is redefined later (this is useful for font
+%D specific tweaking of the skips.) For example,
+%D \startbuffer
+%D \math{\xrightarrow{above}}
+%D \definematharrow[xrightarrow][0000]
+%D \math{\xrightarrow{above}}
+%D \definematharrow[xrightarrow][55{50}{50}]
+%D \math{\xrightarrow{above}}
+%D \stopbuffer
+%D \typebuffer gives {\getbuffer}
+%D
+%D The double arrows are defined as follows
+%D \starttyping
+%D \definematharrow [xrightleftharpoons] [3095,0359]
+%D [\rightharpoonupfill,\leftharpoondownfill]
+%D \stoptyping
+%D The second and the third set of arguments consist of comma separated
+%D values. The first element of the second argument (\type{3095}) corresponds
+%D to the spacing correction of top arrow fill (\tex{rightarrowupfill}).
+%D Similarly, \type{0359} corresponds to bottom arrow fill
+%D \tex{leftharpoondownfill}). Stacking them on top of each other we get
+%D $\xrightleftharpoons[big]{above}{below}$.
+%D The following math arrows are defined
+%D \midaligned{\starttable[|l|m|]
+%D \NC \tex{xrightarrow } \NC \xrightarrow [big] \NC \NR
+%D \NC \tex{xleftarrow } \NC \xleftarrow [big] \NC \NR
+%D \NC \tex{xequal } \NC \xequal [big] \NC \NR
+%D \NC \tex{xRightarrow } \NC \xRightarrow [big] \NC \NR
+%D \NC \tex{xLeftarrow } \NC \xLeftarrow [big] \NC \NR
+%D \NC \tex{xLeftrightarrow } \NC \xLeftrightarrow [big] \NC \NR
+%D \NC \tex{xleftrightarrow } \NC \xleftrightarrow [big] \NC \NR
+%D \NC \tex{xmapsto } \NC \xmapsto [big] \NC \NR
+%D \NC \tex{xtwoheadrightarrow } \NC \xtwoheadrightarrow [big] \NC \NR
+%D \NC \tex{xtwoheadleftarrow } \NC \xtwoheadleftarrow [big] \NC \NR
+%D \NC \tex{xrightharpoondown } \NC \xrightharpoondown [big] \NC \NR
+%D \NC \tex{xrightharpoonup } \NC \xrightharpoonup [big] \NC \NR
+%D \NC \tex{xleftharpoondown } \NC \xleftharpoondown [big] \NC \NR
+%D \NC \tex{xleftharpoonup } \NC \xleftharpoonup [big] \NC \NR
+%D \NC \tex{xhookleftarrow } \NC \xhookleftarrow [big] \NC \NR
+%D \NC \tex{xhookrightarrow } \NC \xhookrightarrow [big] \NC \NR
+%D \NC \tex{xleftrightharpoons } \NC \xleftrightharpoons [big] \NC \NR
+%D \NC \tex{xrightleftharpoons } \NC \xrightleftharpoons [big] \NC \NR
+%D \stoptable}
+
\def\definematharrow
{\doquadrupleargument\dodefinematharrow}
@@ -166,6 +237,14 @@
% Adapted from amsmath.
+%D \macros{mtharrowfill,defaultmtharrowfill}
+%D To extend the arrows we need to define a \quotation{math arrow fill}. This
+%D command takes 7 arguments: the first four correspond the second argument of
+%D \tex{definematharrow} explained above. The other three specify the tail,
+%D body and head of the arrow. \tex{defaultmtharrowfill} has values tweaked to
+%D match latin modern fonts. For fonts that are significantly different (e.g.
+%D cows) a different set of values need to be determined.
+
\def\mtharrowfill#1#2#3#4#5#6#7%
{$\mathsurround 0pt
\thickmuskip0mu\medmuskip\thickmuskip\thinmuskip\thickmuskip
@@ -176,7 +255,8 @@
\def\defaultmtharrowfill{\mtharrowfill 7227}
-% Maybe redefine leftarrowfill and rightarrowfill using arrowfill
+%D We now define some arrow fills that will be used for defining the arrows.
+%D \tex{leftarrowfill} and \tex{rightarrowfill} are redefined using \tex{defaultmtharrowfill}.
\def\rightarrowfill {\defaultmtharrowfill \relbar \relbar \rightarrow }
\def\leftarrowfill {\defaultmtharrowfill \leftarrow \relbar \relbar }
@@ -196,7 +276,9 @@
\def\hookleftfill {\defaultmtharrowfill \leftarrow \relbar{\relbar\joinrel\rhook}}
\def\hookrightfill{\defaultmtharrowfill{\lhook\joinrel\relbar}\relbar \rightarrow}
-% From amsmath.sty, extarrows.sty, extpfel.sty and mathtools.sty(ams)
+%D Now we define most commonly used arrows. These include arrows defined in
+%D \filename{amsmath.sty}, \filename{extarrows.sty}, \filename{extpfel.sty}
+%D and mathtools.sty packages for \LATEX.
\definematharrow [xrightarrow] [0359] [\rightarrowfill]
\definematharrow [xleftarrow] [3095] [\leftarrowfill]
@@ -216,17 +298,21 @@
\definematharrow [xleftrightharpoons] [3399,3399] [\leftharpoonupfill,\rightharpoondownfill]
\definematharrow [xrightleftharpoons] [3399,3399] [\rightharpoonupfill,\leftharpoondownfill]
-\definematharrow [xhdefaultookleftarrow] [3095] [\hookleftfill]
-\definematharrow [xhdefaultookrightarrow] [0395] [\hookrightfill]
-
-% \startformula \xrightarrow{stuff on top}\stopformula
-% \startformula \xrightarrow{}{stuff on top}\stopformula
-% \startformula \xrightarrow{stuff below}{}\stopformula
-% \startformula \xrightarrow{stuff below}{stuff on top}\stopformula
-
-% \startformula \xleftarrow [none]{stuff below}{stuff on top}\stopformula
-% \startformula \xleftarrow [small]{stuff below}{stuff on top}\stopformula
-% \startformula \xleftarrow [medium]{stuff below}{stuff on top}\stopformula
-% \startformula \xleftarrow [big]{stuff below}{stuff on top}\stopformula
+\definematharrow [xhookleftarrow] [3095] [\hookleftfill]
+\definematharrow [xhookrightarrow] [0395] [\hookrightfill]
+
+%D These arrows can be used as folows:
+%D \startbuffer
+%D \startformula \xrightarrow{stuff on top}\stopformula
+%D \startformula \xrightarrow{}{stuff on top}\stopformula
+%D \startformula \xrightarrow{stuff below}{}\stopformula
+%D \startformula \xrightarrow{stuff below}{stuff on top}\stopformula
+%D
+%D \startformula \xleftarrow [none]{stuff below}{stuff on top}\stopformula
+%D \startformula \xleftarrow [small]{stuff below}{stuff on top}\stopformula
+%D \startformula \xleftarrow [medium]{stuff below}{stuff on top}\stopformula
+%D \startformula \xleftarrow [big]{stuff below}{stuff on top}\stopformula
+%D \stopbuffer
+%D \typebuffer which gives \getbuffer
\protect \endinput
diff --git a/Master/texmf-dist/tex/context/base/math-tex.tex b/Master/texmf-dist/tex/context/base/math-tex.tex
index d2516bc62c6..fc3cd7ae610 100644
--- a/Master/texmf-dist/tex/context/base/math-tex.tex
+++ b/Master/texmf-dist/tex/context/base/math-tex.tex
@@ -414,6 +414,7 @@
\definemathsymbol [grave] [accent] [mr] ["12]
\definemathsymbol [ddot] [accent] [mr] ["7F]
\definemathsymbol [tilde] [accent] [mr] ["7E]
+\definemathsymbol [mathring] [accent] [mr] ["17]
\definemathsymbol [bar] [accent] [mr] ["16]
\definemathsymbol [breve] [accent] [mr] ["15]
\definemathsymbol [check] [accent] [mr] ["14]
diff --git a/Master/texmf-dist/tex/context/base/meta-ini.tex b/Master/texmf-dist/tex/context/base/meta-ini.tex
index d00a8a6b196..e2f9fa1f9f7 100644
--- a/Master/texmf-dist/tex/context/base/meta-ini.tex
+++ b/Master/texmf-dist/tex/context/base/meta-ini.tex
@@ -761,6 +761,11 @@
\stopMPinitializations
\appendtoks
+ \disablediscretionaries
+ \disablecompoundcharacters
+\to\everyMPgraphic
+
+\appendtoks
\expanded{\definecolor[currentcolor][\currentcolorname]}%
\to \everyMPgraphic
diff --git a/Master/texmf-dist/tex/context/base/page-mul.tex b/Master/texmf-dist/tex/context/base/page-mul.tex
index 4fd0979f8b8..edbf6206e02 100644
--- a/Master/texmf-dist/tex/context/base/page-mul.tex
+++ b/Master/texmf-dist/tex/context/base/page-mul.tex
@@ -1654,14 +1654,20 @@
\doifelse\@@klbalance\v!yes
\balancecolumnstrue
\balancecolumnsfalse
- \processaction % ook nog: laatsteuitlijnen
- [\@@klalign]
- [ \v!yes=>\stretchcolumnstrue
- \inheritcolumnsfalse,
- \v!no=>\stretchcolumnsfalse
- \inheritcolumnsfalse,
- \v!text=>\stretchcolumnsfalse
- \inheritcolumnstrue]%
+\installalign\v!yes {\stretchcolumnstrue \inheritcolumnsfalse}% todo: new key
+\installalign\v!no {\stretchcolumnsfalse\inheritcolumnsfalse}% todo: new key
+\installalign\v!text{\stretchcolumnsfalse\inheritcolumnstrue }%
+\stretchcolumnsfalse
+\inheritcolumnstrue
+\doifsomething\@@klalign{\expanded{\setupalign[\@@klalign]}}%
+% \processaction
+% [\@@klalign]
+% [ \v!yes=>\stretchcolumnstrue
+% \inheritcolumnsfalse,
+% \v!no=>\stretchcolumnsfalse
+% \inheritcolumnsfalse,
+% \v!text=>\stretchcolumnsfalse
+% \inheritcolumnstrue]%
\nofcolumns=\@@kln
%
% probably more is needed, and how about nesting save's
diff --git a/Master/texmf-dist/tex/context/base/s-map-10.tex b/Master/texmf-dist/tex/context/base/s-map-10.tex
index 800eb5c156f..ec7ef6128b2 100644
--- a/Master/texmf-dist/tex/context/base/s-map-10.tex
+++ b/Master/texmf-dist/tex/context/base/s-map-10.tex
@@ -36,6 +36,8 @@
\doifmode{asym}{\enablemode[onecolumn]} % implies onecolumn
\doifnotmode{onecolumn}{\MapsInColumnstrue}
+\enablemode[realfonts]
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% fonts
diff --git a/Master/texmf-dist/tex/context/base/s-ptj-01.tex b/Master/texmf-dist/tex/context/base/s-ptj-01.tex
index 98ec3ae031f..188af73bd7e 100644
--- a/Master/texmf-dist/tex/context/base/s-ptj-01.tex
+++ b/Master/texmf-dist/tex/context/base/s-ptj-01.tex
@@ -1,6 +1,6 @@
%D \module
%D [ file=s-ptj-01,
-%D version=2006.11.14,
+%D version=2006.11.28,
%D title=\CONTEXT\ Style File,
%D subtitle=PracTeX Journal Style,
%D author=Aditya Mahajan,
@@ -11,41 +11,31 @@
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-%C
-%C This work may be distributed and|/|or modified under the
-%C conditions of the \LATEX\ Project Public License, either version~1.3
-%C of this license or (at your option) any later version.
-%C The latest version of this license is in
-%C \hyphenatedurl{http://www.latex-project.org/lppl.txt}
-%C and version~1.3 or later is part of all distributions of \LATEX\
-%C version~2005/12/01 or later.
-%C
-%C This work has the LPPL maintenance status \quote{maintained}.
-%C
-%C The Current Maintainer of this work is Aditya Mahajan.
-%C
-%C The Base Interpreter for this work is any \CONTEXT||formal.
-%C
-%C This work consists of the file \filename{t-pracjourn.tex}.
%M % These macros are needed to compile the documentation.
%M \def\PracTeX{Prac\kern-0.07em\TeX}
%M \def\PRACTEX{\PracTeX}
%M \def\TPJ {The \PRACTEX\ Journal}
%M \useurl[TPJ][http://www.tug.org/pracjourn/][][\TPJ]
+%M \useurl[texgyre][http://www.gust.org.pl/projects/e-foundry/tex-gyre/]
\writestatus {loading} {Context Module for the PracTeX Journal}
%D This module is for producing acticles for \from[TPJ]. It merely copies the
%D layout of the the \LATEX\ class \filename{pracjourn.cls} available from
-%D \TPJ\ website (\url[TPJ]). A sample document is given at the end of this
-%D file. The typeset sample can be obtained by
+%D \TPJ\ website (\url[TPJ]). This module has a filename synonym
+%D \filename{pracjourn}. So to use this module, you can write:
%D \starttyping
-%D texexec --mode=demo s-pracjourn.tex
+%D \usemodule[pracjourn]
+%D \stoptyping
+%D A sample document is given at the end of this file. The typeset sample can
+%D be obtained by
+%D \starttyping
+%D texmfstart texexec --mode=demo s-ptj-01.tex
%D \stoptyping
%D The documentation is written as comments. If you want to see a \PDF\ copy
%D \starttyping
-%D texexec --module s-pracjourn.tex
+%D texmfstart texexec --module s-ptj-01.tex
%D \stoptyping
\startmodule[pracjourn]
@@ -78,14 +68,14 @@
footerdistance=.25in,
]
-
%D Next we do the font setup. \TPJ\ uses mathpazo for roman and math faces and
%D uses latin modern for sans serif and monotype. For the main face, 12pt is
%D used with a 15.5pt baseline skip. Font protrusion is enabled, but font
-%D expansion is not. We follow these conventions, but use
-%D Pagella fonts from \TEX{gyre} project, and scale latin modern fonts by
-%D 1.1 for better matching. Most of the numbers (page numbers, figure numbers,
-%D section numbers) are set in oldstyle.
+%D expansion is not. We follow these conventions, but use Pagella fonts from
+%D \TEX{gyre} project, and scale latin modern fonts by 1.1 for better
+%D matching. Right now, the \TEX{gyre} fonts are not distributed with
+%D \CONTEXT. They can be downloaded from \url[texgyre]. Most of the numbers
+%D (page numbers, figure numbers, section numbers) are set in oldstyle.
\usetypescript [serif,sans,mono] [hanging] [pure]
\setupalign [hanging]
@@ -235,8 +225,8 @@
{\doadditionalinfo{Address}{\getvariable{pracjourn}{address}}}
\iftitleskipdone \blank[big] \fi
\doadditionalinfo{Abstract}%
- {\setupindenting[yes]
- \setupinterlinespace
+ {\setupindenting[yes]%
+ \setupinterlinespace%
\getbuffer[abstract]
\endgraf}
\egroup
@@ -368,8 +358,9 @@
\setupwhitespace [medium]
\setupblank [medium]
-%D We define logos for \PRACTEX\ and \TPJ. These can be accessed by
-%D \type|\PracTeX|, \type|\PRACTEX| and \type|\TPJ|.
+%D We define logos for \PRACTEX\ and \TPJ. These definitions are copied from
+%D \filename{pracjourn.cls} and can be accessed by \type|\PracTeX|,
+%D \type|\PRACTEX| and \type|\TPJ|.
\def\PracTeX{Prac\kern-0.07em\TeX}
\def\PRACTEX{\PracTeX}
@@ -409,6 +400,7 @@
\immediate\closein\scratchread
\protect
+
\stopmodule
\doifnotmode{demo}{\endinput}
diff --git a/Master/texmf-dist/tex/context/base/spec-dpx.tex b/Master/texmf-dist/tex/context/base/spec-dpx.tex
index 0f038034272..1522304e7d3 100644
--- a/Master/texmf-dist/tex/context/base/spec-dpx.tex
+++ b/Master/texmf-dist/tex/context/base/spec-dpx.tex
@@ -119,7 +119,7 @@
% \definefileinsertion{dpx}{mps}{\handleepsimage}
-\definefileinsertion{tpd}{mps}
+\definefileinsertion{dpx}{mps}
{\hbox
{\convertMPtoPDF\@@DriverImageFile{1}{1}%
\global\let\PDFimagereference\empty}}
diff --git a/Master/texmf-dist/tex/context/base/spec-tst.tex b/Master/texmf-dist/tex/context/base/spec-tst.tex
index 9f150dfe367..b8424e18ee1 100644
--- a/Master/texmf-dist/tex/context/base/spec-tst.tex
+++ b/Master/texmf-dist/tex/context/base/spec-tst.tex
@@ -31,6 +31,7 @@
\long\def\sanitizePDFuniencoding#1\to#2%
{\enablePDFunicrlf
+ \simplifycommands % added due to Dohyun Kim
\let\unicodechar\relax % prevent further expansion
\retainlccodes\lccode32=255 % slooow
\lowercasestring\PDFunicodetrigger#1\to#2%
diff --git a/Master/texmf-dist/tex/context/base/supp-mps.tex b/Master/texmf-dist/tex/context/base/supp-mps.tex
index e03ef826c35..d6e015372ee 100644
--- a/Master/texmf-dist/tex/context/base/supp-mps.tex
+++ b/Master/texmf-dist/tex/context/base/supp-mps.tex
@@ -388,6 +388,8 @@
\fi
\next}
+\appendtoks \obeyMPlines \to \everyMPgraphic % more efficient than in each following grouped write
+
\long\def\writeMPgraphiclongR#1% fast, no scanning
{\bgroup
\let\par\space
diff --git a/Master/texmf-dist/tex/context/base/symb-glm.tex b/Master/texmf-dist/tex/context/base/symb-glm.tex
index 63ac4ed2664..b07a3a42669 100644
--- a/Master/texmf-dist/tex/context/base/symb-glm.tex
+++ b/Master/texmf-dist/tex/context/base/symb-glm.tex
@@ -36,26 +36,26 @@
%
% but was also one of the reasons for triggering the lm project, so:
-\definefontsynonym [GuilSerif] [cork-lmr10] [encoding=ec]
-\definefontsynonym [GuilSerifBold] [cork-lmbx10] [encoding=ec]
-\definefontsynonym [GuilSerifItalic] [cork-lmti10] [encoding=ec]
-\definefontsynonym [GuilSerifSlanted] [cork-lmsl10] [encoding=ec]
-\definefontsynonym [GuilSerifBoldItalic] [cork-lmbxti10] [encoding=ec]
-\definefontsynonym [GuilSerifBoldSlanted] [cork-lmbxsl10] [encoding=ec]
+\definefontsynonym [GuilSerif] [ec-lmr10] [encoding=ec]
+\definefontsynonym [GuilSerifBold] [ec-lmbx10] [encoding=ec]
+\definefontsynonym [GuilSerifItalic] [ec-lmti10] [encoding=ec]
+\definefontsynonym [GuilSerifSlanted] [ec-lmsl10] [encoding=ec]
+\definefontsynonym [GuilSerifBoldItalic] [ec-lmbxti10] [encoding=ec]
+\definefontsynonym [GuilSerifBoldSlanted] [ec-lmbxsl10] [encoding=ec]
-\definefontsynonym [GuilSans] [cork-lmss10] [encoding=ec]
-\definefontsynonym [GuilSansBold] [cork-lmssbx10] [encoding=ec]
-\definefontsynonym [GuilSansItalic] [cork-lmssi10] [encoding=ec]
-\definefontsynonym [GuilSansSlanted] [cork-lmssi10] [encoding=ec]
-\definefontsynonym [GuilSansBoldItalic] [cork-lmssbi10] [encoding=ec]
-\definefontsynonym [GuilSansBoldSlanted] [cork-lmssbi10] [encoding=ec]
+\definefontsynonym [GuilSans] [ec-lmss10] [encoding=ec]
+\definefontsynonym [GuilSansBold] [ec-lmssbx10] [encoding=ec]
+\definefontsynonym [GuilSansItalic] [ec-lmssi10] [encoding=ec]
+\definefontsynonym [GuilSansSlanted] [ec-lmssi10] [encoding=ec]
+\definefontsynonym [GuilSansBoldItalic] [ec-lmssbi10] [encoding=ec]
+\definefontsynonym [GuilSansBoldSlanted] [ec-lmssbi10] [encoding=ec]
-\definefontsynonym [GuilMono] [cork-lmtt10] [encoding=ec]
-%definefontsynonym [GuilMonoBold] [cork-lmtt10] [encoding=ec]
-%definefontsynonym [GuilMonoSlanted] [cork-lmtt10] [encoding=ec]
-%definefontsynonym [GuilMonoItalic] [cork-lmtt10] [encoding=ec]
-%definefontsynonym [GuilMonoBoldItalic] [cork-lmtt10] [encoding=ec]
-%definefontsynonym [GuilMonoBoldSlanted] [cork-lmtt10] [encoding=ec]
+\definefontsynonym [GuilMono] [ec-lmtt10] [encoding=ec]
+%definefontsynonym [GuilMonoBold] [ec-lmtt10] [encoding=ec]
+%definefontsynonym [GuilMonoSlanted] [ec-lmtt10] [encoding=ec]
+%definefontsynonym [GuilMonoItalic] [ec-lmtt10] [encoding=ec]
+%definefontsynonym [GuilMonoBoldItalic] [ec-lmtt10] [encoding=ec]
+%definefontsynonym [GuilMonoBoldSlanted] [ec-lmtt10] [encoding=ec]
\definesymbol [xleftguillemot] [\getglyph{Guil}{\char19}]
\definesymbol [xrightguillemot] [\getglyph{Guil}{\char20}]
diff --git a/Master/texmf-dist/tex/context/base/syst-xtx.tex b/Master/texmf-dist/tex/context/base/syst-xtx.tex
index 3c60b7824ed..3cf5aa29bac 100644
--- a/Master/texmf-dist/tex/context/base/syst-xtx.tex
+++ b/Master/texmf-dist/tex/context/base/syst-xtx.tex
@@ -39,6 +39,10 @@
\input enco-xtx.tex
\fi
+\ifx\XeTeXuseglyphmetrics\undefined \else
+ \XeTeXuseglyphmetrics=1
+\fi
+
% patch needed for turkish
\setcclcuc 201C 201C 201C
diff --git a/Master/texmf-dist/tex/context/base/unic-cjk.tex b/Master/texmf-dist/tex/context/base/unic-cjk.tex
index 2835e6cf147..a4155f13605 100644
--- a/Master/texmf-dist/tex/context/base/unic-cjk.tex
+++ b/Master/texmf-dist/tex/context/base/unic-cjk.tex
@@ -11,6 +11,8 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\dostepwiserecurse{40}{159}{1}{\expanded{\defineunicodecommand {\recurselevel}} {\lookaheaduchar}}
+\dostepwiserecurse {40}{159}{1}{\expanded{\defineunicodecommand{\recurselevel}} {\lookaheaduchar}}
+\dostepwiserecurse{172}{215}{1}{\expanded{\defineunicodecommand{\recurselevel}} {\lookaheaduchar}}
+\dostepwiserecurse{249}{250}{1}{\expanded{\defineunicodecommand{\recurselevel}} {\lookaheaduchar}}
\endinput
diff --git a/Master/texmf-dist/tex/context/base/x-newmml.tex b/Master/texmf-dist/tex/context/base/x-newmml.tex
index 690c9ca7043..803190ee44d 100644
--- a/Master/texmf-dist/tex/context/base/x-newmml.tex
+++ b/Master/texmf-dist/tex/context/base/x-newmml.tex
@@ -100,6 +100,16 @@
\def\setupMMLappearance[#1]{\dodoubleargument\getparameters[@@MML#1]}
+\def\startusingMMLarguments % optional maken
+ {\begingroup
+ %\expandXMLta % expand entities first
+ \getXMLta}
+
+\def\stopusingMMLarguments % optional maken
+ {\endgroup}
+
+\def\MMLargumentprefix{@@MML\currentXMLelement}
+
%D We will apply inner math to all bits and pieces made up by an
%D \type {apply}.
@@ -138,7 +148,7 @@
{\donetrue}
{\XMLdoifonstackelse{apply}
{\defXMLfirstnamedtext\ascii{apply}%
- \startsavingXMLelements % best use a substack so that we donnot need to \edef
+ \startsavingXMLelements % best use a substack so that we do not need to \edef
\ascii
\stopsavingXMLelements}
{}%
@@ -993,35 +1003,41 @@
\defineXMLcommand [rem] {\flushXMLstackwith\plustwo{\getXMLentity{mod}}}
-\defineXMLcommand [times] {\directsetup{mmc:times}}
-
\setupMMLappearance [times] [\c!symbol=\v!no,\c!auto=\v!yes] % new, auto catches cn cn cn
+\defineXMLcommand [times] [\MMLargumentprefix] [] {\directsetup{mmc:times}}
+
\startsetups mmc:times
- \setMMLcreset{\MMLcfunctionlist,\MMLcconstructlist}%
- \doifelse\@@MMLtimesauto\v!no {
- \let\@@MMLtimes@@symbol\@@MMLtimessymbol
- } {
- \countXMLnamedstack {cn}
- \ifnum\scratchcounter>\plusone
- \let\@@MMLtimes@@symbol\v!yes
- \else
- \let\@@MMLtimes@@symbol\@@MMLtimessymbol
- \fi
- }
- \doifelse\@@MMLtimes@@symbol\v!yes {
- \flushXMLstackwith\plustwo\times
- } {
- \doifelse\@@MMLtimes@@symbol{dot} {
- \flushXMLstackwith\plustwo\cdot
+ \startusingMMLarguments
+ \setMMLcreset{\MMLcfunctionlist,\MMLcconstructlist}%
+ \doifelse\@@MMLtimesauto\v!no {
+ \let\@@MMLtimes@@symbol\@@MMLtimessymbol
} {
- \doifelse\@@MMLtimes@@symbol{times} {
- \flushXMLstackwith\plustwo\times
+ \countXMLnamedstack {cn}
+ \ifnum\scratchcounter>\plusone
+ \doifinsetelse\@@MMLtimessymbol{\v!yes,\v!no} {
+ \let\@@MMLtimes@@symbol\v!yes
+ } {
+ \let\@@MMLtimes@@symbol\@@MMLtimessymbol
+ }
+ \else
+ \let\@@MMLtimes@@symbol\@@MMLtimessymbol
+ \fi
+ }
+ \doifelse\@@MMLtimes@@symbol\v!yes {
+ \flushXMLstackwith\plustwo\times
+ } {
+ \doifelse\@@MMLtimes@@symbol{dot} {
+ \flushXMLstackwith\plustwo\cdot
} {
- \flushXMLstackwith\plustwo\empty
+ \doifelse\@@MMLtimes@@symbol{times} {
+ \flushXMLstackwith\plustwo\times
+ } {
+ \flushXMLstackwith\plustwo\empty
+ }
}
}
- }
+ \stopusingMMLarguments
\stopsetups
\defineXMLcommand [root] {\directsetup{mmc:root}}
diff --git a/Master/texmf-dist/tex/context/base/x-om2cml.xsl b/Master/texmf-dist/tex/context/base/x-om2cml.xsl
index 60888c10d7c..4bc1818078b 100644
--- a/Master/texmf-dist/tex/context/base/x-om2cml.xsl
+++ b/Master/texmf-dist/tex/context/base/x-om2cml.xsl
@@ -177,7 +177,29 @@
<!-- Trivial Cases: abs, divide, gcd, lcm, minus, plus -->
<xsl:template match="om:OMS[@cd='arith1']">
- <xsl:element name="{@name}"/>
+ <xsl:element name="{@name}">
+ <xsl:choose>
+ <xsl:when test="@name='times'">
+ <xsl:choose>
+ <xsl:when test="../@style='empty'">
+ <xsl:attribute name='symbol'></xsl:attribute>
+ </xsl:when>
+ <xsl:when test="../@style='cross'">
+ <xsl:attribute name='symbol'>times</xsl:attribute>
+ </xsl:when>
+ <xsl:when test="../@style=''">
+ <!-- inherit from parent times -->
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name='symbol'><xsl:value-of select="../@style"/></xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- forget about it -->
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:element>
</xsl:template>
<!-- unary_minus -->
diff --git a/Master/texmf-dist/tex/context/interface/cont-cz.xml b/Master/texmf-dist/tex/context/interface/cont-cz.xml
index 8ec1415b9b5..62d96637364 100644
--- a/Master/texmf-dist/tex/context/interface/cont-cz.xml
+++ b/Master/texmf-dist/tex/context/interface/cont-cz.xml
@@ -3226,6 +3226,9 @@
<cd:constant type="ne"/>
</cd:parameter>
<cd:parameter name="zarovnani">
+ <cd:constant type="text"/>
+ <!-- cd:constant type="yes"/ -->
+ <!-- cd:constant type="no"/ -->
<cd:resolve name="align"/>
</cd:parameter>
<cd:parameter name="prazdny">
diff --git a/Master/texmf-dist/tex/context/interface/cont-de.xml b/Master/texmf-dist/tex/context/interface/cont-de.xml
index 2268f5418ee..65040942f4f 100644
--- a/Master/texmf-dist/tex/context/interface/cont-de.xml
+++ b/Master/texmf-dist/tex/context/interface/cont-de.xml
@@ -3226,6 +3226,9 @@
<cd:constant type="nein"/>
</cd:parameter>
<cd:parameter name="ausrichtung">
+ <cd:constant type="text"/>
+ <!-- cd:constant type="yes"/ -->
+ <!-- cd:constant type="no"/ -->
<cd:resolve name="align"/>
</cd:parameter>
<cd:parameter name="blanko">
diff --git a/Master/texmf-dist/tex/context/interface/cont-en.xml b/Master/texmf-dist/tex/context/interface/cont-en.xml
index 45ddc571830..6a730113a50 100644
--- a/Master/texmf-dist/tex/context/interface/cont-en.xml
+++ b/Master/texmf-dist/tex/context/interface/cont-en.xml
@@ -3226,6 +3226,9 @@
<cd:constant type="no"/>
</cd:parameter>
<cd:parameter name="align">
+ <cd:constant type="text"/>
+ <!-- cd:constant type="yes"/ -->
+ <!-- cd:constant type="no"/ -->
<cd:resolve name="align"/>
</cd:parameter>
<cd:parameter name="blank">
diff --git a/Master/texmf-dist/tex/context/interface/cont-fr.xml b/Master/texmf-dist/tex/context/interface/cont-fr.xml
index 04c9b4692e3..e78ea512688 100644
--- a/Master/texmf-dist/tex/context/interface/cont-fr.xml
+++ b/Master/texmf-dist/tex/context/interface/cont-fr.xml
@@ -3226,6 +3226,9 @@
<cd:constant type="non"/>
</cd:parameter>
<cd:parameter name="alignement">
+ <cd:constant type="texte"/>
+ <!-- cd:constant type="yes"/ -->
+ <!-- cd:constant type="no"/ -->
<cd:resolve name="align"/>
</cd:parameter>
<cd:parameter name="vide">
diff --git a/Master/texmf-dist/tex/context/interface/cont-it.xml b/Master/texmf-dist/tex/context/interface/cont-it.xml
index 25a2c03566a..04fdcdb5932 100644
--- a/Master/texmf-dist/tex/context/interface/cont-it.xml
+++ b/Master/texmf-dist/tex/context/interface/cont-it.xml
@@ -3226,6 +3226,9 @@
<cd:constant type="no"/>
</cd:parameter>
<cd:parameter name="allinea">
+ <cd:constant type="testo"/>
+ <!-- cd:constant type="yes"/ -->
+ <!-- cd:constant type="no"/ -->
<cd:resolve name="align"/>
</cd:parameter>
<cd:parameter name="rigovuoto">
diff --git a/Master/texmf-dist/tex/context/interface/cont-nl.xml b/Master/texmf-dist/tex/context/interface/cont-nl.xml
index e8e3f067bd5..8f7fc581644 100644
--- a/Master/texmf-dist/tex/context/interface/cont-nl.xml
+++ b/Master/texmf-dist/tex/context/interface/cont-nl.xml
@@ -3226,6 +3226,9 @@
<cd:constant type="nee"/>
</cd:parameter>
<cd:parameter name="uitlijnen">
+ <cd:constant type="tekst"/>
+ <!-- cd:constant type="yes"/ -->
+ <!-- cd:constant type="no"/ -->
<cd:resolve name="align"/>
</cd:parameter>
<cd:parameter name="blanko">
diff --git a/Master/texmf-dist/tex/context/interface/cont-ro.xml b/Master/texmf-dist/tex/context/interface/cont-ro.xml
index e8df14520bb..bab6f0fbfad 100644
--- a/Master/texmf-dist/tex/context/interface/cont-ro.xml
+++ b/Master/texmf-dist/tex/context/interface/cont-ro.xml
@@ -3226,6 +3226,9 @@
<cd:constant type="nu"/>
</cd:parameter>
<cd:parameter name="aliniere">
+ <cd:constant type="text"/>
+ <!-- cd:constant type="yes"/ -->
+ <!-- cd:constant type="no"/ -->
<cd:resolve name="align"/>
</cd:parameter>
<cd:parameter name="blanc">
diff --git a/Master/texmf-dist/tex/context/interface/keys-cz.xml b/Master/texmf-dist/tex/context/interface/keys-cz.xml
index 4fcefce169f..2e029e507ca 100644
--- a/Master/texmf-dist/tex/context/interface/keys-cz.xml
+++ b/Master/texmf-dist/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.11.20 11:37">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2006.11.29 09:55">
<cd:variables>
<cd:variable name="one" value="jedna"/>
diff --git a/Master/texmf-dist/tex/context/interface/keys-de.xml b/Master/texmf-dist/tex/context/interface/keys-de.xml
index 1cb15804c64..d3826a6b291 100644
--- a/Master/texmf-dist/tex/context/interface/keys-de.xml
+++ b/Master/texmf-dist/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.11.20 11:37">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2006.11.29 09:55">
<cd:variables>
<cd:variable name="one" value="eins"/>
diff --git a/Master/texmf-dist/tex/context/interface/keys-en.xml b/Master/texmf-dist/tex/context/interface/keys-en.xml
index 4e49aa402cf..bba126e2929 100644
--- a/Master/texmf-dist/tex/context/interface/keys-en.xml
+++ b/Master/texmf-dist/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.11.20 11:37">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2006.11.29 09:55">
<cd:variables>
<cd:variable name="one" value="one"/>
diff --git a/Master/texmf-dist/tex/context/interface/keys-fr.xml b/Master/texmf-dist/tex/context/interface/keys-fr.xml
index 6ccc5ff2d63..83d023a170f 100644
--- a/Master/texmf-dist/tex/context/interface/keys-fr.xml
+++ b/Master/texmf-dist/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.11.20 11:37">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="fr" version="2006.11.29 09:55">
<cd:variables>
<cd:variable name="one" value="un"/>
diff --git a/Master/texmf-dist/tex/context/interface/keys-it.xml b/Master/texmf-dist/tex/context/interface/keys-it.xml
index b8ff166c74e..1eede06e2a3 100644
--- a/Master/texmf-dist/tex/context/interface/keys-it.xml
+++ b/Master/texmf-dist/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.11.20 11:37">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2006.11.29 09:55">
<cd:variables>
<cd:variable name="one" value="uno"/>
diff --git a/Master/texmf-dist/tex/context/interface/keys-nl.xml b/Master/texmf-dist/tex/context/interface/keys-nl.xml
index 8571a0ef2c7..d6d4b105a37 100644
--- a/Master/texmf-dist/tex/context/interface/keys-nl.xml
+++ b/Master/texmf-dist/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.11.20 11:37">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2006.11.29 09:55">
<cd:variables>
<cd:variable name="one" value="een"/>
diff --git a/Master/texmf-dist/tex/context/interface/keys-ro.xml b/Master/texmf-dist/tex/context/interface/keys-ro.xml
index 64234b59047..dd412333bae 100644
--- a/Master/texmf-dist/tex/context/interface/keys-ro.xml
+++ b/Master/texmf-dist/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.11.20 11:37">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2006.11.29 09:55">
<cd:variables>
<cd:variable name="one" value="unu"/>