summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2005-01-26 00:00:00 +0100
committerHans Hagen <pragma@wxs.nl>2005-01-26 00:00:00 +0100
commit5a3212ab13d7de08a389ee0e40ff0e2737140736 (patch)
treeb75516e1196bcde67a22d0172cc81e5bfac429c3
parent79cea64786aec3bc70e4dc925c671d369525533e (diff)
downloadcontext-5a3212ab13d7de08a389ee0e40ff0e2737140736.tar.gz
stable 2005.01.26
-rw-r--r--scripts/context/perl/texutil.pl32
-rw-r--r--scripts/context/ruby/ctxtools.rb408
-rw-r--r--scripts/context/ruby/xmpl/switch.rb7
-rw-r--r--tex/context/base/cont-new.tex15
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/core-reg.tex30
-rw-r--r--tex/context/base/core-sys.tex2
-rw-r--r--tex/context/base/enco-ini.tex7
-rw-r--r--tex/context/base/syst-ext.tex4
-rw-r--r--tex/context/base/type-dis.tex481
-rw-r--r--tex/context/interface/keys-cz.xml2
-rw-r--r--tex/context/interface/keys-de.xml2
-rw-r--r--tex/context/interface/keys-en.xml2
-rw-r--r--tex/context/interface/keys-it.xml2
-rw-r--r--tex/context/interface/keys-nl.xml2
-rw-r--r--tex/context/interface/keys-ro.xml2
16 files changed, 958 insertions, 42 deletions
diff --git a/scripts/context/perl/texutil.pl b/scripts/context/perl/texutil.pl
index 0d80b3a98..240c52a0d 100644
--- a/scripts/context/perl/texutil.pl
+++ b/scripts/context/perl/texutil.pl
@@ -14,6 +14,10 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $
#C therefore copyrighted by \PRAGMA. See licen-en.pdf for
#C details.
+# much functionality will move to ctxtools, xmltools and pdftools; that way texutil
+# becomes limited to tui processing only, which is cleaner (also for taco's binary
+# version)
+
# Thanks to Tobias Burnus for the german translations.
# Thanks to Thomas Esser for hooking it into web2c
# Thanks to Taco Hoekwater for making the file -w proof and some fixes
@@ -1654,6 +1658,11 @@ sub HandleReferences
else
{ NormalHandleReferences } }
+# moved to ctxtools
+#
+# sub HandleDocuments
+# { my $files = @ARGV.join(' ') ; system("ctxtools $files") }
+
#D \extras
#D {documents}
#D
@@ -1719,6 +1728,7 @@ sub HandleDocuments
$SkipLevel = 0 ;
$InDocument = 0 ;
$InDefinition = 0 ;
+ $skippingbang = 0 ;
if ($ProcessType eq "")
{ $FileType=lc $FileSuffix }
else
@@ -2673,6 +2683,15 @@ sub HandleLogFile
{ Report ( "NOfUnknown", "$NOfUnknown") } } }
#D Undocumented feature.
+#
+# obsolete, i.e now in ctxtools, so this will become:
+#
+# sub PurgeFiles {
+# if ($PurgeAllFiles) {
+# system("ctxtools --purge $ARGV[0]") ;
+# } else {
+# system("ctxtools --purge --all $ARGV[0]") ;
+# }
my $removedfiles = 0 ;
my $keptfiles = 0 ;
@@ -2768,6 +2787,11 @@ sub PurgeFiles # no my in foreach
print " reclaimed bytes : $reclaimedbytes\n" }
#D Another undocumented feature.
+#
+# obsolete, i.e now in pdftools, so this will become:
+#
+# sub AnalyzeFile
+# { system("pdftools --analyze $ARGV[0]") }
sub AnalyzeFile
{ my $filename = $ARGV[0] ;
@@ -2798,10 +2822,16 @@ sub AnalyzeFile
print " links : $Link ($Named named / $Script scripts / $Cross files)\n" ;
print " widgets : $Widget\n" }
+# moved to ctxtools
+#
+# sub FilterPages
+# { system("ctxtools $ARGV{0]") }
+
sub FilterPages # temp feature / no reporting
{ my $filename = $ARGV[0] ;
return unless -f "$filename.pdf" ;
- $old = '' ; $num = 0 ;
+ my $old = '' ;
+ my $n = 0 ;
if (open(PDF,"<$filename.pdf") && open(TUO,">>$filename.tuo"))
{ binmode PDF ;
while (<PDF>)
diff --git a/scripts/context/ruby/ctxtools.rb b/scripts/context/ruby/ctxtools.rb
index 65ace2f36..3e9d02e9c 100644
--- a/scripts/context/ruby/ctxtools.rb
+++ b/scripts/context/ruby/ctxtools.rb
@@ -2,7 +2,7 @@
# program : ctxtools
# copyright : PRAGMA Advanced Document Engineering
-# version : 1.0 - 2002/2004
+# version : 1.2.0 - 2002/2005
# author : Hans Hagen
# This script will harbor some handy manipulations on context
@@ -10,7 +10,7 @@
# todo: move scite here
-banner = ['CtxTools', 'version 1.1.0', '2004/2005', 'PRAGMA ADE/POD']
+banner = ['CtxTools', 'version 1.2.0', '2004/2005', 'PRAGMA ADE/POD']
unless defined? ownpath
ownpath = $0.sub(/[\\\/][a-z0-9\-]*?\.rb/i,'')
@@ -26,12 +26,12 @@ class String
def i_translate(element, attribute, category)
self.gsub!(/(<#{element}.*?#{attribute}=)([\"\'])(.*?)\2/) do
if category.key?($3) then
-puts "#{element} #{$3} -> #{category[$3]}\n" if element == 'cd:inherit'
-puts "#{element} #{$3} => #{category[$3]}\n" if element == 'cd:command'
+ puts "#{element} #{$3} -> #{category[$3]}\n" if element == 'cd:inherit'
+ puts "#{element} #{$3} => #{category[$3]}\n" if element == 'cd:command'
"#{$1}#{$2}#{category[$3]}#{$2}"
else
-puts "#{element} #{$3} -> ?\n" if element == 'cd:inherit'
-puts "#{element} #{$3} => ?\n" if element == 'cd:command'
+ puts "#{element} #{$3} -> ?\n" if element == 'cd:inherit'
+ puts "#{element} #{$3} => ?\n" if element == 'cd:command'
"#{$1}#{$2}#{$3}#{$2}" # unchanged
end
end
@@ -49,6 +49,8 @@ class Commands
include CommandBase
+ public
+
def touchcontextfile
dowithcontextfile(1)
end
@@ -135,6 +137,14 @@ class Commands
end
+end
+
+class Commands
+
+ include CommandBase
+
+ public
+
def jeditinterface
editinterface('jedit')
end
@@ -151,6 +161,8 @@ class Commands
editinterface('raw')
end
+ private
+
def editinterface(type='raw')
return unless FileTest.file?("cont-en.xml")
@@ -239,6 +251,14 @@ class Commands
end
+end
+
+class Commands
+
+ include CommandBase
+
+ public
+
def translateinterface
# since we know what kind of file we're dealing with,
@@ -336,23 +356,381 @@ class Commands
end
+class Commands
+
+ include CommandBase
+
+ public
+
+ def purgefiles
+
+ pattern = @commandline.arguments
+ purgeall = @commandline.option("all")
+
+ $dontaskprefixes.push(Dir.glob("mpx-*"))
+ $dontaskprefixes.flatten!
+ $dontaskprefixes.sort!
+
+ if purgeall then
+ forsuresuffixes.push(texnonesuffixes)
+ texnonesuffixes = []
+ end
+
+ if ! pattern || pattern.empty? then
+ globbed = "*.*"
+ files = Dir.glob(globbed)
+ report("purging files : #{globbed}")
+ else
+ pattern.each do |pat|
+ globbed = "#{pat}-*.*"
+ files = Dir.glob(globbed)
+ globbed = "#{pat}.*"
+ files.push(Dir.glob(globbed))
+ end
+ report("purging files : #{pattern.join(' ')}")
+ end
+ files.flatten!
+ files.sort!
+
+ $dontaskprefixes.each do |file|
+ removecontextfile(file) if FileTest.file?(file)
+ end
+ $dontasksuffixes.each do |file|
+ removecontextfile(file) if FileTest.file?(file)
+ end
+ $dontasksuffixes.each do |suffix|
+ files.each do |file|
+ removecontextfile(file) if file =~ /#{suffix}$/i
+ end
+ end
+ $forsuresuffixes.each do |suffix|
+ files.each do |file|
+ removecontextfile(file) if file =~ /\.#{suffix}$/i
+ end
+ end
+ files.each do |file|
+ if file =~ /(.*?)\.\d+$/o then
+ basename = $1
+ if file =~ /mp(graph|run)/o || FileTest.file?("#{basename}.mp") then
+ removecontextfile($file)
+ end
+ end
+ end
+ $texnonesuffixes.each do |suffix|
+ files.each do |file|
+ if file =~ /(.*)\.#{suffix}$/i then
+ if FileTest.file?("#{$1}.tex") || FileTest.file?("#{$1}.xml") || FileTest.file?("#{$1}.fo") then
+ keepcontextfile(file)
+ else
+ strippedname = $1.gsub(/\-[a-z]$/io, '')
+ if FileTest.file?("#{strippedname}.tex") || FileTest.file?("#{strippedname}.xml") then
+ keepcontextfile("#{file} (potential result file)")
+ else
+ removecontextfile(file)
+ end
+ end
+ end
+ end
+ end
+
+ if $removedfiles || $keptfiles || $persistentfiles then
+ report("removed files : #{$removedfiles}")
+ report("kept files : #{$keptfiles}")
+ report("persistent files : #{$persistentfiles}")
+ report("reclaimed bytes : #{$reclaimedbytes}")
+ end
+
+ end
+
+ private
+
+ $removedfiles = 0
+ $keptfiles = 0
+ $persistentfiles = 0
+ $reclaimedbytes = 0
+
+ $dontaskprefixes = [
+ # "tex-form.tex", "tex-edit.tex", "tex-temp.tex",
+ "texexec.tex", "texexec.tui", "texexec.tuo",
+ "texexec.ps", "texexec.pdf", "texexec.dvi",
+ "cont-opt.tex", "cont-opt.bak"
+ ]
+ $dontasksuffixes = [
+ "mpgraph.mp", "mpgraph.mpd", "mpgraph.mpo", "mpgraph.mpy",
+ "mprun.mp", "mprun.mpd", "mprun.mpo", "mprun.mpy",
+ "xlscript.xsl"
+ ]
+ $forsuresuffixes = [
+ "tui", "tup", "ted", "tes", "top",
+ "log", "tmp", "run", "bck", "rlg",
+ "mpt", "mpx", "mpd", "mpo"
+ ]
+ $texonlysuffixes = [
+ "dvi", "ps", "pdf"
+ ]
+ $texnonesuffixes = [
+ "tuo", "tub", "top"
+ ]
+
+ def removecontextfile (filename)
+ if filename && FileTest.file?(filename) then
+ begin
+ filesize = FileTest.size(filename)
+ File.delete(filename)
+ rescue
+ report("problematic : #{filename}")
+ else
+ if FileTest.file?(filename) then
+ $persistentfiles += 1
+ report("persistent : #{filename}")
+ else
+ $removedfiles += 1
+ $reclaimedbytes += filesize
+ report("removed : #{filename}")
+ end
+ end
+ end
+ end
+
+ def keepcontextfile (filename)
+ if filename && FileTest.file?(filename) then
+ $keptfiles += 1
+ report("not removed : #{filename}")
+ end
+ end
+
+end
+
+#D Documentation can be woven into a source file. The next
+#D routine generates a new, \TEX\ ready file with the
+#D documentation and source fragments properly tagged. The
+#D documentation is included as comment:
+#D
+#D \starttypen
+#D %D ...... some kind of documentation
+#D %M ...... macros needed for documenation
+#D %S B begin skipping
+#D %S E end skipping
+#D \stoptypen
+#D
+#D The most important tag is \type {%D}. Both \TEX\ and \METAPOST\
+#D files use \type{%} as a comment chacacter, while \PERL, \RUBY\
+#D and alike use \type{#}. Therefore \type{#D} is also handled.
+#D
+#D The generated file gets the suffix \type{ted} and is
+#D structured as:
+#D
+#D \starttypen
+#D \startmodule[type=suffix]
+#D \startdocumentation
+#D \stopdocumentation
+#D \startdefinition
+#D \stopdefinition
+#D \stopmodule
+#D \stoptypen
+#D
+#D Macro definitions specific to the documentation are not
+#D surrounded by start||stop commands. The suffix specifaction
+#D can be overruled at runtime, but defaults to the file
+#D extension. This specification can be used for language
+#D depended verbatim typesetting.
+
+class Commands
+
+ include CommandBase
+
+ public
+
+ def documentation
+ files = @commandline.arguments
+ processtype = @commandline.option("type")
+ files.each do |fullname|
+ if fullname =~ /(.*)\.(.+?)$/o then
+ filename, filesuffix = $1, $2
+ else
+ filename, filesuffix = fullname, 'tex'
+ end
+ filesuffix = 'tex' if filesuffix.empty?
+ fullname, resultname = "#{filename}.#{filesuffix}", "#{filename}.ted"
+ if ! FileTest.file?(fullname)
+ report("empty input file #{fullname}")
+ elsif ! tex = File.open(fullname)
+ report("invalid input file #{fullname}")
+ elsif ! ted = File.open(resultname,'w') then
+ report("unable to openresult file #{resultname}")
+ else
+ report("input file : #{fullname}")
+ report("output file : #{resultname}")
+ nofdocuments, nofdefinitions, nofskips = 0, 0, 0
+ skiplevel, indocument, indefinition, skippingbang = 0, false, false, false
+ if processtype.empty? then
+ filetype = filesuffix.downcase
+ else
+ filetype = processtype.downcase
+ end
+ report("filetype : #{filetype}")
+ # we need to signal to texexec what interface to use
+ firstline = tex.gets
+ if firstline =~ /^\%.*interface\=/ then
+ ted.puts(firstline)
+ else
+ tex.rewind # seek(0)
+ end
+ ted.puts("\\startmodule[type=#{filetype}]\n")
+ while str = tex.gets do
+ if skippingbang then
+ skippingbang = false
+ else
+ str.chomp!
+ str.sub!(/\s*$/o, '')
+ case str
+ when /^[%\#]D/io then
+ if skiplevel == 0 then
+ someline = if str.length < 3 then "" else str[3,str.length-1] end
+ if indocument then
+ ted.puts("#{someline}\n")
+ else
+ if indefinition then
+ ted.puts("\\stopdefinition\n")
+ indefinition = false
+ end
+ unless indocument then
+ ted.puts("\n\\startdocumentation\n")
+ end
+ ted.puts("#{someline}\n")
+ indocument = true
+ nofdocuments += 1
+ end
+ end
+ when /^[%\#]M/io then
+ if skiplevel == 0 then
+ someline = if str.length < 3 then "" else str[3,str.length-1] end
+ ted.puts("#{someline}\n")
+ end
+ when /^[%\%]S B/io then
+ skiplevel += 1
+ nofskips += 1
+ when /^[%\%]S E/io then
+ skiplevel -= 1
+ when /^[%\#]/io then
+ #nothing
+ when /^eval \'\(exit \$\?0\)\' \&\& eval \'exec perl/o then
+ skippingbang = true
+ else
+ if skiplevel == 0 then
+ inlocaldocument = indocument
+ someline = str
+ if indocument then
+ ted.puts("\\stopdocumentation\n")
+ indocument = false
+ end
+ if someline.empty? && indefinition then
+ ted.puts("\\stopdefinition\n")
+ indefinition = false
+ elsif indefinition then
+ ted.puts("#{someline}\n")
+ elsif ! someline.empty? then
+ ted.puts("\n\\startdefinition\n")
+ indefinition = true
+ unless inlocaldocument then
+ nofdefinitions += 1
+ ted.puts("#{someline}\n")
+ end
+ end
+ end
+ end
+ end
+ end
+ if indocument then
+ ted.puts("\\stopdocumentation\n")
+ end
+ if indefinition then
+ ted.puts("\\stopdefinition\n")
+ end
+ ted.puts("\\stopmodule\n")
+ ted.close
+
+ if nofdocuments == 0 && nofdefinitions == 0 then
+ begin
+ File.delete(resultname)
+ rescue
+ end
+ end
+ report("documentation sections : #{nofdocuments}")
+ report("definition sections : #{nofdefinitions}")
+ report("skipped sections : #{nofskips}")
+ end
+ end
+ end
+
+end
+
+#D This feature was needed when \PDFTEX\ could not yet access page object
+#D numbers (versions prior to 1.11).
+
+class Commands
+
+ include CommandBase
+
+ public
+
+ def filterpages # temp feature / no reporting
+ filename = @commandline.argument('first')
+ filename.sub!(/\.([a-z]+?)$/io,'')
+ pdffile = "#{filename}.pdf"
+ tuofile = "#{filename}.tuo"
+ if FileTest.file?(pdffile) then
+ prevline, n = '', 0
+ if (pdf = File.open(pdffile)) && (tuo = File.open(tuofile,'a')) then
+ report('filtering page object numbers')
+ pdf.binmode
+ while line = pdf.gets do
+ line.chomp
+ # typical pdftex search
+ if (line =~ /\/Type \/Page/o) && (prevline =~ /^(\d+)\s+0\s+obj/o) then
+ p = $1
+ n += 1
+ tuo.puts("\\objectreference{PDFP}{#{n}}{#{p}}{#{n}}\n")
+ else
+ prevline = line
+ end
+ end
+ end
+ pdf.close
+ tuo.close
+ report("number of pages : #{n}")
+ end
+ end
+
+end
+
logger = EXA::ExaLogger.new(banner.shift)
commandline = CommandLine.new
-commandline.registeraction('touchcontextfile', '')
-commandline.registeraction('contextversion', '')
-commandline.registeraction('translateinterface', '')
-commandline.registeraction('jeditinterface', '')
-commandline.registeraction('bbeditinterface', '')
-commandline.registeraction('sciteinterface', '')
-commandline.registeraction('rawinterface', '')
+commandline.registeraction('touchcontextfile', 'update context version')
+commandline.registeraction('contextversion', 'report context version')
+
+commandline.registeraction('jeditinterface', 'generate jedit syntax files [--pipe]')
+commandline.registeraction('bbeditinterface', 'generate bbedit syntax files [--pipe]')
+commandline.registeraction('sciteinterface', 'generate scite syntax files [--pipe]')
+commandline.registeraction('rawinterface', 'generate raw syntax files [--pipe]')
+
+commandline.registeraction('translateinterface', 'generate interface files (xml) [nl de ..]')
+commandline.registeraction('purgefiles', 'remove temporary files [--all] [basename]')
+
+commandline.registeraction('documentation', 'generate documentation file [--type=] [filename]')
+
+commandline.registeraction('filterpages') # no help, hidden temporary feature
commandline.registeraction('help')
commandline.registeraction('version')
-commandline.registerflag('recurse')
-commandline.registerflag('force')
+commandline.registervalue('type','')
+
+# commandline.registerflag('recurse')
+# commandline.registerflag('force')
commandline.registerflag('pipe')
+commandline.registerflag('all')
commandline.expand
diff --git a/scripts/context/ruby/xmpl/switch.rb b/scripts/context/ruby/xmpl/switch.rb
index 54acc19af..36cc8c346 100644
--- a/scripts/context/ruby/xmpl/switch.rb
+++ b/scripts/context/ruby/xmpl/switch.rb
@@ -78,7 +78,11 @@ module CommandBase
def help
version # is nilled when already given
@commandline.helpkeys.each do |k|
- report("#{('--'+k).ljust(@commandline.helplength+2)} #{@commandline.helptext(k)}") if @commandline.help?(k)
+ if @commandline.help?(k) then
+ message = @commandline.helptext(k)
+ message = '' if message == CommandLine::NOHELP
+ report("#{('--'+k).ljust(@commandline.helplength+2)} #{message}")
+ end
end
end
@@ -153,6 +157,7 @@ end
class CommandLine
VALUE, FLAG = 1, 2
+ NOHELP = 'no arguments'
def initialize(prefix='-')
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index 82dd62e58..e306f99bf 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -24,6 +24,21 @@
\ifx\normalcompound\undefined \let\normalcompound=| \fi
+% \def\literateencodedtokens
+% {% \let\dohandleaccent \keephandleaccent % assumes named chars % defineaccent "e {name}
+% % \let\dohandlecommand \keephandlecommand % assumes named chars % definecommand crap {name}
+% \let\dohandlecharacter\keephandlecharacter}
+%
+% \def\convertmeaning#1\to % watch the double expansion !
+% {\bgroup
+% \honorunexpanded
+% %\dontexpandencoding % new
+% \literateencodedtokens % newer
+% \xdef\@@globalexpanded{#1}%
+% \xdef\@@globalexpanded{\@@globalexpanded}%
+% \egroup
+% \convertcommand\@@globalexpanded\to}
+
% twice as fast in #1=5 #2=40 situations, only gains some speed when
% multiple runs of large docs are done; fully expandable, no
% statuscounter needed, no restore (due to grouping) needed etc
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index 712dde751..cc8638d75 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -31,7 +31,7 @@
%D 2004.8.30 the low level interface is english. Watch out and adapt
%D your styles an modules.
-\def\contextversion{2005.01.24}
+\def\contextversion{2005.01.26}
%D Welcome to the main module. When this module is ran through
%D \type{initex} or \type {tex -i} or \type {whatevertex} using
diff --git a/tex/context/base/core-reg.tex b/tex/context/base/core-reg.tex
index 03a491a35..3ac39782c 100644
--- a/tex/context/base/core-reg.tex
+++ b/tex/context/base/core-reg.tex
@@ -74,6 +74,8 @@
\processseparatedlist[#1][+]\docommando
\!!stringa}
+\def\registerparameter#1{\csname\??id\currentregister#1\endcsname}
+
% \enableregime[windows] \setupregister[index][keyexpansion=strict]
%
% \index[Ätsch]{Ätsch} test \index{QÄtsch} test \index[ratsch]{RÄtsch} test
@@ -82,14 +84,14 @@
{\begingroup
\thisisnextinternal\s!ind
\ifduplicate\getlastregisterentry{#3}\fi
- \convertexpanded{\getvalue{\??id\currentregister\c!keyexpansion}}{#1}\asciiregisterentryA
- \convertexpanded{\getvalue{\??id\currentregister\c!expansion }}{#3}\asciiregisterentryB
-\doifvaluesomething{\??id\currentregister\c!keyexpansion}
+ \convertexpanded{\registerparameter\c!keyexpansion}{#1}\asciiregisterentryA
+ \convertexpanded{\registerparameter\c!expansion }{#3}\asciiregisterentryB
+\doifsomething{\registerparameter\c!keyexpansion}
{\ifx\asciiregisterentryA\empty
- \convertexpanded{\getvalue{\??id\currentregister\c!keyexpansion}}{#3}\asciiregisterentryA
+ \convertexpanded{\registerparameter\c!keyexpansion}{#3}\asciiregisterentryA
\fi}%
\makesectionformat
- \doifelsevalue{\??id\currentregister\c!ownnumber}\v!yes
+ \doifelse{\registerparameter\c!ownnumber}\v!yes
\donetrue\donefalse
% the spaces between } { are essential for texutil's split
\expanded
@@ -109,7 +111,7 @@
\def\doregister#1%
{\chardef\registerpagestatus\plusone
\def\currentregister{#1}%
- \doifelsevalue{\??id\currentregister\c!ownnumber}\v!yes
+ \doifelse{\registerparameter\c!ownnumber}\v!yes
{\dosingleempty\dodoregister}
{\dosingleempty\donoregister}}
@@ -157,12 +159,12 @@
{\begingroup
\thisisnextinternal\s!ind
\ifduplicate\getlastregisterentry{#2}\fi
- \convertexpanded{\getvalue{\??id\currentregister\c!keyexpansion}}{#1}\asciiregisterentryA
- \convertexpanded{\getvalue{\??id\currentregister\c!expansion }}{#2}\asciiregisterentryB
- \convertexpanded{\getvalue{\??id\currentregister\c!expansion }}{#3}\asciiregisterentryC
-\doifvaluesomething{\??id\currentregister\c!keyexpansion}
+ \convertexpanded{\registerparameter\c!keyexpansion}{#1}\asciiregisterentryA
+ \convertexpanded{\registerparameter\c!expansion }{#2}\asciiregisterentryB
+ \convertexpanded{\registerparameter\c!expansion }{#3}\asciiregisterentryC
+\doifsomething{\registerparameter\c!keyexpansion}
{\ifx\asciiregisterentryA\empty
- \convertexpanded{\getvalue{\??id\currentregister\c!keyexpansion}}{#2}\asciiregisterentryA
+ \convertexpanded{\registerparameter\c!keyexpansion}{#2}\asciiregisterentryA
\fi}%
\makesectionformat
\expanded
@@ -838,9 +840,9 @@
\setupregister[\currentregister][#2]%
\raggedright
\startcolumns
- [\c!n=\getvalue{\??id\currentregister\c!n},
- \c!balance=\getvalue{\??id\currentregister\c!balance},
- \c!align=\getvalue{\??id\currentregister\c!align}]%
+ [\c!n=\registerparameter\c!n,
+ \c!balance=\registerparameter\c!balance,
+ \c!align=\registerparameter\c!align]%
\dontcomplain
\startpacked[\v!blank]%
\doutilities\currentregister\jobname\currentregister\relax\par
diff --git a/tex/context/base/core-sys.tex b/tex/context/base/core-sys.tex
index 459330694..6d9ba7f21 100644
--- a/tex/context/base/core-sys.tex
+++ b/tex/context/base/core-sys.tex
@@ -270,7 +270,7 @@
\installexpander\empty {\convertargument}
\installexpander\v!no {\convertargument}
\installexpander\v!yes {\convertmeaning }
-\installexpander\v!yes {\convertmeaning }
+\installexpander\v!yes {\convertmeaning } % something lost ?
\installexpander\v!strict {\reduceargument}
\def\convertmeaning#1\to % watch the double expansion !
diff --git a/tex/context/base/enco-ini.tex b/tex/context/base/enco-ini.tex
index 8c0dd176e..afe2c0e82 100644
--- a/tex/context/base/enco-ini.tex
+++ b/tex/context/base/enco-ini.tex
@@ -643,7 +643,7 @@
\enablelanguagespecifics[\currentlanguage]}}
\let\startcoding \startencoding
-\def\stopcoding {\stopencoding }
+\def\stopcoding {\stopencoding}
\let\enablecoding \enableencoding
%D The use of these macros are not limited to font
@@ -1464,6 +1464,11 @@
\let\dohandlecommand \keephandlecommand
\let\dohandlecharacter\keephandlecharacter}
+\def\literateencodedtokens
+ {% \let\dohandleaccent \keephandleaccent
+ % \let\dohandlecommand \keephandlecommand
+ \let\dohandlecharacter\keephandlecharacter}
+
\def\keephandleaccent #1{\expandafter\noexpand\csname#1\endcsname}
\def\keephandlecommand #1{\expandafter\noexpand\csname#1\endcsname}
\def\keephandlecharacter#1{\expandafter\noexpand\csname#1\endcsname}
diff --git a/tex/context/base/syst-ext.tex b/tex/context/base/syst-ext.tex
index f43adc799..0d23d47e0 100644
--- a/tex/context/base/syst-ext.tex
+++ b/tex/context/base/syst-ext.tex
@@ -776,7 +776,7 @@
%D The use of \type{\od} as a dilimiter would have made nested
%D use more problematic.
-% maybe this one will becoem obsolete
+% maybe this one will become obsolete
\def\for#1=#2\to#3\step#4\do#5%
{\dostepwiserecurse{#2}{#3}{#4}
@@ -877,7 +877,7 @@
\long\global\@EA\def\csname\@@arecurse\recursedepth\endcsname{#1}%
\global\@EA\let\csname\@@irecurse\recursedepth\endcsname\recurselevel
\let\endofloop\dodoloop
- \dodoloop\plusone}
+ \dodoloop1} % no \plusone else \recurselevel wrong
\beginETEX \numexpr
diff --git a/tex/context/base/type-dis.tex b/tex/context/base/type-dis.tex
new file mode 100644
index 000000000..62dd6b2bc
--- /dev/null
+++ b/tex/context/base/type-dis.tex
@@ -0,0 +1,481 @@
+%D \module
+%D [ file=type-dis,
+%D version=2005.01.26, % moved from type-enc.tex 2001.04.12,
+%D title=\CONTEXT\ Typescript Macros,
+%D subtitle=Distribution scripts,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%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 Unfortunately not all latin modern metrics ship the way we like:
+
+\starttypescript[all][latin-modern][ec]
+
+ \definefontsynonym[ec-lmb10] [cork-lmb10] [encoding=ec]
+ \definefontsynonym[ec-lmbo10] [cork-lmbo10] [encoding=ec]
+ \definefontsynonym[ec-lmbx10] [cork-lmbx10] [encoding=ec]
+ \definefontsynonym[ec-lmbx12] [cork-lmbx12] [encoding=ec]
+ \definefontsynonym[ec-lmbx5] [cork-lmbx5] [encoding=ec]
+ \definefontsynonym[ec-lmbx6] [cork-lmbx6] [encoding=ec]
+ \definefontsynonym[ec-lmbx7] [cork-lmbx7] [encoding=ec]
+ \definefontsynonym[ec-lmbx8] [cork-lmbx8] [encoding=ec]
+ \definefontsynonym[ec-lmbx9] [cork-lmbx9] [encoding=ec]
+ \definefontsynonym[ec-lmbxi10] [cork-lmbxi10] [encoding=ec]
+ \definefontsynonym[ec-lmbxo10] [cork-lmbxo10] [encoding=ec]
+ \definefontsynonym[ec-lmcsc10] [cork-lmcsc10] [encoding=ec]
+ \definefontsynonym[ec-lmcsco10][cork-lmcsco10][encoding=ec]
+ \definefontsynonym[ec-lmr10] [cork-lmr10] [encoding=ec]
+ \definefontsynonym[ec-lmr12] [cork-lmr12] [encoding=ec]
+ \definefontsynonym[ec-lmr17] [cork-lmr17] [encoding=ec]
+ \definefontsynonym[ec-lmr5] [cork-lmr5] [encoding=ec]
+ \definefontsynonym[ec-lmr6] [cork-lmr6] [encoding=ec]
+ \definefontsynonym[ec-lmr7] [cork-lmr7] [encoding=ec]
+ \definefontsynonym[ec-lmr8] [cork-lmr8] [encoding=ec]
+ \definefontsynonym[ec-lmr9] [cork-lmr9] [encoding=ec]
+ \definefontsynonym[ec-lmri10] [cork-lmri10] [encoding=ec]
+ \definefontsynonym[ec-lmri12] [cork-lmri12] [encoding=ec]
+ \definefontsynonym[ec-lmri7] [cork-lmri7] [encoding=ec]
+ \definefontsynonym[ec-lmri8] [cork-lmri8] [encoding=ec]
+ \definefontsynonym[ec-lmri9] [cork-lmri9] [encoding=ec]
+ \definefontsynonym[ec-lmro10] [cork-lmro10] [encoding=ec]
+ \definefontsynonym[ec-lmro12] [cork-lmro12] [encoding=ec]
+ \definefontsynonym[ec-lmro8] [cork-lmro8] [encoding=ec]
+ \definefontsynonym[ec-lmro9] [cork-lmro9] [encoding=ec]
+ \definefontsynonym[ec-lmss10] [cork-lmss10] [encoding=ec]
+ \definefontsynonym[ec-lmss12] [cork-lmss12] [encoding=ec]
+ \definefontsynonym[ec-lmss17] [cork-lmss17] [encoding=ec]
+ \definefontsynonym[ec-lmss8] [cork-lmss8] [encoding=ec]
+ \definefontsynonym[ec-lmss9] [cork-lmss9] [encoding=ec]
+ \definefontsynonym[ec-lmssbo10][cork-lmssbo10][encoding=ec]
+ \definefontsynonym[ec-lmssbx10][cork-lmssbx10][encoding=ec]
+ \definefontsynonym[ec-lmssdc10][cork-lmssdc10][encoding=ec]
+ \definefontsynonym[ec-lmssdo10][cork-lmssdo10][encoding=ec]
+ \definefontsynonym[ec-lmsso10] [cork-lmsso10] [encoding=ec]
+ \definefontsynonym[ec-lmsso12] [cork-lmsso12] [encoding=ec]
+ \definefontsynonym[ec-lmsso17] [cork-lmsso17] [encoding=ec]
+ \definefontsynonym[ec-lmsso8] [cork-lmsso8] [encoding=ec]
+ \definefontsynonym[ec-lmsso9] [cork-lmsso9] [encoding=ec]
+ \definefontsynonym[ec-lmssq8] [cork-lmssq8] [encoding=ec]
+ \definefontsynonym[ec-lmssqbo8][cork-lmssqbo8][encoding=ec]
+ \definefontsynonym[ec-lmssqbx8][cork-lmssqbx8][encoding=ec]
+ \definefontsynonym[ec-lmssqo8] [cork-lmssqo8] [encoding=ec]
+ \definefontsynonym[ec-lmtcsc10][cork-lmtcsc10][encoding=ec]
+ \definefontsynonym[ec-lmtt10] [cork-lmtt10] [encoding=ec]
+ \definefontsynonym[ec-lmtt12] [cork-lmtt12] [encoding=ec]
+ \definefontsynonym[ec-lmtt8] [cork-lmtt8] [encoding=ec]
+ \definefontsynonym[ec-lmtt9] [cork-lmtt9] [encoding=ec]
+ \definefontsynonym[ec-lmtti10] [cork-lmtti10] [encoding=ec]
+ \definefontsynonym[ec-lmtto10] [cork-lmtto10] [encoding=ec]
+ \definefontsynonym[ec-lmvtt10] [cork-lmvtt10] [encoding=ec]
+ \definefontsynonym[ec-lmvtto10][cork-lmvtto10][encoding=ec]
+
+\stoptypescript
+
+\starttypescript[all][latin-modern][pl0]
+
+ \definefontsynonym[pl0-lmb10] [plb10] [encoding=pl0]
+ \definefontsynonym[pl0-lmbo10] [plbo10] [encoding=pl0]
+ \definefontsynonym[pl0-lmbx10] [plbx10] [encoding=pl0]
+ \definefontsynonym[pl0-lmbx12] [plbx12] [encoding=pl0]
+ \definefontsynonym[pl0-lmbx5] [plbx5] [encoding=pl0]
+ \definefontsynonym[pl0-lmbx6] [plbx6] [encoding=pl0]
+ \definefontsynonym[pl0-lmbx7] [plbx7] [encoding=pl0]
+ \definefontsynonym[pl0-lmbx8] [plbx8] [encoding=pl0]
+ \definefontsynonym[pl0-lmbx9] [plbx9] [encoding=pl0]
+ \definefontsynonym[pl0-lmbxi10] [plbxi10] [encoding=pl0]
+ \definefontsynonym[pl0-lmbxo10] [plbxo10] [encoding=pl0]
+ \definefontsynonym[pl0-lmcsc10] [plcsc10] [encoding=pl0]
+ \definefontsynonym[pl0-lmcsco10][plcsco10][encoding=pl0]
+ \definefontsynonym[pl0-lmr10] [plr10] [encoding=pl0]
+ \definefontsynonym[pl0-lmr12] [plr12] [encoding=pl0]
+ \definefontsynonym[pl0-lmr17] [plr17] [encoding=pl0]
+ \definefontsynonym[pl0-lmr5] [plr5] [encoding=pl0]
+ \definefontsynonym[pl0-lmr6] [plr6] [encoding=pl0]
+ \definefontsynonym[pl0-lmr7] [plr7] [encoding=pl0]
+ \definefontsynonym[pl0-lmr8] [plr8] [encoding=pl0]
+ \definefontsynonym[pl0-lmr9] [plr9] [encoding=pl0]
+ \definefontsynonym[pl0-lmri10] [plri10] [encoding=pl0]
+ \definefontsynonym[pl0-lmri12] [plri12] [encoding=pl0]
+ \definefontsynonym[pl0-lmri7] [plri7] [encoding=pl0]
+ \definefontsynonym[pl0-lmri8] [plri8] [encoding=pl0]
+ \definefontsynonym[pl0-lmri9] [plri9] [encoding=pl0]
+ \definefontsynonym[pl0-lmro10] [plro10] [encoding=pl0]
+ \definefontsynonym[pl0-lmro12] [plro12] [encoding=pl0]
+ \definefontsynonym[pl0-lmro8] [plro8] [encoding=pl0]
+ \definefontsynonym[pl0-lmro9] [plro9] [encoding=pl0]
+ \definefontsynonym[pl0-lmss10] [plss10] [encoding=pl0]
+ \definefontsynonym[pl0-lmss12] [plss12] [encoding=pl0]
+ \definefontsynonym[pl0-lmss17] [plss17] [encoding=pl0]
+ \definefontsynonym[pl0-lmss8] [plss8] [encoding=pl0]
+ \definefontsynonym[pl0-lmss9] [plss9] [encoding=pl0]
+ \definefontsynonym[pl0-lmssbo10][plssbo10][encoding=pl0]
+ \definefontsynonym[pl0-lmssbx10][plssbx10][encoding=pl0]
+ \definefontsynonym[pl0-lmssdc10][plssdc10][encoding=pl0]
+ \definefontsynonym[pl0-lmssdo10][plssdo10][encoding=pl0]
+ \definefontsynonym[pl0-lmsso10] [plsso10] [encoding=pl0]
+ \definefontsynonym[pl0-lmsso12] [plsso12] [encoding=pl0]
+ \definefontsynonym[pl0-lmsso17] [plsso17] [encoding=pl0]
+ \definefontsynonym[pl0-lmsso8] [plsso8] [encoding=pl0]
+ \definefontsynonym[pl0-lmsso9] [plsso9] [encoding=pl0]
+ \definefontsynonym[pl0-lmssq8] [plssq8] [encoding=pl0]
+ \definefontsynonym[pl0-lmssqbo8][plssqbo8][encoding=pl0]
+ \definefontsynonym[pl0-lmssqbx8][plssqbx8][encoding=pl0]
+ \definefontsynonym[pl0-lmssqo8] [plssqo8] [encoding=pl0]
+ \definefontsynonym[pl0-lmtcsc10][pltcsc10][encoding=pl0]
+ \definefontsynonym[pl0-lmtt10] [pltt10] [encoding=pl0]
+ \definefontsynonym[pl0-lmtt12] [pltt12] [encoding=pl0]
+ \definefontsynonym[pl0-lmtt8] [pltt8] [encoding=pl0]
+ \definefontsynonym[pl0-lmtt9] [pltt9] [encoding=pl0]
+ \definefontsynonym[pl0-lmtti10] [pltti10] [encoding=pl0]
+ \definefontsynonym[pl0-lmtto10] [pltto10] [encoding=pl0]
+ \definefontsynonym[pl0-lmvtt10] [plvtt10] [encoding=pl0]
+ \definefontsynonym[pl0-lmvtto10][plvtto10][encoding=pl0]
+
+\stoptypescript
+
+\starttypescript[all][latin-modern][il2]
+
+ \definefontsynonym[il2-lmb10] [csb10] [encoding=il2]
+ \definefontsynonym[il2-lmbo10] [csbo10] [encoding=il2]
+ \definefontsynonym[il2-lmbx10] [csbx10] [encoding=il2]
+ \definefontsynonym[il2-lmbx12] [csbx12] [encoding=il2]
+ \definefontsynonym[il2-lmbx5] [csbx5] [encoding=il2]
+ \definefontsynonym[il2-lmbx6] [csbx6] [encoding=il2]
+ \definefontsynonym[il2-lmbx7] [csbx7] [encoding=il2]
+ \definefontsynonym[il2-lmbx8] [csbx8] [encoding=il2]
+ \definefontsynonym[il2-lmbx9] [csbx9] [encoding=il2]
+ \definefontsynonym[il2-lmbxi10] [csbxi10] [encoding=il2]
+ \definefontsynonym[il2-lmbxo10] [csbxo10] [encoding=il2]
+ \definefontsynonym[il2-lmcsc10] [cscsc10] [encoding=il2]
+ \definefontsynonym[il2-lmcsco10][cscsco10][encoding=il2]
+ \definefontsynonym[il2-lmr10] [csr10] [encoding=il2]
+ \definefontsynonym[il2-lmr12] [csr12] [encoding=il2]
+ \definefontsynonym[il2-lmr17] [csr17] [encoding=il2]
+ \definefontsynonym[il2-lmr5] [csr5] [encoding=il2]
+ \definefontsynonym[il2-lmr6] [csr6] [encoding=il2]
+ \definefontsynonym[il2-lmr7] [csr7] [encoding=il2]
+ \definefontsynonym[il2-lmr8] [csr8] [encoding=il2]
+ \definefontsynonym[il2-lmr9] [csr9] [encoding=il2]
+ \definefontsynonym[il2-lmri10] [csri10] [encoding=il2]
+ \definefontsynonym[il2-lmri12] [csri12] [encoding=il2]
+ \definefontsynonym[il2-lmri7] [csri7] [encoding=il2]
+ \definefontsynonym[il2-lmri8] [csri8] [encoding=il2]
+ \definefontsynonym[il2-lmri9] [csri9] [encoding=il2]
+ \definefontsynonym[il2-lmro10] [csro10] [encoding=il2]
+ \definefontsynonym[il2-lmro12] [csro12] [encoding=il2]
+ \definefontsynonym[il2-lmro8] [csro8] [encoding=il2]
+ \definefontsynonym[il2-lmro9] [csro9] [encoding=il2]
+ \definefontsynonym[il2-lmss10] [csss10] [encoding=il2]
+ \definefontsynonym[il2-lmss12] [csss12] [encoding=il2]
+ \definefontsynonym[il2-lmss17] [csss17] [encoding=il2]
+ \definefontsynonym[il2-lmss8] [csss8] [encoding=il2]
+ \definefontsynonym[il2-lmss9] [csss9] [encoding=il2]
+ \definefontsynonym[il2-lmssbo10][csssbo10][encoding=il2]
+ \definefontsynonym[il2-lmssbx10][csssbx10][encoding=il2]
+ \definefontsynonym[il2-lmssdc10][csssdc10][encoding=il2]
+ \definefontsynonym[il2-lmssdo10][csssdo10][encoding=il2]
+ \definefontsynonym[il2-lmsso10] [cssso10] [encoding=il2]
+ \definefontsynonym[il2-lmsso12] [cssso12] [encoding=il2]
+ \definefontsynonym[il2-lmsso17] [cssso17] [encoding=il2]
+ \definefontsynonym[il2-lmsso8] [cssso8] [encoding=il2]
+ \definefontsynonym[il2-lmsso9] [cssso9] [encoding=il2]
+ \definefontsynonym[il2-lmssq8] [csssq8] [encoding=il2]
+ \definefontsynonym[il2-lmssqbo8][csssqbo8][encoding=il2]
+ \definefontsynonym[il2-lmssqbx8][csssqbx8][encoding=il2]
+ \definefontsynonym[il2-lmssqo8] [csssqo8] [encoding=il2]
+ \definefontsynonym[il2-lmtcsc10][cstcsc10][encoding=il2]
+ \definefontsynonym[il2-lmtt10] [cstt10] [encoding=il2]
+ \definefontsynonym[il2-lmtt12] [cstt12] [encoding=il2]
+ \definefontsynonym[il2-lmtt8] [cstt8] [encoding=il2]
+ \definefontsynonym[il2-lmtt9] [cstt9] [encoding=il2]
+ \definefontsynonym[il2-lmtti10] [cstti10] [encoding=il2]
+ \definefontsynonym[il2-lmtto10] [cstto10] [encoding=il2]
+ \definefontsynonym[il2-lmvtt10] [csvtt10] [encoding=il2]
+ \definefontsynonym[il2-lmvtto10][csvtto10][encoding=il2]
+
+\stoptypescript
+
+\starttypescript[all][latin-modern][t5]
+
+ \definefontsynonym[t5-lmb10] [vnb10] [encoding=t5]
+ \definefontsynonym[t5-lmbo10] [vnbo10] [encoding=t5]
+ \definefontsynonym[t5-lmbx10] [vnbx10] [encoding=t5]
+ \definefontsynonym[t5-lmbx12] [vnbx12] [encoding=t5]
+ \definefontsynonym[t5-lmbx5] [vnbx5] [encoding=t5]
+ \definefontsynonym[t5-lmbx6] [vnbx6] [encoding=t5]
+ \definefontsynonym[t5-lmbx7] [vnbx7] [encoding=t5]
+ \definefontsynonym[t5-lmbx8] [vnbx8] [encoding=t5]
+ \definefontsynonym[t5-lmbx9] [vnbx9] [encoding=t5]
+ \definefontsynonym[t5-lmbxi10] [vnbxi10] [encoding=t5]
+ \definefontsynonym[t5-lmbxo10] [vnbxo10] [encoding=t5]
+ \definefontsynonym[t5-lmcsc10] [vncsc10] [encoding=t5]
+ \definefontsynonym[t5-lmcsco10][vncsco10][encoding=t5]
+ \definefontsynonym[t5-lmr10] [vnr10] [encoding=t5]
+ \definefontsynonym[t5-lmr12] [vnr12] [encoding=t5]
+ \definefontsynonym[t5-lmr17] [vnr17] [encoding=t5]
+ \definefontsynonym[t5-lmr5] [vnr5] [encoding=t5]
+ \definefontsynonym[t5-lmr6] [vnr6] [encoding=t5]
+ \definefontsynonym[t5-lmr7] [vnr7] [encoding=t5]
+ \definefontsynonym[t5-lmr8] [vnr8] [encoding=t5]
+ \definefontsynonym[t5-lmr9] [vnr9] [encoding=t5]
+ \definefontsynonym[t5-lmri10] [vnri10] [encoding=t5]
+ \definefontsynonym[t5-lmri12] [vnri12] [encoding=t5]
+ \definefontsynonym[t5-lmri7] [vnri7] [encoding=t5]
+ \definefontsynonym[t5-lmri8] [vnri8] [encoding=t5]
+ \definefontsynonym[t5-lmri9] [vnri9] [encoding=t5]
+ \definefontsynonym[t5-lmro10] [vnro10] [encoding=t5]
+ \definefontsynonym[t5-lmro12] [vnro12] [encoding=t5]
+ \definefontsynonym[t5-lmro8] [vnro8] [encoding=t5]
+ \definefontsynonym[t5-lmro9] [vnro9] [encoding=t5]
+ \definefontsynonym[t5-lmss10] [vnss10] [encoding=t5]
+ \definefontsynonym[t5-lmss12] [vnss12] [encoding=t5]
+ \definefontsynonym[t5-lmss17] [vnss17] [encoding=t5]
+ \definefontsynonym[t5-lmss8] [vnss8] [encoding=t5]
+ \definefontsynonym[t5-lmss9] [vnss9] [encoding=t5]
+ \definefontsynonym[t5-lmssbo10][vnssbo10][encoding=t5]
+ \definefontsynonym[t5-lmssbx10][vnssbx10][encoding=t5]
+ \definefontsynonym[t5-lmssdc10][vnssdc10][encoding=t5]
+ \definefontsynonym[t5-lmssdo10][vnssdo10][encoding=t5]
+ \definefontsynonym[t5-lmsso10] [vnsso10] [encoding=t5]
+ \definefontsynonym[t5-lmsso12] [vnsso12] [encoding=t5]
+ \definefontsynonym[t5-lmsso17] [vnsso17] [encoding=t5]
+ \definefontsynonym[t5-lmsso8] [vnsso8] [encoding=t5]
+ \definefontsynonym[t5-lmsso9] [vnsso9] [encoding=t5]
+ \definefontsynonym[t5-lmssq8] [vnssq8] [encoding=t5]
+ \definefontsynonym[t5-lmssqbo8][vnssqbo8][encoding=t5]
+ \definefontsynonym[t5-lmssqbx8][vnssqbx8][encoding=t5]
+ \definefontsynonym[t5-lmssqo8] [vnssqo8] [encoding=t5]
+ \definefontsynonym[t5-lmtcsc10][vntcsc10][encoding=t5]
+ \definefontsynonym[t5-lmtt10] [vntt10] [encoding=t5]
+ \definefontsynonym[t5-lmtt12] [vntt12] [encoding=t5]
+ \definefontsynonym[t5-lmtt8] [vntt8] [encoding=t5]
+ \definefontsynonym[t5-lmtt9] [vntt9] [encoding=t5]
+ \definefontsynonym[t5-lmtti10] [vntti10] [encoding=t5]
+ \definefontsynonym[t5-lmtto10] [vntto10] [encoding=t5]
+ \definefontsynonym[t5-lmvtt10] [vnvtt10] [encoding=t5]
+ \definefontsynonym[t5-lmvtto10][vnvtto10][encoding=t5]
+
+\stoptypescript
+
+%D For those who want to use the existing tfm and vf files we
+%D provide:
+
+\starttypescript [berry] [8r]
+
+\setupencoding[default=8r]
+
+\definefontsynonym [8r-utmr8a] [utmr8r] [encoding=8r]
+\definefontsynonym [8r-utmri8a] [utmri8r] [encoding=8r]
+\definefontsynonym [8r-utmb8a] [utmb8r] [encoding=8r]
+\definefontsynonym [8r-utmbi8a] [utmbi8r] [encoding=8r]
+
+\definefontsynonym [8r-utmr8a-slanted-167] [utmro8r] [encoding=8r]
+\definefontsynonym [8r-utmb8a-slanted-167] [utmbo8r] [encoding=8r]
+
+\definefontsynonym [8r-uhvr8a] [uhvr8r] [encoding=8r]
+\definefontsynonym [8r-uhvro8a] [uhvro8r] [encoding=8r]
+\definefontsynonym [8r-uhvb8a] [uhvb8r] [encoding=8r]
+\definefontsynonym [8r-uhvbo8a] [uhvbo8r] [encoding=8r]
+
+\definefontsynonym [8r-ucrr8a] [ucrr8r] [encoding=8r]
+\definefontsynonym [8r-ucrb8a] [ucrb8r] [encoding=8r]
+\definefontsynonym [8r-ucrro8a] [ucrro8r] [encoding=8r]
+\definefontsynonym [8r-ucrbo8a] [ucrbo8r] [encoding=8r]
+
+\definefontsynonym [8r-uplr8a] [uplr8r] [encoding=8r]
+\definefontsynonym [8r-uplri8a] [uplri8r] [encoding=8r]
+\definefontsynonym [8r-uplb8a] [uplb8r] [encoding=8r]
+\definefontsynonym [8r-uplbi8a] [uplbi8r] [encoding=8r]
+\definefontsynonym [8r-uplr8a-slanted-167] [uplro8r] [encoding=8r]
+\definefontsynonym [8r-uplb8a-slanted-167] [uplbo8r] [encoding=8r]
+\definefontsynonym [8r-uplr8a-capitalized-800] [uplr8r] [encoding=8r]
+
+\definefontsynonym [8r-ubkl8a] [ubkl8r] [encoding=8r]
+\definefontsynonym [8r-ubkli8a] [ubkli8r] [encoding=8r]
+\definefontsynonym [8r-ubkd8a] [ubkd8r] [encoding=8r]
+\definefontsynonym [8r-ubkdi8a] [ubkdi8r] [encoding=8r]
+\definefontsynonym [8r-ubkl8a-slanted-167] [ubklo8r] [encoding=8r]
+\definefontsynonym [8r-ubkd8a-slanted-167] [ubkdo8r] [encoding=8r]
+\definefontsynonym [8r-ubkl8a-capitalized-800] [ubkl8r] [encoding=8r]
+
+\definefontsynonym [8r-uzcmi8a] [uzcmi8r] [encoding=8r]
+
+\definefontsynonym [8r-putr8a] [putr8r] [encoding=8r]
+\definefontsynonym [8r-putri8a] [putri8r] [encoding=8r]
+\definefontsynonym [8r-putb8a] [putr8r] [encoding=8r]
+\definefontsynonym [8r-putbi8a] [putbi8r] [encoding=8r]
+\definefontsynonym [8r-putr8a-slanted-167] [putro8r] [encoding=8r]
+\definefontsynonym [8r-putb8a-slanted-167] [putbo8r] [encoding=8r]
+\definefontsynonym [8r-putr8a-capitalized-800] [putr8r] [encoding=8r]
+
+\definefontsynonym [8r-bchr8a] [bchr8r] [encoding=8r]
+\definefontsynonym [8r-bchri8a] [bchri8r] [encoding=8r]
+\definefontsynonym [8r-bchb8a] [bchb8r] [encoding=8r]
+\definefontsynonym [8r-bchbi8a] [bchbi8r] [encoding=8r]
+\definefontsynonym [8r-bchr8a-slanted-167] [bchro8r] [encoding=8r]
+\definefontsynonym [8r-bchb8a-slanted-167] [bchbo8r] [encoding=8r]
+\definefontsynonym [8r-bchr8a-capitalized-800] [bchr8r] [encoding=8r]
+
+\stoptypescript
+
+\starttypescript [berry] [ec]
+
+\setupencoding[default=ec]
+
+\definefontsynonym [ec-utmr8a] [utmr8t] [encoding=ec]
+\definefontsynonym [ec-utmri8a] [utmri8t] [encoding=ec]
+\definefontsynonym [ec-utmb8a] [utmb8t] [encoding=ec]
+\definefontsynonym [ec-utmbi8a] [utmbi8t] [encoding=ec]
+
+\definefontsynonym [ec-utmr8a-slanted-167] [utmro8t] [encoding=ec]
+\definefontsynonym [ec-utmb8a-slanted-167] [utmbo8t] [encoding=ec]
+
+\definefontsynonym [ec-uhvr8a] [uhvr8t] [encoding=ec]
+\definefontsynonym [ec-uhvro8a] [uhvro8t] [encoding=ec]
+\definefontsynonym [ec-uhvb8a] [uhvb8t] [encoding=ec]
+\definefontsynonym [ec-uhvbo8a] [uhvbo8t] [encoding=ec]
+
+\definefontsynonym [ec-ucrr8a] [ucrr8t] [encoding=ec]
+\definefontsynonym [ec-ucrb8a] [ucrb8t] [encoding=ec]
+\definefontsynonym [ec-ucrro8a] [ucrro8t] [encoding=ec]
+\definefontsynonym [ec-ucrbo8a] [ucrbo8t] [encoding=ec]
+
+\definefontsynonym [ec-uplr8a] [uplr8t] [encoding=ec]
+\definefontsynonym [ec-uplri8a] [uplri8t] [encoding=ec]
+\definefontsynonym [ec-uplb8a] [uplb8t] [encoding=ec]
+\definefontsynonym [ec-uplbi8a] [uplbi8t] [encoding=ec]
+\definefontsynonym [ec-uplr8a-slanted-167] [uplro8t] [encoding=ec]
+\definefontsynonym [ec-uplb8a-slanted-167] [uplbo8t] [encoding=ec]
+\definefontsynonym [ec-uplr8a-capitalized-800] [uplr8t] [encoding=ec]
+
+\definefontsynonym [ec-ubkl8a] [ubkl8t] [encoding=ec]
+\definefontsynonym [ec-ubkli8a] [ubkli8t] [encoding=ec]
+\definefontsynonym [ec-ubkd8a] [ubkd8t] [encoding=ec]
+\definefontsynonym [ec-ubkdi8a] [ubkdi8t] [encoding=ec]
+\definefontsynonym [ec-ubkl8a-slanted-167] [ubklo8t] [encoding=ec]
+\definefontsynonym [ec-ubkd8a-slanted-167] [ubkdo8t] [encoding=ec]
+\definefontsynonym [ec-ubkl8a-capitalized-800] [ubkl8t] [encoding=ec]
+
+\definefontsynonym [ec-uzcmi8a] [uzcmi8t] [encoding=ec]
+
+\definefontsynonym [ec-putr8a] [putr8t] [encoding=ec]
+\definefontsynonym [ec-putri8a] [putri8t] [encoding=ec]
+\definefontsynonym [ec-putb8a] [putr8t] [encoding=ec]
+\definefontsynonym [ec-putbi8a] [putbi8t] [encoding=ec]
+\definefontsynonym [ec-putr8a-slanted-167] [putro8t] [encoding=ec]
+\definefontsynonym [ec-putb8a-slanted-167] [putbo8t] [encoding=ec]
+\definefontsynonym [ec-putr8a-capitalized-800] [putr8t] [encoding=ec]
+
+\definefontsynonym [ec-bchr8a] [bchr8t] [encoding=ec]
+\definefontsynonym [ec-bchri8a] [bchri8t] [encoding=ec]
+\definefontsynonym [ec-bchb8a] [bchb8t] [encoding=ec]
+\definefontsynonym [ec-bchbi8a] [bchbi8t] [encoding=ec]
+\definefontsynonym [ec-bchr8a-slanted-167] [bchro8t] [encoding=ec]
+\definefontsynonym [ec-bchb8a-slanted-167] [bchbo8t] [encoding=ec]
+\definefontsynonym [ec-bchr8a-capitalized-800] [bchr8t] [encoding=ec]
+
+\stoptypescript
+
+% the following fonts are normally not present on tex live
+
+\starttypescript [berry] [texnansi]
+
+\setupencoding[default=texnansi]
+
+\definefontsynonym [texnansi-utmr8a] [utmr8y] [encoding=texnansi]
+\definefontsynonym [texnansi-utmri8a] [utmri8y] [encoding=texnansi]
+\definefontsynonym [texnansi-utmb8a] [utmb8y] [encoding=texnansi]
+\definefontsynonym [texnansi-utmbi8a] [utmbi8y] [encoding=texnansi]
+
+\definefontsynonym [texnansi-utmr8a-slanted-167] [ptmro8y] [encoding=texnansi]
+\definefontsynonym [texnansi-utmb8a-slanted-167] [ptmbo8y] [encoding=texnansi]
+
+\definefontsynonym [texnansi-uhvr8a] [uhvr8y] [encoding=texnansi]
+\definefontsynonym [texnansi-uhvro8a] [uhvro8y] [encoding=texnansi]
+\definefontsynonym [texnansi-uhvb8a] [uhvb8y] [encoding=texnansi]
+\definefontsynonym [texnansi-uhvbo8a] [uhvbo8y] [encoding=texnansi]
+
+\definefontsynonym [texnansi-ucrr8a] [pcrr8y] [encoding=texnansi]
+\definefontsynonym [texnansi-ucrb8a] [pcrb8y] [encoding=texnansi]
+\definefontsynonym [texnansi-ucrro8a] [pcrro8y] [encoding=texnansi]
+\definefontsynonym [texnansi-ucrbo8a] [pcrbo8y] [encoding=texnansi]
+
+\definefontsynonym [texnansi-uplr8a] [uplr8y] [encoding=texnansi]
+\definefontsynonym [texnansi-uplri8a] [uplri8y] [encoding=texnansi]
+\definefontsynonym [texnansi-uplb8a] [uplb8y] [encoding=texnansi]
+\definefontsynonym [texnansi-uplbi8a] [uplbi8y] [encoding=texnansi]
+\definefontsynonym [texnansi-uplr8a-slanted-167] [uplro8y] [encoding=texnansi]
+\definefontsynonym [texnansi-uplb8a-slanted-167] [uplbo8y] [encoding=texnansi]
+\definefontsynonym [texnansi-uplr8a-capitalized-800] [uplr8y] [encoding=texnansi]
+
+\definefontsynonym [texnansi-ubkl8a] [ubkl8y] [encoding=texnansi]
+\definefontsynonym [texnansi-ubkli8a] [ubkli8y] [encoding=texnansi]
+\definefontsynonym [texnansi-ubkd8a] [ubkd8y] [encoding=texnansi]
+\definefontsynonym [texnansi-ubkdi8a] [ubkdi8y] [encoding=texnansi]
+\definefontsynonym [texnansi-ubkl8a-slanted-167] [ubklo8y] [encoding=texnansi]
+\definefontsynonym [texnansi-ubkd8a-slanted-167] [ubkdo8y] [encoding=texnansi]
+\definefontsynonym [texnansi-ubkl8a-capitalized-800] [ubkl8y] [encoding=texnansi]
+
+\definefontsynonym [texnansi-uzcmi8a] [uzcmi8y] [encoding=texnansi]
+
+\definefontsynonym [texnansi-putr8a] [putr8y] [encoding=texnansi]
+\definefontsynonym [texnansi-putri8a] [putri8y] [encoding=texnansi]
+\definefontsynonym [texnansi-putb8a] [putr8y] [encoding=texnansi]
+\definefontsynonym [texnansi-putbi8a] [putbi8y] [encoding=texnansi]
+\definefontsynonym [texnansi-putr8a-slanted-167] [putro8y] [encoding=texnansi]
+\definefontsynonym [texnansi-putb8a-slanted-167] [putbo8y] [encoding=texnansi]
+\definefontsynonym [texnansi-putr8a-capitalized-800] [putr8y] [encoding=texnansi]
+
+\definefontsynonym [texnansi-bchr8a] [bchr8y] [encoding=texnansi]
+\definefontsynonym [texnansi-bchri8a] [bchri8y] [encoding=texnansi]
+\definefontsynonym [texnansi-bchb8a] [bchb8y] [encoding=texnansi]
+\definefontsynonym [texnansi-bchbi8a] [bchbi8y] [encoding=texnansi]
+\definefontsynonym [texnansi-bchr8a-slanted-167] [bchro8y] [encoding=texnansi]
+\definefontsynonym [texnansi-bchb8a-slanted-167] [bchbo8y] [encoding=texnansi]
+\definefontsynonym [texnansi-bchr8a-capitalized-800] [bchr8y] [encoding=texnansi]
+
+\stoptypescript
+
+\starttypescript [berry] [t5]
+
+\setupencoding[default=t5]
+
+\definefontsynonym [t5-utmr8a] [utmr8v] [encoding=t5]
+\definefontsynonym [t5-utmri8a] [utmri8v] [encoding=t5]
+\definefontsynonym [t5-utmb8a] [utmb8v] [encoding=t5]
+\definefontsynonym [t5-utmbi8a] [utmbi8v] [encoding=t5]
+
+\definefontsynonym [t5-utmr8a-slanted-167] [utmro8v] [encoding=t5]
+\definefontsynonym [t5-utmb8a-slanted-167] [utmbo8v] [encoding=t5]
+
+\definefontsynonym [t5-uhvr8a] [uhvr8v] [encoding=t5]
+\definefontsynonym [t5-uhvro8a] [uhvro8v] [encoding=t5]
+\definefontsynonym [t5-uhvb8a] [uhvb8v] [encoding=t5]
+\definefontsynonym [t5-uhvbo8a] [uhvbo8v] [encoding=t5]
+
+\definefontsynonym [t5-ucrr8a] [ucrr8v] [encoding=t5]
+\definefontsynonym [t5-ucrb8a] [ucrb8v] [encoding=t5]
+\definefontsynonym [t5-ucrro8a] [ucrro8v] [encoding=t5]
+\definefontsynonym [t5-ucrbo8a] [ucrbo8v] [encoding=t5]
+
+\definefontsynonym [t5-uplr8a] [uplr8v] [encoding=t5]
+\definefontsynonym [t5-uplri8a] [uplri8v] [encoding=t5]
+\definefontsynonym [t5-uplb8a] [uplb8v] [encoding=t5]
+\definefontsynonym [t5-uplbi8a] [uplbi8v] [encoding=t5]
+\definefontsynonym [t5-uplr8a-slanted-167] [uplro8v] [encoding=t5]
+\definefontsynonym [t5-uplb8a-slanted-167] [uplbo8v] [encoding=t5]
+\definefontsynonym [t5-uplr8a-capitalized-800] [uplr8v] [encoding=t5]
+
+\definefontsynonym [t5-ubkl8a] [ubkl8v] [encoding=t5]
+\definefontsynonym [t5-ubkli8a] [ubkli8v] [encoding=t5]
+\definefontsynonym [t5-ubkd8a] [ubkd8v] [encoding=t5]
+\definefontsynonym [t5-ubkdi8a] [ubkdi8v] [encoding=t5]
+\definefontsynonym [t5-ubkl8a-slanted-167] [ubklo8v] [encoding=t5]
+\definefontsynonym [t5-ubkd8a-slanted-167] [ubkdo8v] [encoding=t5]
+\definefontsynonym [t5-ubkl8a-capitalized-800] [ubkl8v] [encoding=t5]
+
+\stoptypescript
diff --git a/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml
index 449a0f2ff..c1ff33b1d 100644
--- a/tex/context/interface/keys-cz.xml
+++ b/tex/context/interface/keys-cz.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.01.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.01.26">
<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 a4d88d7cc..c589352b8 100644
--- a/tex/context/interface/keys-de.xml
+++ b/tex/context/interface/keys-de.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.01.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.01.26">
<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 50af420bd..5223231a0 100644
--- a/tex/context/interface/keys-en.xml
+++ b/tex/context/interface/keys-en.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.01.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.01.26">
<cd:variables>
<cd:variable name="one" value="one"/>
diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml
index af7169abd..9fb4515b4 100644
--- a/tex/context/interface/keys-it.xml
+++ b/tex/context/interface/keys-it.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.01.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.01.26">
<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 4733f7018..33419afa0 100644
--- a/tex/context/interface/keys-nl.xml
+++ b/tex/context/interface/keys-nl.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.01.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.01.26">
<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 79e76ea48..76f02c7f0 100644
--- a/tex/context/interface/keys-ro.xml
+++ b/tex/context/interface/keys-ro.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.01.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.01.26">
<cd:variables>
<cd:variable name="one" value="unu"/>