summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fonts/enc/dvips/context/teff-trinite.enc260
-rw-r--r--scripts/context/perl/texfont.pl22
-rw-r--r--scripts/context/ruby/texexec.rb6
-rw-r--r--scripts/context/ruby/textools.rb82
-rw-r--r--tex/context/base/cont-new.tex2
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/math-ext.tex114
-rw-r--r--tex/context/base/math-tex.tex1
-rw-r--r--tex/context/base/s-ptj-01.tex16
-rw-r--r--tex/context/base/symb-glm.tex36
-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-fr.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
17 files changed, 497 insertions, 58 deletions
diff --git a/fonts/enc/dvips/context/teff-trinite.enc b/fonts/enc/dvips/context/teff-trinite.enc
new file mode 100644
index 000000000..ea0e2651e
--- /dev/null
+++ b/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/scripts/context/perl/texfont.pl b/scripts/context/perl/texfont.pl
index ec875e5b4..e6ebf7029 100644
--- a/scripts/context/perl/texfont.pl
+++ b/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/scripts/context/ruby/texexec.rb b/scripts/context/ruby/texexec.rb
index 55636780d..ea4c48d93 100644
--- a/scripts/context/ruby/texexec.rb
+++ b/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/scripts/context/ruby/textools.rb b/scripts/context/ruby/textools.rb
index 345a27572..b6300215e 100644
--- a/scripts/context/ruby/textools.rb
+++ b/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/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index 5ccc67fd3..2b2110fe0 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -13,7 +13,7 @@
% it's about time to clean up this file ...
-\newcontextversion{2006.11.27 11:04}
+\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/tex/context/base/context.tex b/tex/context/base/context.tex
index 0be6eba56..dd6a50af8 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -42,7 +42,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2006.11.27 11:04}
+\edef\contextversion{2006.11.29 09:55}
%D For those who want to use this:
diff --git a/tex/context/base/math-ext.tex b/tex/context/base/math-ext.tex
index 177e3c8a4..e2155503d 100644
--- a/tex/context/base/math-ext.tex
+++ b/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/tex/context/base/math-tex.tex b/tex/context/base/math-tex.tex
index d2516bc62..fc3cd7ae6 100644
--- a/tex/context/base/math-tex.tex
+++ b/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/tex/context/base/s-ptj-01.tex b/tex/context/base/s-ptj-01.tex
index 1effb7d73..188af73bd 100644
--- a/tex/context/base/s-ptj-01.tex
+++ b/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,
@@ -17,6 +17,7 @@
%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}
@@ -30,11 +31,11 @@
%D A sample document is given at the end of this file. The typeset sample can
%D be obtained by
%D \starttyping
-%D texexec --mode=demo s-ptj-01.tex
+%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-ptj-01.tex
+%D texmfstart texexec --module s-ptj-01.tex
%D \stoptyping
\startmodule[pracjourn]
@@ -72,8 +73,9 @@
%D used with a 15.5pt baseline skip. Font protrusion is enabled, but font
%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. Most of the numbers (page numbers, figure numbers, section
-%D numbers) are set in oldstyle.
+%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]
@@ -223,8 +225,8 @@
{\doadditionalinfo{Address}{\getvariable{pracjourn}{address}}}
\iftitleskipdone \blank[big] \fi
\doadditionalinfo{Abstract}%
- {\setupindenting[yes]
- \setupinterlinespace
+ {\setupindenting[yes]%
+ \setupinterlinespace%
\getbuffer[abstract]
\endgraf}
\egroup
diff --git a/tex/context/base/symb-glm.tex b/tex/context/base/symb-glm.tex
index 63ac4ed26..b07a3a426 100644
--- a/tex/context/base/symb-glm.tex
+++ b/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/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml
index b2bc2225e..2e029e507 100644
--- a/tex/context/interface/keys-cz.xml
+++ b/tex/context/interface/keys-cz.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2006.11.27 11:04">
+<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/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml
index 3268f705d..d3826a6b2 100644
--- a/tex/context/interface/keys-de.xml
+++ b/tex/context/interface/keys-de.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2006.11.27 11:04">
+<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/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml
index 3bc84189f..bba126e29 100644
--- a/tex/context/interface/keys-en.xml
+++ b/tex/context/interface/keys-en.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2006.11.27 11:04">
+<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/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml
index 68f74858e..83d023a17 100644
--- a/tex/context/interface/keys-fr.xml
+++ b/tex/context/interface/keys-fr.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="fr" version="2006.11.27 11:04">
+<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/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml
index 094875084..1eede06e2 100644
--- a/tex/context/interface/keys-it.xml
+++ b/tex/context/interface/keys-it.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2006.11.27 11:04">
+<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/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml
index 8341fcf11..d6d4b105a 100644
--- a/tex/context/interface/keys-nl.xml
+++ b/tex/context/interface/keys-nl.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2006.11.27 11:04">
+<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/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml
index c8e8db8ba..dd412333b 100644
--- a/tex/context/interface/keys-ro.xml
+++ b/tex/context/interface/keys-ro.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2006.11.27 11:04">
+<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"/>