summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2004-04-09 00:00:00 +0200
committerHans Hagen <pragma@wxs.nl>2004-04-09 00:00:00 +0200
commitab3f887feadf929129087cd2cbc3783064507565 (patch)
treec0c12916ff903071880d0e157ff422b3f2cab2f4
parentb3e51f52d2070a709e3089ada6054cd2080590ca (diff)
downloadcontext-ab3f887feadf929129087cd2cbc3783064507565.tar.gz
stable 2004.04.09
-rw-r--r--context/data/cont-cz.tws4
-rw-r--r--context/data/cont-de.tws4
-rw-r--r--context/data/cont-en.tws4
-rw-r--r--context/data/cont-it.tws4
-rw-r--r--context/data/cont-nl.tws4
-rw-r--r--context/data/cont-ro.tws4
-rw-r--r--context/data/cont-xx-scite.properties4
-rw-r--r--context/data/context.properties46
-rw-r--r--context/perltk/texshow.pl92
-rw-r--r--fonts/enc/context/cork-var-lm.enc262
-rw-r--r--fonts/enc/context/ec-var-lm.enc262
-rw-r--r--fonts/enc/context/texnansi-var-lm.enc262
-rw-r--r--fonts/map/context/8r-base.map135
-rw-r--r--fonts/map/context/context-base.map848
-rw-r--r--fonts/map/context/cork-public-lm.map57
-rw-r--r--fonts/map/context/cork-var-exclusive-public-lm.map61
-rw-r--r--fonts/map/context/cork-var-public-lm.map61
-rw-r--r--fonts/map/context/ec-base.map135
-rw-r--r--fonts/map/context/ec-public-lm.map57
-rw-r--r--fonts/map/context/ec-var-exclusive-public-lm.map61
-rw-r--r--fonts/map/context/ec-var-public-lm.map61
-rw-r--r--fonts/map/context/il2-ams-cmr.map56
-rw-r--r--fonts/map/context/original-ams-cmr.map161
-rw-r--r--fonts/map/context/original-ams-euler.map38
-rw-r--r--fonts/map/context/original-ams-lmr.map54
-rw-r--r--fonts/map/context/original-base.map61
-rw-r--r--fonts/map/context/original-empty.map1
-rw-r--r--fonts/map/context/original-public-csr.map56
-rw-r--r--fonts/map/context/original-public-lm.map54
-rw-r--r--fonts/map/context/original-public-plr.map (renamed from fonts/map/context/pl0-ams-cmr.map)0
-rw-r--r--fonts/map/context/qx-base.map55
-rw-r--r--fonts/map/context/texnansi-base.map135
-rw-r--r--fonts/map/context/texnansi-public-antp.map18
-rw-r--r--fonts/map/context/texnansi-public-antt.map17
-rw-r--r--fonts/map/context/texnansi-public-lm.map57
-rw-r--r--fonts/map/context/texnansi-var-exclusive-public-lm.map61
-rw-r--r--fonts/map/context/texnansi-var-public-lm.map61
-rw-r--r--metapost/context/base/mp-core.mp16
-rw-r--r--scripts/context/perl/cont_mis.pm (renamed from context/perltk/cont_mis.pm)0
-rw-r--r--scripts/context/perl/cont_set.pm (renamed from context/perltk/cont_set.pm)0
-rw-r--r--scripts/context/perl/fdf2tan.pl (renamed from context/perltk/fdf2tan.pl)0
-rw-r--r--scripts/context/perl/fdf2tex.pl (renamed from context/perltk/fdf2tex.pl)0
-rw-r--r--scripts/context/perl/makempy.pl (renamed from context/perltk/makempy.pl)0
-rw-r--r--scripts/context/perl/mptopdf.pl (renamed from context/perltk/mptopdf.pl)0
-rw-r--r--scripts/context/perl/path_tre.pm (renamed from context/perltk/path_tre.pm)0
-rw-r--r--scripts/context/perl/texexec.pl (renamed from context/perltk/texexec.pl)150
-rw-r--r--scripts/context/perl/texexec.rme (renamed from context/perltk/texexec.rme)0
-rw-r--r--scripts/context/perl/texfind.pl (renamed from context/perltk/texfind.pl)0
-rw-r--r--scripts/context/perl/texfont.pl (renamed from context/perltk/texfont.pl)9
-rw-r--r--scripts/context/perl/texshow.pl97
-rw-r--r--scripts/context/perl/texutil.pl (renamed from context/perltk/texutil.pl)51
-rw-r--r--scripts/context/perl/utiplug.pm (renamed from context/perltk/utiplug.pm)0
-rw-r--r--tex/context/base/colo-ini.tex2
-rw-r--r--tex/context/base/cont-fil.tex3
-rw-r--r--tex/context/base/cont-new.tex143
-rw-r--r--tex/context/base/cont-sys.ori139
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/core-buf.tex2
-rw-r--r--tex/context/base/core-def.tex18
-rw-r--r--tex/context/base/core-fig.tex126
-rw-r--r--tex/context/base/core-grd.tex29
-rw-r--r--tex/context/base/core-int.tex132
-rw-r--r--tex/context/base/core-lst.tex111
-rw-r--r--tex/context/base/core-mis.tex386
-rw-r--r--tex/context/base/core-ntb.tex31
-rw-r--r--tex/context/base/core-pos.tex16
-rw-r--r--tex/context/base/core-ref.tex36
-rw-r--r--tex/context/base/core-rul.tex25
-rw-r--r--tex/context/base/core-sec.tex12
-rw-r--r--tex/context/base/core-spa.tex59
-rw-r--r--tex/context/base/core-tbl.tex1
-rw-r--r--tex/context/base/enco-def.tex5
-rw-r--r--tex/context/base/enco-ini.tex6
-rw-r--r--tex/context/base/enco-pfr.tex101
-rw-r--r--tex/context/base/enco-pol.tex56
-rw-r--r--tex/context/base/enco-qx.tex207
-rw-r--r--tex/context/base/java-exa.tex232
-rw-r--r--tex/context/base/java-fil.tex24
-rw-r--r--tex/context/base/java-fld.tex4
-rw-r--r--tex/context/base/java-ini.tex2
-rw-r--r--tex/context/base/java-stp.tex127
-rw-r--r--tex/context/base/meta-ini.tex23
-rw-r--r--tex/context/base/page-bck.tex50
-rw-r--r--tex/context/base/page-flt.tex3
-rw-r--r--tex/context/base/page-lay.tex7
-rw-r--r--tex/context/base/page-lyr.tex98
-rw-r--r--tex/context/base/page-mak.tex1
-rw-r--r--tex/context/base/page-set.tex38
-rw-r--r--tex/context/base/page-txt.tex24
-rw-r--r--tex/context/base/prop-ini.tex25
-rw-r--r--tex/context/base/s-abr-01.tex14
-rw-r--r--tex/context/base/s-pre-00.tex128
-rw-r--r--tex/context/base/s-pre-60.tex87
-rw-r--r--tex/context/base/s-pre-61.tex222
-rw-r--r--tex/context/base/setupb.tex4
-rw-r--r--tex/context/base/spec-def.tex7
-rw-r--r--tex/context/base/spec-dpx.tex20
-rw-r--r--tex/context/base/spec-fdf.tex11
-rw-r--r--tex/context/base/spec-tpd.tex46
-rw-r--r--tex/context/base/supp-emp.tex44
-rw-r--r--tex/context/base/supp-fil.tex11
-rw-r--r--tex/context/base/supp-mis.tex2
-rw-r--r--tex/context/base/supp-mps.tex44
-rw-r--r--tex/context/base/supp-pdf.tex159
-rw-r--r--tex/context/base/symb-eur.tex4
-rw-r--r--tex/context/base/symb-glm.tex65
-rw-r--r--tex/context/base/symb-ini.tex134
-rw-r--r--tex/context/base/symb-mvs.tex50
-rw-r--r--tex/context/base/symb-nav.tex4
-rw-r--r--tex/context/base/syst-etx.tex2
-rw-r--r--tex/context/base/syst-ext.tex102
-rw-r--r--tex/context/base/type-akb.tex16
-rw-r--r--tex/context/base/type-buy.tex439
-rw-r--r--tex/context/base/type-enc.tex238
-rw-r--r--tex/context/base/type-exa.tex1
-rw-r--r--tex/context/base/type-ini.tex110
-rw-r--r--tex/context/base/type-map.tex174
-rw-r--r--tex/context/base/type-syn.tex96
-rw-r--r--tex/context/base/unic-000.tex192
-rw-r--r--tex/context/base/verb-ini.tex270
-rw-r--r--tex/context/base/xtag-ini.tex61
-rw-r--r--tex/context/sample/demo-mps.tex23
-rw-r--r--tex/context/sample/demo-tex.tex23
-rw-r--r--tex/context/sample/demo-xml.tex53
-rw-r--r--tex/context/user/cont-sys.rme139
-rw-r--r--web2c/natural.tcx181
126 files changed, 6959 insertions, 2159 deletions
diff --git a/context/data/cont-cz.tws b/context/data/cont-cz.tws
index e5fabf138..280622f29 100644
--- a/context/data/cont-cz.tws
+++ b/context/data/cont-cz.tws
@@ -706,11 +706,11 @@ startsetup
com:nastavoramovani:
typ:vars/:
var:vyska:prizpusobive,siroky,*dimenze::
-var:sirka:prizpusobive,siroky,fixne,*dimenze::
+var:sirka:prizpusobive,siroky,fixne,lokalne,*dimenze::
var:offset:zadny,prekryv,implicitni,*dimenze::
var:misto:nizko,podlehloubky,visici::
var:volba:zadny,prazdne::
-var:strut:ano,ne::
+var:strut:ano,ne,globalne,lokalne::
var:zarovnani:ne,vlevo,vpravo,nastred,normalni,vysoko,nizko,nivy::
var:spodek:*prikaz::
var:vrsek:*prikaz::
diff --git a/context/data/cont-de.tws b/context/data/cont-de.tws
index b59ee1b5f..24dc88a93 100644
--- a/context/data/cont-de.tws
+++ b/context/data/cont-de.tws
@@ -706,11 +706,11 @@ startsetup
com:stelleumrahmtein:
typ:vars/:
var:hoehe:passend,breit,*Dimension::
-var:breite:passend,breit,fest,*Dimension::
+var:breite:passend,breit,fest,lokal,*Dimension::
var:offset:kein,overlay,default,*Dimension::
var:platz:tief,tiefe,haengend::
var:option:kein,leer::
-var:strut:ja,nein::
+var:strut:ja,nein,global,lokal::
var:ausrichtung:nein,links,rechts,mittig,normal,hoch,tief,hoti::
var:unten:*Befehl::
var:oben:*Befehl::
diff --git a/context/data/cont-en.tws b/context/data/cont-en.tws
index d48f8472e..c226d830b 100644
--- a/context/data/cont-en.tws
+++ b/context/data/cont-en.tws
@@ -706,11 +706,11 @@ startsetup
com:setupframed:
typ:vars/:
var:height:fit,broad,*dimension::
-var:width:fit,broad,fixed,*dimension::
+var:width:fit,broad,fixed,local,*dimension::
var:offset:none,overlay,default,*dimension::
var:location:low,depth,hanging::
var:option:none,empty::
-var:strut:yes,no::
+var:strut:yes,no,global,local::
var:align:no,left,right,middle,normal,high,low,lohi::
var:bottom:*command::
var:top:*command::
diff --git a/context/data/cont-it.tws b/context/data/cont-it.tws
index 8b97c9d8d..c2e8d4a2e 100644
--- a/context/data/cont-it.tws
+++ b/context/data/cont-it.tws
@@ -706,11 +706,11 @@ startsetup
com:impostaincorniciato:
typ:vars/:
var:altezza:adatta,ampio,*dimensione::
-var:ampiezza:adatta,ampio,fisso,*dimensione::
+var:ampiezza:adatta,ampio,fisso,locale,*dimensione::
var:offset:nessuno,sovrapponi,implicito,*dimensione::
var:luogo:basso,profondita,sospeso::
var:opzione:nessuno,vuoto::
-var:strut:si,no::
+var:strut:si,no,globale,locale::
var:allinea:no,sinistra,destra,centro,normale,alto,basso,pedap::
var:fondo:*comando::
var:cima:*comando::
diff --git a/context/data/cont-nl.tws b/context/data/cont-nl.tws
index bbb89e537..bcad26045 100644
--- a/context/data/cont-nl.tws
+++ b/context/data/cont-nl.tws
@@ -706,11 +706,11 @@ startsetup
com:stelomlijndin:
typ:vars/:
var:hoogte:passend,ruim,*maat::
-var:breedte:passend,ruim,vast,*maat::
+var:breedte:passend,ruim,vast,lokaal,*maat::
var:offset:geen,overlay,default,*maat::
var:plaats:laag,diepte,hangend::
var:optie:geen,leeg::
-var:strut:ja,nee::
+var:strut:ja,nee,globaal,lokaal::
var:uitlijnen:nee,links,rechts,midden,normaal,hoog,laag,laho::
var:onder:*commando::
var:boven:*commando::
diff --git a/context/data/cont-ro.tws b/context/data/cont-ro.tws
index e28483ec4..33ce9eeb7 100644
--- a/context/data/cont-ro.tws
+++ b/context/data/cont-ro.tws
@@ -706,11 +706,11 @@ startsetup
com:seteazainconjurat:
typ:vars/:
var:inaltime:ajustat,broad,*dimensiune::
-var:latime:ajustat,broad,fixat,*dimensiune::
+var:latime:ajustat,broad,fixat,local,*dimensiune::
var:offset:niciunul,overlay,implicit,*dimensiune::
var:locatie:jos,adancime,suspendat::
var:optiune:niciunul,gol::
-var:strut:da,nu::
+var:strut:da,nu,global,local::
var:aliniere:nu,stanga,dreapta,centru,normal,inalt,jos,lohi::
var:jos:*comanda::
var:sus:*comanda::
diff --git a/context/data/cont-xx-scite.properties b/context/data/cont-xx-scite.properties
index f3b22f5ec..395062b7a 100644
--- a/context/data/cont-xx-scite.properties
+++ b/context/data/cont-xx-scite.properties
@@ -94,8 +94,8 @@ keywordclass.macros.context.undocumented.common=\
showlayoutcomponents showgridsnapping showgridboxes \
startTEXpage stopTEXpage startMPpage stopMPpage \
bTABLE eTABLE bTR eTR bTD eTD bTH eTH setupTABLE \
- bTABLEhead eTABLEhead bTABLEfoot eTABLEfoot bTABLEbody eTABLEbody \
- NC NR VL HL AR SR FR MR LR
+ bTABLEhead eTABLEhead bTABLEnext eTABLEnext bTABLEfoot eTABLEfoot bTABLEbody eTABLEbody \
+ NC NR VL HL AR SR FR MR LR EQ
# dutch commands (nl)
diff --git a/context/data/context.properties b/context/data/context.properties
index 902a4a0a4..92d3501d3 100644
--- a/context/data/context.properties
+++ b/context/data/context.properties
@@ -65,22 +65,22 @@ if PLAT_GTK
name.context.gsview=gs
name.context.acrobat=acrobat
-name.context.concheck=concheck
-name.context.texexec=texexec --autopdf
-name.context.texshow=texshow
-name.context.texutil=texutil
+name.context.concheck=texmfstart concheck.rb
+name.context.texexec=texmfstart texexec.pl --autopdf
+name.context.texshow=texmfstart texshow.pl
+name.context.texutil=texmfstart texutil.pl
name.context.examplap=texmfstart --file=examplap.pdf --program=context --browser
name.context.showcase=texmfstart --file=showcase.pdf --program=context
name.example.xmlcheck=tidy -xml -errors
-name.example.examplez=examplez
+name.example.examplez=texmfstart examplez.rb
if PLAT_WIN
# name.context.exampler=start /min "Local Example Service" exampler.exe
- name.context.exampler=cmd /c start /min "Local Example Service" exampler.exe --continue
+ name.context.exampler=cmd /c start /min "Local Example Service" texmfstart exampler.rb --continue
if PLAT_GTK
- name.context.exampler=exampler --continue > /tmp/exampler.log &
+ name.context.exampler=texmfstart exampler.rb --continue > /tmp/exampler.log &
# Commands: help info, e:\websites\www.pragma-ade.com\showcase.pdf / todo: manuals
@@ -92,7 +92,7 @@ command.help.subsystem.$(file.patterns.context)=2
# Commands: tools menu extensions
-context.distribution.writable=0
+context.distribution.writable=1
# for the moment using subsystem 1 for perl jobs is better (otherwise dangling jobs)
@@ -132,7 +132,7 @@ command.name.0.$(file.patterns.example)=Check XML File
command.0.$(file.patterns.context)=$(name.context.concheck) $(FileNameExt)
command.0.$(file.patterns.metafun)=
-command.0.$(file.patterns.example)=tidy -xml -errors $(FileNameExt)
+command.0.$(file.patterns.example)=$(name.example.xmlcheck) $(FileNameExt)
# 1 : normal processing
@@ -198,54 +198,56 @@ command.name.4.$(file.patterns.example)=Show Documentation
# 5 : example framework applications
+command.5=$(name.context.examplap)
command.5.$(file.patterns.context)=$(name.context.examplap)
command.5.$(file.patterns.metafun)=$(name.context.examplap)
command.5.$(file.patterns.example)=$(name.context.examplap)
+command.name.5=Start Interfaces
command.name.5.$(file.patterns.context)=Start Interfaces
command.name.5.$(file.patterns.metafun)=Start Interfaces
command.name.5.$(file.patterns.example)=Start Interfaces
# 6 : console
+command.name.6=Start Console
command.name.6.$(file.patterns.context)=Start Console
command.name.6.$(file.patterns.metafun)=Start Console
command.name.6.$(file.patterns.example)=Start Console
+command.6=$(name.context.console)
command.6.$(file.patterns.context)=$(name.context.console)
command.6.$(file.patterns.metafun)=$(name.context.console)
command.6.$(file.patterns.example)=$(name.context.console)
# 7 : listings
+command.name.7=Generate Listing
command.name.7.$(file.patterns.context)=Generate Listing
command.name.7.$(file.patterns.metafun)=Generate Listing
command.name.7.$(file.patterns.example)=Generate Listing
+command.7=$(name.context.texexec) --pdf --list --result=$(FileName) $(FileNameExt)
command.7.$(file.patterns.context)=$(name.context.texexec) --pdf --list --result=$(FileName) $(FileNameExt)
command.7.$(file.patterns.metafun)=$(name.context.texexec) --pdf --list --result=$(FileName) $(FileNameExt)
command.7.$(file.patterns.example)=$(name.context.texexec) --pdf --list --result=$(FileName) $(FileNameExt)
+command.7.subsystem=1
command.7.subsystem.$(file.patterns.context)=1
command.7.subsystem.$(file.patterns.metafun)=1
command.7.subsystem.$(file.patterns.example)=1
# 8 : example framework service
-command.name.8.$(file.patterns.context)=
-command.name.8.$(file.patterns.metafun)=
-command.name.8.$(file.patterns.example)=
-command.8.$(file.patterns.context)=
-command.8.$(file.patterns.metafun)=
-command.8.$(file.patterns.example)=
+command.name.8=Example Service
+command.name.8.$(file.patterns.context)=Example Service
+command.name.8.$(file.patterns.metafun)=Example Service
+command.name.8.$(file.patterns.example)=Example Service
-if $(context.distribution.writable)
- command.name.8.$(file.patterns.context)=Example Service
- command.name.8.$(file.patterns.metafun)=Example Service
- command.name.8.$(file.patterns.example)=Example Service
- command.8.$(file.patterns.context)=$(name.context.exampler)
- command.8.$(file.patterns.metafun)=$(name.context.exampler)
- command.8.$(file.patterns.example)=$(name.context.exampler)
+command.8=$(name.context.exampler)
+command.8.$(file.patterns.context)=$(name.context.exampler)
+command.8.$(file.patterns.metafun)=$(name.context.exampler)
+command.8.$(file.patterns.example)=$(name.context.exampler)
# 9 : format generation
diff --git a/context/perltk/texshow.pl b/context/perltk/texshow.pl
deleted file mode 100644
index 0134b953d..000000000
--- a/context/perltk/texshow.pl
+++ /dev/null
@@ -1,92 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
-
-#D \module
-#D [ file=texshow.pl,
-#D version=1999.03.30,
-#D title=\TEXSHOW,
-#D subtitle=showing \CONTEXT\ commands,
-#D author=Hans Hagen,
-#D date=\currentdate,
-#D copyright={PRAGMA / Hans Hagen \& Ton Otten},
-#D suggestions={Tobias Burnus \& Taco Hoekwater}]
-#C
-#C This module is part of the \CONTEXT\ macro||package and is
-#C therefore copyrighted by \PRAGMA. See licen-en.pdf for
-#C details.
-
-#D We need to find the module path. We could have used:
-#D
-#D \starttypen
-#D use FindBin ;
-#D use lib $FindBin::Bin ;
-#D \stoptypen
-#D
-#D But because we're sort of depending on \WEBC\ anyway, the
-#D next few lines are more appropriate:
-
-BEGIN
- { $cont_pm_path = `kpsewhich --format="other text files" --progname=context cont_mis.pm` ;
- chomp($cont_pm_path) ;
- $cont_pm_path =~ s/cont_mis\.pm.*// }
-
-use lib $cont_pm_path ;
-
-#D Now we can load some modules:
-
-use Getopt::Long ;
-
-$Getopt::Long::passthrough = 1 ; # no error message
-$Getopt::Long::autoabbrev = 1 ; # partial switch accepted
-
-&GetOptions
- ( "help" => \$ShowHelp ,
- "interface" => \$Interface ) ;
-
-cont_mis::banner ('TeXShow 0.1 - ConTeXt', 'PRAGMA ADE 1999') ;
-
-if ($ShowHelp)
- { cont_mis::help ('--help', "print this help") ;
- cont_mis::help ('--interface', "primary interface") ;
- cont_mis::help ('string', "show info about command 'string'") ;
- cont_mis::help ('string lg', "show info about 'string' in language 'lg'") ;
- cont_mis::crlf () ;
- exit 0 }
-
-use cont_mis ;
-use cont_set ;
-
-use Tk ;
-
-#D This scripts is rather simple, because most of the action
-#D takes place in the module \type {cont_set.pm}.
-
-cont_mis::status ('searching for setup files') ;
-
-if (cont_set::setups_found)
- { cont_mis::status ('loading setups') ;
- cont_set::load_setups ;
- cont_mis::status ('preparing display') ;
- cont_set::show_setups ;
- $command = $ARGV[0] ;
- $interface = $ARGV[1] ;
- if ($interface)
- { $Interface = $interface }
- if ($Interface)
- { cont_set::set_setup_interface($Interface) ;
- cont_mis::message ('primary interface', $Interface) }
- if ($command)
- { cont_mis::message ('searching command', $command) ;
- cont_set::show_setup ($command) }
- else
- { cont_mis::warning ('no command specified') ;
- cont_set::set_setup_title('TeXShow : ConTeXt commands') }
- cont_mis::status ('entering main loop') ;
- #$mw -> bind ('<ctrl-q>', exit ) ;
- #$mw -> bind ('<esc>', exit ) ;
- MainLoop () }
-else
- { cont_mis::error ('no setup files found') }
-
-END { cont_mis::crlf ;
- cont_mis::status ('closing down') }
diff --git a/fonts/enc/context/cork-var-lm.enc b/fonts/enc/context/cork-var-lm.enc
new file mode 100644
index 000000000..e56a53e0e
--- /dev/null
+++ b/fonts/enc/context/cork-var-lm.enc
@@ -0,0 +1,262 @@
+% author: Hans Hagen
+%
+% This enc file defines ec (cork) encoded Latin Modern adapted for umlauts and other variations.
+
+/enccorkvarlm[
+/grave
+/acute
+/circumflex
+/tilde
+/vardieresis
+/hungarumlaut
+/ring
+/caron
+/breve
+/macron
+/dotaccent
+/cedilla
+/ogonek
+/quotesinglbase
+/guilsinglleft
+/guilsinglright
+/quotedblleft
+/quotedblright
+/quotedblbase
+/guillemotleft
+/guillemotright
+/endash
+/emdash
+/cwm
+/zeroinferior
+/dotlessi
+/dotlessj
+/ff
+/fi
+/fl
+/ffi
+/ffl
+/visualspace
+/exclam
+/quotedbl
+/numbersign
+/dollar
+/percent
+/ampersand
+/quoteright
+/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
+/asciicircum
+/underscore
+/quoteleft
+/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
+/asciitilde
+/hyphen
+/Abreve
+/Aogonek
+/Cacute
+/Ccaron
+/Dcaron
+/Ecaron
+/Eogonek
+/Gbreve
+/Lacute
+/Lcaron
+/Lslash
+/Nacute
+/Ncaron
+/Ng
+/Ohungarumlaut
+/Racute
+/Rcaron
+/Sacute
+/Scaron
+/Scedilla
+/Tcaron
+/Tcedilla
+/Uhungarumlaut
+/Uring
+/Yvardieresis
+/Zacute
+/Zcaron
+/Zdotaccent
+/IJ
+/Idotaccent
+/dbar
+/section
+/abreve
+/aogonek
+/cacute
+/ccaron
+/dcaron
+/ecaron
+/eogonek
+/gbreve
+/lacute
+/lcaron
+/lslash
+/nacute
+/ncaron
+/ng
+/ohungarumlaut
+/racute
+/rcaron
+/sacute
+/scaron
+/scedilla
+/tquoteright
+/tcedilla
+/uhungarumlaut
+/uring
+/yvardieresis
+/zacute
+/zcaron
+/zdotaccent
+/ij
+/exclamdown
+/questiondown
+/sterling
+/Agrave
+/Aacute
+/Acircumflex
+/Atilde
+/Avardieresis
+/Aring
+/AE
+/Ccedilla
+/Egrave
+/Eacute
+/Ecircumflex
+/Evardieresis
+/Igrave
+/Iacute
+/Icircumflex
+/Ivardieresis
+/Eth
+/Ntilde
+/Ograve
+/Oacute
+/Ocircumflex
+/Otilde
+/Ovardieresis
+/OE
+/Oslash
+/Ugrave
+/Uacute
+/Ucircumflex
+/Uvardieresis
+/Yacute
+/Thorn
+/Germandbls
+/agrave
+/aacute
+/acircumflex
+/atilde
+/avardieresis
+/aring
+/ae
+/ccedilla
+/egrave
+/eacute
+/ecircumflex
+/evardieresis
+/igrave
+/iacute
+/icircumflex
+/ivardieresis
+/eth
+/ntilde
+/ograve
+/oacute
+/ocircumflex
+/otilde
+/ovardieresis
+/oe
+/oslash
+/ugrave
+/uacute
+/ucircumflex
+/uvardieresis
+/yacute
+/thorn
+/germandbls
+] def \ No newline at end of file
diff --git a/fonts/enc/context/ec-var-lm.enc b/fonts/enc/context/ec-var-lm.enc
new file mode 100644
index 000000000..bc54a41d4
--- /dev/null
+++ b/fonts/enc/context/ec-var-lm.enc
@@ -0,0 +1,262 @@
+% author: Hans Hagen
+%
+% This enc file defines ec (cork) encoded Latin Modern adapted for umlauts and other variations.
+
+/encecvarlm[
+/grave
+/acute
+/circumflex
+/tilde
+/vardieresis
+/hungarumlaut
+/ring
+/caron
+/breve
+/macron
+/dotaccent
+/cedilla
+/ogonek
+/quotesinglbase
+/guilsinglleft
+/guilsinglright
+/quotedblleft
+/quotedblright
+/quotedblbase
+/guillemotleft
+/guillemotright
+/endash
+/emdash
+/cwm
+/zeroinferior
+/dotlessi
+/dotlessj
+/ff
+/fi
+/fl
+/ffi
+/ffl
+/visualspace
+/exclam
+/quotedbl
+/numbersign
+/dollar
+/percent
+/ampersand
+/quoteright
+/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
+/asciicircum
+/underscore
+/quoteleft
+/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
+/asciitilde
+/hyphen
+/Abreve
+/Aogonek
+/Cacute
+/Ccaron
+/Dcaron
+/Ecaron
+/Eogonek
+/Gbreve
+/Lacute
+/Lcaron
+/Lslash
+/Nacute
+/Ncaron
+/Ng
+/Ohungarumlaut
+/Racute
+/Rcaron
+/Sacute
+/Scaron
+/Scedilla
+/Tcaron
+/Tcedilla
+/Uhungarumlaut
+/Uring
+/Yvardieresis
+/Zacute
+/Zcaron
+/Zdotaccent
+/IJ
+/Idotaccent
+/dbar
+/section
+/abreve
+/aogonek
+/cacute
+/ccaron
+/dcaron
+/ecaron
+/eogonek
+/gbreve
+/lacute
+/lcaron
+/lslash
+/nacute
+/ncaron
+/ng
+/ohungarumlaut
+/racute
+/rcaron
+/sacute
+/scaron
+/scedilla
+/tquoteright
+/tcedilla
+/uhungarumlaut
+/uring
+/yvardieresis
+/zacute
+/zcaron
+/zdotaccent
+/ij
+/exclamdown
+/questiondown
+/sterling
+/Agrave
+/Aacute
+/Acircumflex
+/Atilde
+/Avardieresis
+/Aring
+/AE
+/Ccedilla
+/Egrave
+/Eacute
+/Ecircumflex
+/Evardieresis
+/Igrave
+/Iacute
+/Icircumflex
+/Ivardieresis
+/Eth
+/Ntilde
+/Ograve
+/Oacute
+/Ocircumflex
+/Otilde
+/Ovardieresis
+/OE
+/Oslash
+/Ugrave
+/Uacute
+/Ucircumflex
+/Uvardieresis
+/Yacute
+/Thorn
+/Germandbls
+/agrave
+/aacute
+/acircumflex
+/atilde
+/avardieresis
+/aring
+/ae
+/ccedilla
+/egrave
+/eacute
+/ecircumflex
+/evardieresis
+/igrave
+/iacute
+/icircumflex
+/ivardieresis
+/eth
+/ntilde
+/ograve
+/oacute
+/ocircumflex
+/otilde
+/ovardieresis
+/oe
+/oslash
+/ugrave
+/uacute
+/ucircumflex
+/uvardieresis
+/yacute
+/thorn
+/germandbls
+] def \ No newline at end of file
diff --git a/fonts/enc/context/texnansi-var-lm.enc b/fonts/enc/context/texnansi-var-lm.enc
new file mode 100644
index 000000000..8afba5633
--- /dev/null
+++ b/fonts/enc/context/texnansi-var-lm.enc
@@ -0,0 +1,262 @@
+% author: Hans Hagen
+%
+% This enc file defines texnansi encoded Latin Modern adapted for umlauts and other variations.
+
+/enctexnansivarlm[
+/.notdef
+/Euro
+/.notdef
+/.notdef
+/fraction
+/dotaccent
+/hungarumlaut
+/ogonek
+/fl
+/.notdef
+/cwm
+/ff
+/fi
+/.notdef
+/ffi
+/ffl
+/dotlessi
+/dotlessj
+/grave
+/acute
+/caron
+/breve
+/macron
+/ring
+/cedilla
+/germandbls
+/ae
+/oe
+/oslash
+/AE
+/OE
+/Oslash
+/space
+/exclam
+/quotedbl
+/numbersign
+/dollar
+/percent
+/ampersand
+/quoteright
+/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
+/circumflex
+/underscore
+/quoteleft
+/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
+/tilde
+/vardieresis
+/Lslash
+/quotesingle
+/quotesinglbase
+/florin
+/quotedblbase
+/ellipsis
+/dagger
+/daggerdbl
+/circumflex.dup
+/perthousand
+/Scaron
+/guilsinglleft
+/OE.dup
+/Zcaron
+/asciicircum
+/minus
+/lslash
+/quoteleft.dup
+/quoteright.dup
+/quotedblleft
+/quotedblright
+/bullet
+/endash
+/emdash
+/tilde.dup
+/vartrademark
+/scaron
+/guilsinglright
+/oe.dup
+/zcaron
+/asciitilde
+/Yvardieresis
+/nbspace
+/exclamdown
+/cent
+/sterling
+/currency
+/yen
+/brokenbar
+/section
+/dieresis.dup
+/varcopyright
+/ordfeminine
+/guillemotleft
+/logicalnot
+/sfthyphen
+/registered
+/macron.dup
+/degree
+/plusminus
+/twosuperior
+/threesuperior
+/acute.dup
+/mu
+/paragraph
+/periodcentered
+/cedilla.dup
+/onesuperior
+/ordmasculine
+/guillemotright
+/onequarter
+/onehalf
+/threequarters
+/questiondown
+/Agrave
+/Aacute
+/Acircumflex
+/Atilde
+/Avardieresis
+/Aring
+/AE.dup
+/Ccedilla
+/Egrave
+/Eacute
+/Ecircumflex
+/Evardieresis
+/Igrave
+/Iacute
+/Icircumflex
+/Ivardieresis
+/Eth
+/Ntilde
+/Ograve
+/Oacute
+/Ocircumflex
+/Otilde
+/Ovardieresis
+/multiply
+/Oslash.dup
+/Ugrave
+/Uacute
+/Ucircumflex
+/Uvardieresis
+/Yacute
+/Thorn
+/germandbls.dup
+/agrave
+/aacute
+/acircumflex
+/atilde
+/avardieresis
+/aring
+/ae.dup
+/ccedilla
+/egrave
+/eacute
+/ecircumflex
+/evardieresis
+/igrave
+/iacute
+/icircumflex
+/ivardieresis
+/eth
+/ntilde
+/ograve
+/oacute
+/ocircumflex
+/otilde
+/ovardieresis
+/divide
+/oslash.dup
+/ugrave
+/uacute
+/ucircumflex
+/uvardieresis
+/yacute
+/thorn
+/yvardieresis
+] def \ No newline at end of file
diff --git a/fonts/map/context/8r-base.map b/fonts/map/context/8r-base.map
new file mode 100644
index 000000000..87e8a9290
--- /dev/null
+++ b/fonts/map/context/8r-base.map
@@ -0,0 +1,135 @@
+% courier / urw
+
+ucrb8r <8r.enc <ucrb8a.pfb
+ucrbo8r <8r.enc <ucrbo8a.pfb
+ucrr8r <8r.enc <ucrr8a.pfb
+ucrro8r <8r.enc <ucrro8a.pfb
+
+% courier / adobe
+
+pcrb8r <8r.enc <ucrb8a.pfb
+pcrbo8r <8r.enc <ucrbo8a.pfb
+pcrr8r <8r.enc <ucrr8a.pfb
+pcrro8r <8r.enc <ucrro8a.pfb
+
+% helvetica / urw
+
+uhvb8r <8r.enc <uhvb8a.pfb
+uhvbo8r <8r.enc <uhvbo8a.pfb
+uhvr8r <8r.enc <uhvr8a.pfb
+uhvro8r <8r.enc <uhvro8a.pfb
+
+% helvetica / adobe
+
+phvb8r <8r.enc <uhvb8a.pfb
+phvbo8r <8r.enc <uhvbo8a.pfb
+phvr8r <8r.enc <uhvr8a.pfb
+phvro8r <8r.enc <uhvro8a.pfb
+
+% times / urw
+
+utmb8r <8r.enc <utmb8a.pfb
+utmbi8r <8r.enc <utmbi8a.pfb
+utmr8r <8r.enc <utmr8a.pfb
+utmri8r <8r.enc <utmri8a.pfb
+
+utmbo8r ".167 SlantFont" <8r.enc <utmb8a.pfb
+utmro8r ".167 SlantFont" <8r.enc <utmr8a.pfb
+
+% times / adobe
+
+ptmb8r <8r.enc <utmb8a.pfb
+ptmbi8r <8r.enc <utmbi8a.pfb
+ptmr8r <8r.enc <utmr8a.pfb
+ptmri8r <8r.enc <utmri8a.pfb
+
+ptmbo8r ".167 SlantFont" <8r.enc <utmb8a.pfb
+ptmro8r ".167 SlantFont" <8r.enc <utmr8a.pfb
+
+% palatino / urw
+
+uplb8r <8r.enc <uplb8a.pfb
+uplbi8r <8r.enc <uplbi8a.pfb
+uplr8r <8r.enc <uplr8a.pfb
+uplri8r <8r.enc <uplri8a.pfb
+
+uplbo8r ".167 SlantFont" <8r.enc <uplb8a.pfb
+uplro8r ".167 SlantFont" <8r.enc <uplr8a.pfb
+
+% palatino / adobe
+
+pplb8r <8r.enc <uplb8a.pfb
+pplbi8r <8r.enc <uplbi8a.pfb
+pplr8r <8r.enc <ulr8a.pfb
+pplri8r <8r.enc <upplri8a.pfb
+
+pplbo8r ".167 SlantFont" <8r.enc <uplb8a.pfb
+pplro8r ".167 SlantFont" <8r.enc <uplr8a.pfb
+
+% bookman / urw
+
+ubkd8r <8r.enc <ubkd8a.pfb
+ubkdi8r <8r.enc <ubkdi8a.pfb
+ubkl8r <8r.enc <ubkl8a.pfb
+ubkli8r <8r.enc <ubkli8a.pfb
+
+ubkdo8r ".167 SlantFont" <8r.enc <ubkd8a.pfb
+ubklo8r ".167 SlantFont" <8r.enc <ubkl8a.pfb
+
+% bookman / adobe
+
+pbkd8r <8r.enc <ubkd8a.pfb
+pbkdi8r <8r.enc <ubkdi8a.pfb
+pbkl8r <8r.enc <ubkl8a.pfb
+pbkli8r <8r.enc <ubkli8a.pfb
+
+pbkdo8r ".167 SlantFont" <8r.enc <ubkd8a.pfb
+pbklo8r ".167 SlantFont" <8r.enc <ubkl8a.pfb
+
+% chancery / urw
+
+uzcmi8r <8r.enc <uzcmi8a.pfb
+
+% chancery / adobe
+
+pzcmi8r <8r.enc <uzcmi8a.pfb
+
+% schoolbook / urw
+
+uncb8r <8r.enc <uncb8a.pfb
+uncbi8r <8r.enc <uncbi8a.pfb
+uncr8r <8r.enc <uncr8a.pfb
+uncri8r <8r.enc <uncri8a.pfb
+
+uncbo8r ".167 SlantFont" <8r.enc <uncb8a.pfb
+uncro8r ".167 SlantFont" <8r.enc <uncr8a.pfb
+
+% schoolbook / adobe
+
+pncb8r <8r.enc <uncb8a.pfb
+pncbi8r <8r.enc <uncbi8a.pfb
+pncr8r <8r.enc <uncr8a.pfb
+pncri8r <8r.enc <uncri8a.pfb
+
+pncbo8r ".167 SlantFont" <8r.enc <uncb8a.pfb
+pncro8r ".167 SlantFont" <8r.enc <uncr8a.pfb
+
+% utopia
+
+putb8r <8r.enc <putb8a.pfb
+putbi8r <8r.enc <putbi8a.pfb
+putr8r <8r.enc <putr8a.pfb
+putri8r <8r.enc <putri8a.pfb
+
+putbo8r ".167 SlantFont" <8r.enc <putb8a.pfb
+putro8r ".167 SlantFont" <8r.enc <putr8a.pfb
+
+% charter
+
+bchb8r <8r.enc <bchb8a.pfb
+bchbi8r <8r.enc <bchbi8a.pfb
+bchbo8r <8r.enc <bchb8a.pfb
+bchr8r <8r.enc <bchr8a.pfb
+bchri8r <8r.enc <bchri8a.pfb
+
+bchro8r ".167 SlantFont" <8r.enc <bchr8a.pfb \ No newline at end of file
diff --git a/fonts/map/context/context-base.map b/fonts/map/context/context-base.map
new file mode 100644
index 000000000..e97011f04
--- /dev/null
+++ b/fonts/map/context/context-base.map
@@ -0,0 +1,848 @@
+% latex + extras
+
+lasy10 <lasy10.pfb
+lasy5 <lasy5.pfb
+lasy6 <lasy6.pfb
+lasy7 <lasy7.pfb
+lasy8 <lasy8.pfb
+lasy9 <lasy9.pfb
+lasyb10 <lasyb10.pfb
+lcircle10 <lcircle1.pfb
+lcirclew10 <lcirclew.pfb
+lcmss8 <lcmss8.pfb
+lcmssb8 <lcmssb8.pfb
+lcmssi8 <lcmssi8.pfb
+line10 <line10.pfb
+linew10 <linew10.pfb
+
+% logo
+
+logo10 <logo10.pfb
+logo8 <logo8.pfb
+logo9 <logo9.pfb
+logobf10 <logobf10.pfb
+logod10 <logod10.pfb
+logosl10 <logosl10.pfb
+logosl8 <logosl8.pfb
+logosl9 <logosl9.pfb
+
+% dunno
+
+lscyb <lscyb.pfb
+lscybo <lscybo.pfb
+lscyo <lscyo.pfb
+lscyr <lscyr.pfb
+lstcyb <lstcyb.pfb
+lstcybo <lstcybo.pfb
+lstcyo <lstcyo.pfb
+lstcyr <lstcyr.pfb
+
+% ralph
+
+rsfs10 <rsfs10.pfb
+rsfs7 <rsfs7.pfb
+rsfs5 <rsfs5.pfb
+
+% marvosym
+
+fmvr8x <marvosym.pfb
+
+fmvri8x ".167 SlantFont" <marvosym.pfb
+
+% context
+
+contnav <contnav.pfb
+
+% dingbats
+
+uzdr <uzdr.pfb
+pzdr <pzdr.pfb
+
+% symbols
+
+usyr <usyr.pfb
+
+% xypic
+
+xyatip10 <xyatip10.pfb
+xybsql10 <xybsql10.pfb
+xybtip10 <xybtip10.pfb
+xycirc10 <xycirc10.pfb
+xycmat10 <xycmat10.pfb
+xycmbt10 <xycmbt10.pfb
+xydash10 <xydash10.pfb
+xyeuat10 <xyeuat10.pfb
+xyeubt10 <xyeubt10.pfb
+
+xycmat11 "1.1 ExtendFont" <xycmat10.pfb
+xycmbt11 "1.1 ExtendFont" <xycmbt10.pfb
+xyeuat11 "1.1 ExtendFont" <xyeuat10.pfb
+xyeubt11 "1.1 ExtendFont" <xyeubt10.pfb
+
+xycmat12 "1.2 ExtendFont" <xycmat10.pfb
+xycmbt12 "1.2 ExtendFont" <xycmbt10.pfb
+xyeuat12 "1.2 ExtendFont" <xyeuat10.pfb
+xyeubt12 "1.2 ExtendFont" <xyeubt10.pfb
+
+% euro
+
+zpeub <zpeub.pfb
+zpeubi <zpeubi.pfb
+zpeubis <zpeubis.pfb
+zpeubit <zpeubit.pfb
+zpeubs <zpeubs.pfb
+zpeubt <zpeubt.pfb
+zpeur <zpeur.pfb
+zpeuri <zpeuri.pfb
+zpeuris <zpeuris.pfb
+zpeurit <zpeurit.pfb
+zpeurs <zpeurs.pfb
+zpeurt <zpeurt.pfb% courier / urw
+
+ucrb8t <ec.enc <ucrb8a.pfb
+ucrbo8t <ec.enc <ucrbo8a.pfb
+ucrr8t <ec.enc <ucrr8a.pfb
+ucrro8t <ec.enc <ucrro8a.pfb
+
+% courier / adobe
+
+pcrb8t <ec.enc <ucrb8a.pfb
+pcrbo8t <ec.enc <ucrbo8a.pfb
+pcrr8t <ec.enc <ucrr8a.pfb
+pcrro8t <ec.enc <ucrro8a.pfb
+
+% helvetica / urw
+
+uhvb8t <ec.enc <uhvb8a.pfb
+uhvbo8t <ec.enc <uhvbo8a.pfb
+uhvr8t <ec.enc <uhvr8a.pfb
+uhvro8t <ec.enc <uhvro8a.pfb
+
+% helvetica / adobe
+
+phvb8t <ec.enc <uhvb8a.pfb
+phvbo8t <ec.enc <uhvbo8a.pfb
+phvr8t <ec.enc <uhvr8a.pfb
+phvro8t <ec.enc <uhvro8a.pfb
+
+% times / urw
+
+utmb8t <ec.enc <utmb8a.pfb
+utmbi8t <ec.enc <utmbi8a.pfb
+utmr8t <ec.enc <utmr8a.pfb
+utmri8t <ec.enc <utmri8a.pfb
+
+utmbo8t ".167 SlantFont" <ec.enc <utmb8a.pfb
+utmro8t ".167 SlantFont" <ec.enc <utmr8a.pfb
+
+% times / adobe
+
+ptmb8t <ec.enc <utmb8a.pfb
+ptmbi8t <ec.enc <utmbi8a.pfb
+ptmr8t <ec.enc <utmr8a.pfb
+ptmri8t <ec.enc <utmri8a.pfb
+
+ptmbo8t ".167 SlantFont" <ec.enc <utmb8a.pfb
+ptmro8t ".167 SlantFont" <ec.enc <utmr8a.pfb
+
+% palatino / urw
+
+uplb8t <ec.enc <uplb8a.pfb
+uplbi8t <ec.enc <uplbi8a.pfb
+uplr8t <ec.enc <uplr8a.pfb
+uplri8t <ec.enc <uplri8a.pfb
+
+uplbo8t ".167 SlantFont" <ec.enc <uplb8a.pfb
+uplro8t ".167 SlantFont" <ec.enc <uplr8a.pfb
+
+% palatino / adobe
+
+pplb8t <ec.enc <uplb8a.pfb
+pplbi8t <ec.enc <uplbi8a.pfb
+pplr8t <ec.enc <uplr8a.pfb
+pplri8t <ec.enc <uplri8a.pfb
+
+pplbo8t ".167 SlantFont" <ec.enc <uplb8a.pfb
+pplro8t ".167 SlantFont" <ec.enc <upplr8a.pfb
+
+% bookman / urw
+
+ubkd8t <ec.enc <ubkd8a.pfb
+ubkdi8t <ec.enc <ubkdi8a.pfb
+ubkl8t <ec.enc <ubkl8a.pfb
+ubkli8t <ec.enc <ubkli8a.pfb
+
+ubkdo8t ".167 SlantFont" <ec.enc <ubkd8a.pfb
+ubklo8t ".167 SlantFont" <ec.enc <ubkl8a.pfb
+
+% bookman / adobe
+
+pbkd8t <ec.enc <ubkd8a.pfb
+pbkdi8t <ec.enc <ubkdi8a.pfb
+pbkl8t <ec.enc <ubkl8a.pfb
+pbkli8t <ec.enc <ubkli8a.pfb
+
+pbkdo8t ".167 SlantFont" <ec.enc <ubkd8a.pfb
+pbklo8t ".167 SlantFont" <ec.enc <ubkl8a.pfb
+
+% chancery / urw
+
+uzcmi8t <ec.enc <uzcmi8a.pfb
+
+% chancery / adobe
+
+pzcmi8t <ec.enc <uzcmi8a.pfb
+
+% schoolbook / urw
+
+uncb8t <ec.enc <uncb8a.pfb
+uncbi8t <ec.enc <uncbi8a.pfb
+uncr8t <ec.enc <uncr8a.pfb
+uncri8t <ec.enc <uncri8a.pfb
+
+uncbo8t ".167 SlantFont" <ec.enc <uncb8a.pfb
+uncro8t ".167 SlantFont" <ec.enc <uncr8a.pfb
+
+% schoolbook / adobe
+
+pncb8t <ec.enc <uncb8a.pfb
+pncbi8t <ec.enc <uncbi8a.pfb
+pncr8t <ec.enc <uncr8a.pfb
+pncri8t <ec.enc <uncri8a.pfb
+
+pncbo8t ".167 SlantFont" <ec.enc <uncb8a.pfb
+pncro8t ".167 SlantFont" <ec.enc <uncr8a.pfb
+
+% utopia
+
+putb8t <ec.enc <putb8a.pfb
+putbi8t <ec.enc <putbi8a.pfb
+putr8t <ec.enc <putr8a.pfb
+putri8t <ec.enc <putri8a.pfb
+
+putbo8t ".167 SlantFont" <ec.enc <putb8a.pfb
+putro8t ".167 SlantFont" <ec.enc <putr8a.pfb
+
+% charter
+
+bchb8t <ec.enc <bchb8a.pfb
+bchbi8t <ec.enc <bchbi8a.pfb
+bchbo8t <ec.enc <bchb8a.pfb
+bchr8t <ec.enc <bchr8a.pfb
+bchri8t <ec.enc <bchri8a.pfb
+
+bchro8t ".167 SlantFont" <ec.enc <bchr8a.pfb% courier / urw
+
+ucrb8r <8r.enc <ucrb8a.pfb
+ucrbo8r <8r.enc <ucrbo8a.pfb
+ucrr8r <8r.enc <ucrr8a.pfb
+ucrro8r <8r.enc <ucrro8a.pfb
+
+% courier / adobe
+
+pcrb8r <8r.enc <ucrb8a.pfb
+pcrbo8r <8r.enc <ucrbo8a.pfb
+pcrr8r <8r.enc <ucrr8a.pfb
+pcrro8r <8r.enc <ucrro8a.pfb
+
+% helvetica / urw
+
+uhvb8r <8r.enc <uhvb8a.pfb
+uhvbo8r <8r.enc <uhvbo8a.pfb
+uhvr8r <8r.enc <uhvr8a.pfb
+uhvro8r <8r.enc <uhvro8a.pfb
+
+% helvetica / adobe
+
+phvb8r <8r.enc <uhvb8a.pfb
+phvbo8r <8r.enc <uhvbo8a.pfb
+phvr8r <8r.enc <uhvr8a.pfb
+phvro8r <8r.enc <uhvro8a.pfb
+
+% times / urw
+
+utmb8r <8r.enc <utmb8a.pfb
+utmbi8r <8r.enc <utmbi8a.pfb
+utmr8r <8r.enc <utmr8a.pfb
+utmri8r <8r.enc <utmri8a.pfb
+
+utmbo8r ".167 SlantFont" <8r.enc <utmb8a.pfb
+utmro8r ".167 SlantFont" <8r.enc <utmr8a.pfb
+
+% times / adobe
+
+ptmb8r <8r.enc <utmb8a.pfb
+ptmbi8r <8r.enc <utmbi8a.pfb
+ptmr8r <8r.enc <utmr8a.pfb
+ptmri8r <8r.enc <utmri8a.pfb
+
+ptmbo8r ".167 SlantFont" <8r.enc <utmb8a.pfb
+ptmro8r ".167 SlantFont" <8r.enc <utmr8a.pfb
+
+% palatino / urw
+
+uplb8r <8r.enc <uplb8a.pfb
+uplbi8r <8r.enc <uplbi8a.pfb
+uplr8r <8r.enc <uplr8a.pfb
+uplri8r <8r.enc <uplri8a.pfb
+
+uplbo8r ".167 SlantFont" <8r.enc <uplb8a.pfb
+uplro8r ".167 SlantFont" <8r.enc <uplr8a.pfb
+
+% palatino / adobe
+
+pplb8r <8r.enc <uplb8a.pfb
+pplbi8r <8r.enc <uplbi8a.pfb
+pplr8r <8r.enc <ulr8a.pfb
+pplri8r <8r.enc <upplri8a.pfb
+
+pplbo8r ".167 SlantFont" <8r.enc <uplb8a.pfb
+pplro8r ".167 SlantFont" <8r.enc <uplr8a.pfb
+
+% bookman / urw
+
+ubkd8r <8r.enc <ubkd8a.pfb
+ubkdi8r <8r.enc <ubkdi8a.pfb
+ubkl8r <8r.enc <ubkl8a.pfb
+ubkli8r <8r.enc <ubkli8a.pfb
+
+ubkdo8r ".167 SlantFont" <8r.enc <ubkd8a.pfb
+ubklo8r ".167 SlantFont" <8r.enc <ubkl8a.pfb
+
+% bookman / adobe
+
+pbkd8r <8r.enc <ubkd8a.pfb
+pbkdi8r <8r.enc <ubkdi8a.pfb
+pbkl8r <8r.enc <ubkl8a.pfb
+pbkli8r <8r.enc <ubkli8a.pfb
+
+pbkdo8r ".167 SlantFont" <8r.enc <ubkd8a.pfb
+pbklo8r ".167 SlantFont" <8r.enc <ubkl8a.pfb
+
+% chancery / urw
+
+uzcmi8r <8r.enc <uzcmi8a.pfb
+
+% chancery / adobe
+
+pzcmi8r <8r.enc <uzcmi8a.pfb
+
+% schoolbook / urw
+
+uncb8r <8r.enc <uncb8a.pfb
+uncbi8r <8r.enc <uncbi8a.pfb
+uncr8r <8r.enc <uncr8a.pfb
+uncri8r <8r.enc <uncri8a.pfb
+
+uncbo8r ".167 SlantFont" <8r.enc <uncb8a.pfb
+uncro8r ".167 SlantFont" <8r.enc <uncr8a.pfb
+
+% schoolbook / adobe
+
+pncb8r <8r.enc <uncb8a.pfb
+pncbi8r <8r.enc <uncbi8a.pfb
+pncr8r <8r.enc <uncr8a.pfb
+pncri8r <8r.enc <uncri8a.pfb
+
+pncbo8r ".167 SlantFont" <8r.enc <uncb8a.pfb
+pncro8r ".167 SlantFont" <8r.enc <uncr8a.pfb
+
+% utopia
+
+putb8r <8r.enc <putb8a.pfb
+putbi8r <8r.enc <putbi8a.pfb
+putr8r <8r.enc <putr8a.pfb
+putri8r <8r.enc <putri8a.pfb
+
+putbo8r ".167 SlantFont" <8r.enc <putb8a.pfb
+putro8r ".167 SlantFont" <8r.enc <putr8a.pfb
+
+% charter
+
+bchb8r <8r.enc <bchb8a.pfb
+bchbi8r <8r.enc <bchbi8a.pfb
+bchbo8r <8r.enc <bchb8a.pfb
+bchr8r <8r.enc <bchr8a.pfb
+bchri8r <8r.enc <bchri8a.pfb
+
+bchro8r ".167 SlantFont" <8r.enc <bchr8a.pfb% courier / urw
+
+ucrb8y <texnansi.enc <ucrb8a.pfb
+ucrbo8y <texnansi.enc <ucrbo8a.pfb
+ucrr8y <texnansi.enc <ucrr8a.pfb
+ucrro8y <texnansi.enc <ucrro8a.pfb
+
+% courier / adobe
+
+pcrb8y <texnansi.enc <ucrb8a.pfb
+pcrbo8y <texnansi.enc <ucrbo8a.pfb
+pcrr8y <texnansi.enc <ucrr8a.pfb
+pcrro8y <texnansi.enc <ucrro8a.pfb
+
+% helvetica / urw
+
+uhvb8y <texnansi.enc <uhvb8a.pfb
+uhvbo8y <texnansi.enc <uhvbo8a.pfb
+uhvr8y <texnansi.enc <uhvr8a.pfb
+uhvro8y <texnansi.enc <uhvro8a.pfb
+
+% helvetica / adobe
+
+phvb8y <texnansi.enc <uhvb8a.pfb
+phvbo8y <texnansi.enc <uhvbo8a.pfb
+phvr8y <texnansi.enc <uhvr8a.pfb
+phvro8y <texnansi.enc <uhvro8a.pfb
+
+% times / urw
+
+utmb8y <texnansi.enc <utmb8a.pfb
+utmbi8y <texnansi.enc <utmbi8a.pfb
+utmr8y <texnansi.enc <utmr8a.pfb
+utmri8y <texnansi.enc <utmri8a.pfb
+
+utmbo8y ".167 SlantFont" <texnansi.enc <utmb8a.pfb
+utmro8y ".167 SlantFont" <texnansi.enc <utmr8a.pfb
+
+% times / adobe
+
+ptmb8y <texnansi.enc <utmb8a.pfb
+ptmbi8y <texnansi.enc <utmbi8a.pfb
+ptmr8y <texnansi.enc <utmr8a.pfb
+ptmri8y <texnansi.enc <utmri8a.pfb
+
+ptmbo8y ".167 SlantFont" <texnansi.enc <utmb8a.pfb
+ptmro8y ".167 SlantFont" <texnansi.enc <utmr8a.pfb
+
+% palatino / urw
+
+uplb8y <texnansi.enc <uplb8a.pfb
+uplbi8y <texnansi.enc <uplbi8a.pfb
+uplr8y <texnansi.enc <uplr8a.pfb
+uplri8y <texnansi.enc <uplri8a.pfb
+
+uplbo8y ".167 SlantFont" <texnansi.enc <uplb8a.pfb
+uplro8y ".167 SlantFont" <texnansi.enc <uplr8a.pfb
+
+% palatino / adobe
+
+pplb8y <texnansi.enc <uplb8a.pfb
+pplbi8y <texnansi.enc <uplbi8a.pfb
+pplr8y <texnansi.enc <uplr8a.pfb
+pplri8y <texnansi.enc <uplri8a.pfb
+
+pplbo8y ".167 SlantFont" <texnansi.enc <uplb8a.pfb
+pplro8y ".167 SlantFont" <texnansi.enc <uplr8a.pfb
+
+% bookman / urw
+
+ubkd8y <texnansi.enc <ubkd8a.pfb
+ubkdi8y <texnansi.enc <ubkdi8a.pfb
+ubkl8y <texnansi.enc <ubkl8a.pfb
+ubkli8y <texnansi.enc <ubkli8a.pfb
+
+ubkdo8y ".167 SlantFont" <texnansi.enc <ubkd8a.pfb
+ubklo8y ".167 SlantFont" <texnansi.enc <ubkl8a.pfb
+
+% bookman / adobe
+
+pbkd8y <texnansi.enc <ubkd8a.pfb
+pbkdi8y <texnansi.enc <ubkdi8a.pfb
+pbkl8y <texnansi.enc <ubkl8a.pfb
+pbkli8y <texnansi.enc <ubkli8a.pfb
+
+pbkdo8y ".167 SlantFont" <texnansi.enc <ubkd8a.pfb
+pbklo8y ".167 SlantFont" <texnansi.enc <ubkl8a.pfb
+
+% chancery / urw
+
+uzcmi8y <texnansi.enc <uzcmi8a.pfb
+
+% chancery / adobe
+
+pzcmi8y <texnansi.enc <uzcmi8a.pfb
+
+% schoolbook / urw
+
+uncb8y <texnansi.enc <uncb8a.pfb
+uncbi8y <texnansi.enc <uncbi8a.pfb
+uncr8y <texnansi.enc <uncr8a.pfb
+uncri8y <texnansi.enc <uncri8a.pfb
+
+uncbo8y ".167 SlantFont" <texnansi.enc <uncb8a.pfb
+uncro8y ".167 SlantFont" <texnansi.enc <uncr8a.pfb
+
+% schoolbook / adobe
+
+pncb8y <texnansi.enc <uncb8a.pfb
+pncbi8y <texnansi.enc <uncbi8a.pfb
+pncr8y <texnansi.enc <uncr8a.pfb
+pncri8y <texnansi.enc <uncri8a.pfb
+
+pncbo8y ".167 SlantFont" <texnansi.enc <uncb8a.pfb
+pncro8y ".167 SlantFont" <texnansi.enc <uncr8a.pfb
+
+% utopia
+
+putb8y <texnansi.enc <putb8a.pfb
+putbi8y <texnansi.enc <putbi8a.pfb
+putr8y <texnansi.enc <putr8a.pfb
+putri8y <texnansi.enc <putri8a.pfb
+
+putbo8y ".167 SlantFont" <texnansi.enc <putb8a.pfb
+putro8y ".167 SlantFont" <texnansi.enc <putr8a.pfb
+
+% charter
+
+bchb8y <texnansi.enc <bchb8a.pfb
+bchbi8y <texnansi.enc <bchbi8a.pfb
+bchbo8y <texnansi.enc <bchb8a.pfb
+bchr8y <texnansi.enc <bchr8a.pfb
+bchri8y <texnansi.enc <bchri8a.pfb
+
+bchro8y ".167 SlantFont" <texnansi.enc <bchr8a.pfb
+
+% cmr
+
+cmb10 <cmb10.pfb
+cmbsy10 <cmbsy10.pfb
+cmbsy6 <cmbsy6.pfb
+cmbsy7 <cmbsy7.pfb
+cmbsy8 <cmbsy8.pfb
+cmbsy9 <cmbsy9.pfb
+cmbx10 <cmbx10.pfb
+cmbx12 <cmbx12.pfb
+cmbx5 <cmbx5.pfb
+cmbx6 <cmbx6.pfb
+cmbx7 <cmbx7.pfb
+cmbx8 <cmbx8.pfb
+cmbx9 <cmbx9.pfb
+cmbxsl10 <cmbxsl10.pfb
+cmbxti10 <cmbxti10.pfb
+cmcsc10 <cmcsc10.pfb
+cmdunh10 <cmdunh10.pfb
+cmex10 <cmex10.pfb
+cmff10 <cmff10.pfb
+cmfi10 <cmfi10.pfb
+cmfib8 <cmfib8.pfb
+cminch <cminch.pfb
+cmitt10 <cmitt10.pfb
+cmmi10 <cmmi10.pfb
+cmmi12 <cmmi12.pfb
+cmmi5 <cmmi5.pfb
+cmmi6 <cmmi6.pfb
+cmmi7 <cmmi7.pfb
+cmmi8 <cmmi8.pfb
+cmmi9 <cmmi9.pfb
+cmmib10 <cmmib10.pfb
+cmr10 <cmr10.pfb
+cmr12 <cmr12.pfb
+cmr17 <cmr17.pfb
+cmr5 <cmr5.pfb
+cmr6 <cmr6.pfb
+cmr7 <cmr7.pfb
+cmr8 <cmr8.pfb
+cmr9 <cmr9.pfb
+cmsl10 <cmsl10.pfb
+cmsl12 <cmsl12.pfb
+cmsl8 <cmsl8.pfb
+cmsl9 <cmsl9.pfb
+cmsltt10 <cmsltt10.pfb
+cmss10 <cmss10.pfb
+cmss12 <cmss12.pfb
+cmss17 <cmss17.pfb
+cmss8 <cmss8.pfb
+cmss9 <cmss9.pfb
+cmssbx10 <cmssbx10.pfb
+cmssdc10 <cmssdc10.pfb
+cmssi10 <cmssi10.pfb
+cmssi12 <cmssi12.pfb
+cmssi17 <cmssi17.pfb
+cmssi8 <cmssi8.pfb
+cmssi9 <cmssi9.pfb
+cmssq8 <cmssq8.pfb
+cmssqi8 <cmssqi8.pfb
+cmsy10 <cmsy10.pfb
+cmsy5 <cmsy5.pfb
+cmsy6 <cmsy6.pfb
+cmsy7 <cmsy7.pfb
+cmsy8 <cmsy8.pfb
+cmsy9 <cmsy9.pfb
+cmtcsc10 <cmtcsc10.pfb
+cmtex10 <cmtex10.pfb
+cmtex8 <cmtex8.pfb
+cmtex9 <cmtex9.pfb
+cmti10 <cmti10.pfb
+cmti12 <cmti12.pfb
+cmti7 <cmti7.pfb
+cmti8 <cmti8.pfb
+cmti9 <cmti9.pfb
+cmtt10 <cmtt10.pfb
+cmtt12 <cmtt12.pfb
+cmtt8 <cmtt8.pfb
+cmtt9 <cmtt9.pfb
+cmu10 <cmu10.pfb
+cmvtt10 <cmvtt10.pfb
+
+% ams etc
+
+icmex10 <icmex10.pfb
+icmmi8 <icmmi8.pfb
+icmsy8 <icmsy8.pfb
+icmtt8 <icmtt8.pfb
+ilasy8 <ilasy8.pfb
+ilcmss8 <ilcmss8.pfb
+ilcmssb8 <ilcmssb8.pfb
+ilcmssi8 <ilcmssi8.pfb
+lasy10 <lasy10.pfb
+lasy5 <lasy5.pfb
+lasy6 <lasy6.pfb
+lasy7 <lasy7.pfb
+lasy8 <lasy8.pfb
+lasy9 <lasy9.pfb
+lasyb10 <lasyb10.pfb
+lcircle10 <lcircle1.pfb
+lcirclew10 <lcirclew.pfb
+lcmss8 <lcmss8.pfb
+lcmssb8 <lcmssb8.pfb
+lcmssi8 <lcmssi8.pfb
+line10 <line10.pfb
+linew10 <linew10.pfb
+
+logo10 <logo10.pfb
+logo8 <logo8.pfb
+logo9 <logo9.pfb
+logobf10 <logobf10.pfb
+logosl10 <logosl10.pfb
+
+msam10 <msam10.pfb
+msam5 <msam5.pfb
+msam7 <msam7.pfb
+msbm10 <msbm10.pfb
+msbm5 <msbm5.pfb
+msbm7 <msbm7.pfb
+
+wncyb10 <wncyb10.pfb
+wncyi10 <wncyi10.pfb
+wncyr10 <wncyr10.pfb
+wncysc10 <wncysc10.pfb
+wncyss10 <wncyss10.pfb
+
+manfnt <manfnt.pfb
+
+% euler
+
+euex10 <euex10.pfb
+eufb10 <eufb10.pfb
+eufb5 <eufb5.pfb
+eufb7 <eufb7.pfb
+eufm10 <eufm10.pfb
+eufm5 <eufm5.pfb
+eufm7 <eufm7.pfb
+eurb10 <eurb10.pfb
+eurb5 <eurb5.pfb
+eurb7 <eurb7.pfb
+eurm10 <eurm10.pfb
+eurm5 <eurm5.pfb
+eurm7 <eurm7.pfb
+eusb10 <eusb10.pfb
+eusb5 <eusb5.pfb
+eusb7 <eusb7.pfb
+eusm10 <eusm10.pfb
+eusm5 <eusm5.pfb
+eusm7 <eusm7.pfb
+
+% latin modern
+
+lmb10 <lmb10.pfb
+lmbsl10 <lmbsl10.pfb
+lmbx10 <lmbx10.pfb
+lmbx12 <lmbx12.pfb
+lmbx5 <lmbx5.pfb
+lmbx6 <lmbx6.pfb
+lmbx7 <lmbx7.pfb
+lmbx8 <lmbx8.pfb
+lmbx9 <lmbx9.pfb
+lmbxsl10 <lmbxsl10.pfb
+lmbxti10 <lmbxti10.pfb
+lmcsc10 <lmcsc10.pfb
+lmitt10 <lmitt10.pfb
+lmr10 <lmr10.pfb
+lmr12 <lmr12.pfb
+lmr17 <lmr17.pfb
+lmr5 <lmr5.pfb
+lmr6 <lmr6.pfb
+lmr7 <lmr7.pfb
+lmr8 <lmr8.pfb
+lmr9 <lmr9.pfb
+lmsl10 <lmsl10.pfb
+lmsl12 <lmsl12.pfb
+lmsl8 <lmsl8.pfb
+lmsl9 <lmsl9.pfb
+lmsltt10 <lmsltt10.pfb
+lmss10 <lmss10.pfb
+lmss12 <lmss12.pfb
+lmss17 <lmss17.pfb
+lmss8 <lmss8.pfb
+lmss9 <lmss9.pfb
+lmssbi10 <lmssbi10.pfb
+lmssbx10 <lmssbx10.pfb
+lmssdc10 <lmssdc10.pfb
+lmssdi10 <lmssdi10.pfb
+lmssi10 <lmssi10.pfb
+lmssi12 <lmssi12.pfb
+lmssi17 <lmssi17.pfb
+lmssi8 <lmssi8.pfb
+lmssi9 <lmssi9.pfb
+lmssq8 <lmssq8.pfb
+lmssqb8 <lmssqb8.pfb
+lmssqbi8 <lmssqbi8.pfb
+lmssqi8 <lmssqi8.pfb
+lmtcsc10 <lmtcsc10.pfb
+lmti10 <lmti10.pfb
+lmti12 <lmti12.pfb
+lmti7 <lmti7.pfb
+lmti8 <lmti8.pfb
+lmti9 <lmti9.pfb
+lmtt10 <lmtt10.pfb
+lmtt12 <lmtt12.pfb
+lmtt8 <lmtt8.pfb
+lmtt9 <lmtt9.pfb
+
+% czech modern
+
+csr10 <csr.enc <csr10.pfb
+csr12 <csr.enc <csr12.pfb
+csr17 <csr.enc <csr17.pfb
+csr9 <csr.enc <csr9.pfb
+csr8 <csr.enc <csr8.pfb
+csr7 <csr.enc <csr7.pfb
+csr6 <csr.enc <csr6.pfb
+csr5 <csr1.enc <csr5.pfb
+csbx10 <csr.enc <csbx10.pfb
+csbx12 <csr.enc <csbx12.pfb
+csbx9 <csr.enc <csbx9.pfb
+csbx8 <csr.enc <csbx8.pfb
+csbx7 <csr.enc <csbx7.pfb
+csbx6 <csr.enc <csbx6.pfb
+csbx5 <csr.enc <csbx5.pfb
+csb10 <csr.enc <csb10.pfb
+csti10 <csr.enc <csti10.pfb
+csti12 <csr.enc <csti12.pfb
+csti9 <csr.enc <csti9.pfb
+csti8 <csr.enc <csti8.pfb
+csti7 <csr.enc <csti7.pfb
+cstt10 <cstt.enc <cstt10.pfb
+cstt12 <cstt.enc <cstt12.pfb
+cstt9 <cstt.enc <cstt9.pfb
+cstt8 <cstt.enc <cstt8.pfb
+cssltt10 <cstt.enc <cssltt10.pfb
+csvtt10 <cstt.enc <csvtt10.pfb
+csss10 <csr.enc <csss10.pfb
+csss12 <csr.enc <csss12.pfb
+csss17 <csr.enc <csss17.pfb
+csss9 <csr.enc <csss9.pfb
+csss8 <csr.enc <csss8.pfb
+csssi10 <csr.enc <csssi10.pfb
+csssi12 <csr.enc <csssi12.pfb
+csssi17 <csr.enc <csssi17.pfb
+csssi9 <csr.enc <csssi9.pfb
+csssi8 <csr.enc <csssi8.pfb
+cssl10 <csr.enc <cssl10.pfb
+cssl12 <csr.enc <cssl12.pfb
+cssl9 <csr.enc <cssl9.pfb
+cssl8 <csr.enc <cssl8.pfb
+csssq8 <csr.enc <csssq8.pfb
+csssqi8 <csr.enc <csssqi8.pfb
+csssdc10 <csr.enc <csssdc10.pfb
+csssbx10 <csr.enc <csssbx10.pfb
+csinch <csin.enc <csinch.pfb
+csdunh10 <csr.enc <csdunh10.pfb
+csbxsl10 <csr.enc <csbxsl10.pfb
+csff10 <csr.enc <csff10.pfb
+csfib8 <csr.enc <csfib8.pfb
+csbxti10 <csr.enc <csbxti10.pfb
+csitt10 <cstt.enc <csitt10.pfb
+csu10 <csr.enc <csu10.pfb
+csfi10 <csr.enc <csfi10.pfb
+cscsc10 <csr1.enc <cscsc10.pfb
+cstcsc10 <cstt.enc <cstcsc10.pfb
+
+% polish modern
+
+plb10 <plrm.enc <plb10.pfb
+plbsy10 <plms.enc <plbsy10.pfb
+plbx10 <plrm.enc <plbx10.pfb
+plbx12 <plrm.enc <plbx12.pfb
+plbx5 <plrm.enc <plbx5.pfb
+plbx6 <plrm.enc <plbx6.pfb
+plbx7 <plrm.enc <plbx7.pfb
+plbx8 <plrm.enc <plbx8.pfb
+plbx9 <plrm.enc <plbx9.pfb
+plbxsl10 <plrm.enc <plbxsl10.pfb
+plbxti10 <plit.enc <plbxti10.pfb
+plcsc10 <plsc.enc <plcsc10.pfb
+pldunh10 <plrm.enc <pldunh10.pfb
+plex10 <plme.enc <plex10.pfb
+plex9 <plme.enc <plex9.pfb
+plff10 <plrm.enc <plff10.pfb
+plfi10 <plit.enc <plfi10.pfb
+plfib8 <plrm.enc <plfib8.pfb
+plinch <plin.enc <plinch.pfb
+plitt10 <plitt.enc <plitt10.pfb
+plmi10 <plmi.enc <plmi10.pfb
+plmi12 <plmi.enc <plmi12.pfb
+plmi5 <plmi.enc <plmi5.pfb
+plmi6 <plmi.enc <plmi6.pfb
+plmi7 <plmi.enc <plmi7.pfb
+plmi8 <plmi.enc <plmi8.pfb
+plmi9 <plmi.enc <plmi9.pfb
+plmib10 <plmi.enc <plmib10.pfb
+plr10 <plrm.enc <plr10.pfb
+plr12 <plrm.enc <plr12.pfb
+plr17 <plrm.enc <plr17.pfb
+plr5 <plsc.enc <plr5.pfb
+plr6 <plrm.enc <plr6.pfb
+plr7 <plrm.enc <plr7.pfb
+plr8 <plrm.enc <plr8.pfb
+plr9 <plrm.enc <plr9.pfb
+plsl10 <plrm.enc <plsl10.pfb
+plsl12 <plrm.enc <plsl12.pfb
+plsl8 <plrm.enc <plsl8.pfb
+plsl9 <plrm.enc <plsl9.pfb
+plsltt10 <pltt.enc <plsltt10.pfb
+plss10 <plrm.enc <plss10.pfb
+plss12 <plrm.enc <plss12.pfb
+plss17 <plrm.enc <plss17.pfb
+plss8 <plrm.enc <plss8.pfb
+plss9 <plrm.enc <plss9.pfb
+plssbi10 <plrm.enc <plssbi10.pfb
+plssbx10 <plrm.enc <plssbx10.pfb
+plssdc10 <plrm.enc <plssdc10.pfb
+plssi10 <plrm.enc <plssi10.pfb
+plssi12 <plrm.enc <plssi12.pfb
+plssi17 <plrm.enc <plssi17.pfb
+plssi8 <plrm.enc <plssi8.pfb
+plssi9 <plrm.enc <plssi9.pfb
+plssq8 <plrm.enc <plssq8.pfb
+plssqi8 <plrm.enc <plssqi8.pfb
+plsy10 <plms.enc <plsy10.pfb
+plsy5 <plms.enc <plsy5.pfb
+plsy6 <plms.enc <plsy6.pfb
+plsy7 <plms.enc <plsy7.pfb
+plsy8 <plms.enc <plsy8.pfb
+plsy9 <plms.enc <plsy9.pfb
+pltcsc10 <pltt.enc <pltcsc10.pfb
+pltex10 <plte.enc <pltex10.pfb
+pltex8 <plte.enc <pltex8.pfb
+pltex9 <plte.enc <pltex9.pfb
+plti10 <plit.enc <plti10.pfb
+plti12 <plit.enc <plti12.pfb
+plti7 <plit.enc <plti7.pfb
+plti8 <plit.enc <plti8.pfb
+plti9 <plit.enc <plti9.pfb
+pltt10 <pltt.enc <pltt10.pfb
+pltt12 <pltt.enc <pltt12.pfb
+pltt8 <pltt.enc <pltt8.pfb
+pltt9 <pltt.enc <pltt9.pfb
+plu10 <plit.enc <plu10.pfb
+plvtt10 <plrm.enc <plvtt10.pfb \ No newline at end of file
diff --git a/fonts/map/context/cork-public-lm.map b/fonts/map/context/cork-public-lm.map
new file mode 100644
index 000000000..25851c24d
--- /dev/null
+++ b/fonts/map/context/cork-public-lm.map
@@ -0,0 +1,57 @@
+cork-lmb10 LMRomanDemi10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmb10.pfb
+cork-lmbo10 LMRomanDemi10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmbo10.pfb
+cork-lmbx10 LMRoman10-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmbx10.pfb
+cork-lmbx12 LMRoman12-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmbx12.pfb
+cork-lmbx5 LMRoman5-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmbx5.pfb
+cork-lmbx6 LMRoman6-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmbx6.pfb
+cork-lmbx7 LMRoman7-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmbx7.pfb
+cork-lmbx8 LMRoman8-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmbx8.pfb
+cork-lmbx9 LMRoman9-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmbx9.pfb
+cork-lmbxi10 LMRoman10-BoldItalic "enccorklm ReEncodeFont" <cork-lm.enc <lmbxi10.pfb
+cork-lmbxo10 LMSlanted10-BoldItalic "enccorklm ReEncodeFont" <cork-lm.enc <lmbxo10.pfb
+cork-lmcsc10 LMCaps10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmcsc10.pfb
+cork-lmcsco10 LMCaps10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmcsco10.pfb
+cork-lmr10 LMRoman10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr10.pfb
+cork-lmr12 LMRoman12-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr12.pfb
+cork-lmr17 LMRoman17-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr17.pfb
+cork-lmr5 LMRoman5-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr5.pfb
+cork-lmr6 LMRoman6-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr6.pfb
+cork-lmr7 LMRoman7-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr7.pfb
+cork-lmr8 LMRoman8-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr8.pfb
+cork-lmr9 LMRoman9-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr9.pfb
+cork-lmri10 LMRoman10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmri10.pfb
+cork-lmri12 LMRoman12-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmri12.pfb
+cork-lmri7 LMRoman7-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmri7.pfb
+cork-lmri8 LMRoman8-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmri8.pfb
+cork-lmri9 LMRoman9-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmri9.pfb
+cork-lmro10 LMSlanted10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmro10.pfb
+cork-lmro12 LMSlanted12-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmro12.pfb
+cork-lmro8 LMSlanted8-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmro8.pfb
+cork-lmro9 LMSlanted9-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmro9.pfb
+cork-lmss10 LMSans10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmss10.pfb
+cork-lmss12 LMSans12-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmss12.pfb
+cork-lmss17 LMSans17-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmss17.pfb
+cork-lmss8 LMSans8-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmss8.pfb
+cork-lmss9 LMSans9-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmss9.pfb
+cork-lmssbo10 LMSans10-BoldItalic "enccorklm ReEncodeFont" <cork-lm.enc <lmssbo10.pfb
+cork-lmssbx10 LMSans10-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmssbx10.pfb
+cork-lmssdc10 LMSansDemiCond10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmssdc10.pfb
+cork-lmssdo10 LMSansDemiCond10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmssdo10.pfb
+cork-lmsso10 LMSans10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmsso10.pfb
+cork-lmsso12 LMSans12-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmsso12.pfb
+cork-lmsso17 LMSans17-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmsso17.pfb
+cork-lmsso8 LMSans8-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmsso8.pfb
+cork-lmsso9 LMSans9-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmsso9.pfb
+cork-lmssq8 LMSansQuotation8-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmssq8.pfb
+cork-lmssqbo8 LMSansQuotation8-BoldItalic "enccorklm ReEncodeFont" <cork-lm.enc <lmssqbo8.pfb
+cork-lmssqbx8 LMSansQuotation8-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmssqbx8.pfb
+cork-lmssqo8 LMSansQuotation8-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmssqo8.pfb
+cork-lmtcsc10 LMTypewriterCaps10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmtcsc10.pfb
+cork-lmtt10 LMTypewriter10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmtt10.pfb
+cork-lmtt12 LMTypewriter12-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmtt12.pfb
+cork-lmtt8 LMTypewriter8-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmtt8.pfb
+cork-lmtt9 LMTypewriter9-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmtt9.pfb
+cork-lmtti10 LMTypewriter10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmtti10.pfb
+cork-lmtto10 LMTypewriterSlanted10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmtto10.pfb
+cork-lmvtt10 LMTypewriterVarWd10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmvtt10.pfb
+cork-lmvtto10 LMTypewriterVarWd10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmvtto10.pfb
diff --git a/fonts/map/context/cork-var-exclusive-public-lm.map b/fonts/map/context/cork-var-exclusive-public-lm.map
new file mode 100644
index 000000000..28f2cb8ec
--- /dev/null
+++ b/fonts/map/context/cork-var-exclusive-public-lm.map
@@ -0,0 +1,61 @@
+% author: Hans Hagen
+%
+% This map file remaps ec (cork) encoded Latin Modern adapted for umlauts and other variations.
+
+cork-lmb10 LMRomanDemi10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmb10.pfb
+cork-lmbo10 LMRomanDemi10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbo10.pfb
+cork-lmbx10 LMRoman10-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbx10.pfb
+cork-lmbx12 LMRoman12-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbx12.pfb
+cork-lmbx5 LMRoman5-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbx5.pfb
+cork-lmbx6 LMRoman6-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbx6.pfb
+cork-lmbx7 LMRoman7-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbx7.pfb
+cork-lmbx8 LMRoman8-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbx8.pfb
+cork-lmbx9 LMRoman9-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbx9.pfb
+cork-lmbxi10 LMRoman10-BoldItalic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbxi10.pfb
+cork-lmbxo10 LMSlanted10-BoldItalic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbxo10.pfb
+cork-lmcsc10 LMCaps10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmcsc10.pfb
+cork-lmcsco10 LMCaps10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmcsco10.pfb
+cork-lmr10 LMRoman10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr10.pfb
+cork-lmr12 LMRoman12-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr12.pfb
+cork-lmr17 LMRoman17-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr17.pfb
+cork-lmr5 LMRoman5-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr5.pfb
+cork-lmr6 LMRoman6-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr6.pfb
+cork-lmr7 LMRoman7-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr7.pfb
+cork-lmr8 LMRoman8-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr8.pfb
+cork-lmr9 LMRoman9-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr9.pfb
+cork-lmri10 LMRoman10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmri10.pfb
+cork-lmri12 LMRoman12-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmri12.pfb
+cork-lmri7 LMRoman7-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmri7.pfb
+cork-lmri8 LMRoman8-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmri8.pfb
+cork-lmri9 LMRoman9-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmri9.pfb
+cork-lmro10 LMSlanted10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmro10.pfb
+cork-lmro12 LMSlanted12-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmro12.pfb
+cork-lmro8 LMSlanted8-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmro8.pfb
+cork-lmro9 LMSlanted9-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmro9.pfb
+cork-lmss10 LMSans10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmss10.pfb
+cork-lmss12 LMSans12-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmss12.pfb
+cork-lmss17 LMSans17-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmss17.pfb
+cork-lmss8 LMSans8-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmss8.pfb
+cork-lmss9 LMSans9-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmss9.pfb
+cork-lmssbo10 LMSans10-BoldItalic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssbo10.pfb
+cork-lmssbx10 LMSans10-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssbx10.pfb
+cork-lmssdc10 LMSansDemiCond10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssdc10.pfb
+cork-lmssdo10 LMSansDemiCond10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssdo10.pfb
+cork-lmsso10 LMSans10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmsso10.pfb
+cork-lmsso12 LMSans12-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmsso12.pfb
+cork-lmsso17 LMSans17-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmsso17.pfb
+cork-lmsso8 LMSans8-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmsso8.pfb
+cork-lmsso9 LMSans9-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmsso9.pfb
+cork-lmssq8 LMSansQuotation8-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssq8.pfb
+cork-lmssqbo8 LMSansQuotation8-BoldItalic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssqbo8.pfb
+cork-lmssqbx8 LMSansQuotation8-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssqbx8.pfb
+cork-lmssqo8 LMSansQuotation8-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssqo8.pfb
+cork-lmtcsc10 LMTypewriterCaps10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmtcsc10.pfb
+cork-lmtt10 LMTypewriter10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmtt10.pfb
+cork-lmtt12 LMTypewriter12-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmtt12.pfb
+cork-lmtt8 LMTypewriter8-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmtt8.pfb
+cork-lmtt9 LMTypewriter9-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmtt9.pfb
+cork-lmtti10 LMTypewriter10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmtti10.pfb
+cork-lmtto10 LMTypewriterSlanted10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmtto10.pfb
+cork-lmvtt10 LMTypewriterVarWd10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmvtt10.pfb
+cork-lmvtto10 LMTypewriterVarWd10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmvtto10.pfb \ No newline at end of file
diff --git a/fonts/map/context/cork-var-public-lm.map b/fonts/map/context/cork-var-public-lm.map
new file mode 100644
index 000000000..3b58c059f
--- /dev/null
+++ b/fonts/map/context/cork-var-public-lm.map
@@ -0,0 +1,61 @@
+% author: Hans Hagen
+%
+% This map file defines ec (cork) encoded Latin Modern adapted for umlauts and other variations.
+
+cork-var-lmb10 LMRomanDemi10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmb10.pfb
+cork-var-lmbo10 LMRomanDemi10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbo10.pfb
+cork-var-lmbx10 LMRoman10-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbx10.pfb
+cork-var-lmbx12 LMRoman12-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbx12.pfb
+cork-var-lmbx5 LMRoman5-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbx5.pfb
+cork-var-lmbx6 LMRoman6-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbx6.pfb
+cork-var-lmbx7 LMRoman7-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbx7.pfb
+cork-var-lmbx8 LMRoman8-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbx8.pfb
+cork-var-lmbx9 LMRoman9-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbx9.pfb
+cork-var-lmbxi10 LMRoman10-BoldItalic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbxi10.pfb
+cork-var-lmbxo10 LMSlanted10-BoldItalic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmbxo10.pfb
+cork-var-lmcsc10 LMCaps10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmcsc10.pfb
+cork-var-lmcsco10 LMCaps10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmcsco10.pfb
+cork-var-lmr10 LMRoman10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr10.pfb
+cork-var-lmr12 LMRoman12-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr12.pfb
+cork-var-lmr17 LMRoman17-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr17.pfb
+cork-var-lmr5 LMRoman5-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr5.pfb
+cork-var-lmr6 LMRoman6-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr6.pfb
+cork-var-lmr7 LMRoman7-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr7.pfb
+cork-var-lmr8 LMRoman8-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr8.pfb
+cork-var-lmr9 LMRoman9-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmr9.pfb
+cork-var-lmri10 LMRoman10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmri10.pfb
+cork-var-lmri12 LMRoman12-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmri12.pfb
+cork-var-lmri7 LMRoman7-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmri7.pfb
+cork-var-lmri8 LMRoman8-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmri8.pfb
+cork-var-lmri9 LMRoman9-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmri9.pfb
+cork-var-lmro10 LMSlanted10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmro10.pfb
+cork-var-lmro12 LMSlanted12-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmro12.pfb
+cork-var-lmro8 LMSlanted8-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmro8.pfb
+cork-var-lmro9 LMSlanted9-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmro9.pfb
+cork-var-lmss10 LMSans10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmss10.pfb
+cork-var-lmss12 LMSans12-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmss12.pfb
+cork-var-lmss17 LMSans17-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmss17.pfb
+cork-var-lmss8 LMSans8-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmss8.pfb
+cork-var-lmss9 LMSans9-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmss9.pfb
+cork-var-lmssbo10 LMSans10-BoldItalic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssbo10.pfb
+cork-var-lmssbx10 LMSans10-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssbx10.pfb
+cork-var-lmssdc10 LMSansDemiCond10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssdc10.pfb
+cork-var-lmssdo10 LMSansDemiCond10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssdo10.pfb
+cork-var-lmsso10 LMSans10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmsso10.pfb
+cork-var-lmsso12 LMSans12-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmsso12.pfb
+cork-var-lmsso17 LMSans17-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmsso17.pfb
+cork-var-lmsso8 LMSans8-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmsso8.pfb
+cork-var-lmsso9 LMSans9-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmsso9.pfb
+cork-var-lmssq8 LMSansQuotation8-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssq8.pfb
+cork-var-lmssqbo8 LMSansQuotation8-BoldItalic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssqbo8.pfb
+cork-var-lmssqbx8 LMSansQuotation8-Bold "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssqbx8.pfb
+cork-var-lmssqo8 LMSansQuotation8-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmssqo8.pfb
+cork-var-lmtcsc10 LMTypewriterCaps10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmtcsc10.pfb
+cork-var-lmtt10 LMTypewriter10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmtt10.pfb
+cork-var-lmtt12 LMTypewriter12-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmtt12.pfb
+cork-var-lmtt8 LMTypewriter8-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmtt8.pfb
+cork-var-lmtt9 LMTypewriter9-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmtt9.pfb
+cork-var-lmtti10 LMTypewriter10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmtti10.pfb
+cork-var-lmtto10 LMTypewriterSlanted10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmtto10.pfb
+cork-var-lmvtt10 LMTypewriterVarWd10-Regular "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmvtt10.pfb
+cork-var-lmvtto10 LMTypewriterVarWd10-Italic "enccorkvarlm ReEncodeFont" <cork-var-lm.enc <lmvtto10.pfb \ No newline at end of file
diff --git a/fonts/map/context/ec-base.map b/fonts/map/context/ec-base.map
new file mode 100644
index 000000000..8218ee6bf
--- /dev/null
+++ b/fonts/map/context/ec-base.map
@@ -0,0 +1,135 @@
+% courier / urw
+
+ucrb8t <ec.enc <ucrb8a.pfb
+ucrbo8t <ec.enc <ucrbo8a.pfb
+ucrr8t <ec.enc <ucrr8a.pfb
+ucrro8t <ec.enc <ucrro8a.pfb
+
+% courier / adobe
+
+pcrb8t <ec.enc <ucrb8a.pfb
+pcrbo8t <ec.enc <ucrbo8a.pfb
+pcrr8t <ec.enc <ucrr8a.pfb
+pcrro8t <ec.enc <ucrro8a.pfb
+
+% helvetica / urw
+
+uhvb8t <ec.enc <uhvb8a.pfb
+uhvbo8t <ec.enc <uhvbo8a.pfb
+uhvr8t <ec.enc <uhvr8a.pfb
+uhvro8t <ec.enc <uhvro8a.pfb
+
+% helvetica / adobe
+
+phvb8t <ec.enc <uhvb8a.pfb
+phvbo8t <ec.enc <uhvbo8a.pfb
+phvr8t <ec.enc <uhvr8a.pfb
+phvro8t <ec.enc <uhvro8a.pfb
+
+% times / urw
+
+utmb8t <ec.enc <utmb8a.pfb
+utmbi8t <ec.enc <utmbi8a.pfb
+utmr8t <ec.enc <utmr8a.pfb
+utmri8t <ec.enc <utmri8a.pfb
+
+utmbo8t ".167 SlantFont" <ec.enc <utmb8a.pfb
+utmro8t ".167 SlantFont" <ec.enc <utmr8a.pfb
+
+% times / adobe
+
+ptmb8t <ec.enc <utmb8a.pfb
+ptmbi8t <ec.enc <utmbi8a.pfb
+ptmr8t <ec.enc <utmr8a.pfb
+ptmri8t <ec.enc <utmri8a.pfb
+
+ptmbo8t ".167 SlantFont" <ec.enc <utmb8a.pfb
+ptmro8t ".167 SlantFont" <ec.enc <utmr8a.pfb
+
+% palatino / urw
+
+uplb8t <ec.enc <uplb8a.pfb
+uplbi8t <ec.enc <uplbi8a.pfb
+uplr8t <ec.enc <uplr8a.pfb
+uplri8t <ec.enc <uplri8a.pfb
+
+uplbo8t ".167 SlantFont" <ec.enc <uplb8a.pfb
+uplro8t ".167 SlantFont" <ec.enc <uplr8a.pfb
+
+% palatino / adobe
+
+pplb8t <ec.enc <uplb8a.pfb
+pplbi8t <ec.enc <uplbi8a.pfb
+pplr8t <ec.enc <uplr8a.pfb
+pplri8t <ec.enc <uplri8a.pfb
+
+pplbo8t ".167 SlantFont" <ec.enc <uplb8a.pfb
+pplro8t ".167 SlantFont" <ec.enc <upplr8a.pfb
+
+% bookman / urw
+
+ubkd8t <ec.enc <ubkd8a.pfb
+ubkdi8t <ec.enc <ubkdi8a.pfb
+ubkl8t <ec.enc <ubkl8a.pfb
+ubkli8t <ec.enc <ubkli8a.pfb
+
+ubkdo8t ".167 SlantFont" <ec.enc <ubkd8a.pfb
+ubklo8t ".167 SlantFont" <ec.enc <ubkl8a.pfb
+
+% bookman / adobe
+
+pbkd8t <ec.enc <ubkd8a.pfb
+pbkdi8t <ec.enc <ubkdi8a.pfb
+pbkl8t <ec.enc <ubkl8a.pfb
+pbkli8t <ec.enc <ubkli8a.pfb
+
+pbkdo8t ".167 SlantFont" <ec.enc <ubkd8a.pfb
+pbklo8t ".167 SlantFont" <ec.enc <ubkl8a.pfb
+
+% chancery / urw
+
+uzcmi8t <ec.enc <uzcmi8a.pfb
+
+% chancery / adobe
+
+pzcmi8t <ec.enc <uzcmi8a.pfb
+
+% schoolbook / urw
+
+uncb8t <ec.enc <uncb8a.pfb
+uncbi8t <ec.enc <uncbi8a.pfb
+uncr8t <ec.enc <uncr8a.pfb
+uncri8t <ec.enc <uncri8a.pfb
+
+uncbo8t ".167 SlantFont" <ec.enc <uncb8a.pfb
+uncro8t ".167 SlantFont" <ec.enc <uncr8a.pfb
+
+% schoolbook / adobe
+
+pncb8t <ec.enc <uncb8a.pfb
+pncbi8t <ec.enc <uncbi8a.pfb
+pncr8t <ec.enc <uncr8a.pfb
+pncri8t <ec.enc <uncri8a.pfb
+
+pncbo8t ".167 SlantFont" <ec.enc <uncb8a.pfb
+pncro8t ".167 SlantFont" <ec.enc <uncr8a.pfb
+
+% utopia
+
+putb8t <ec.enc <putb8a.pfb
+putbi8t <ec.enc <putbi8a.pfb
+putr8t <ec.enc <putr8a.pfb
+putri8t <ec.enc <putri8a.pfb
+
+putbo8t ".167 SlantFont" <ec.enc <putb8a.pfb
+putro8t ".167 SlantFont" <ec.enc <putr8a.pfb
+
+% charter
+
+bchb8t <ec.enc <bchb8a.pfb
+bchbi8t <ec.enc <bchbi8a.pfb
+bchbo8t <ec.enc <bchb8a.pfb
+bchr8t <ec.enc <bchr8a.pfb
+bchri8t <ec.enc <bchri8a.pfb
+
+bchro8t ".167 SlantFont" <ec.enc <bchr8a.pfb \ No newline at end of file
diff --git a/fonts/map/context/ec-public-lm.map b/fonts/map/context/ec-public-lm.map
new file mode 100644
index 000000000..25851c24d
--- /dev/null
+++ b/fonts/map/context/ec-public-lm.map
@@ -0,0 +1,57 @@
+cork-lmb10 LMRomanDemi10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmb10.pfb
+cork-lmbo10 LMRomanDemi10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmbo10.pfb
+cork-lmbx10 LMRoman10-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmbx10.pfb
+cork-lmbx12 LMRoman12-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmbx12.pfb
+cork-lmbx5 LMRoman5-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmbx5.pfb
+cork-lmbx6 LMRoman6-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmbx6.pfb
+cork-lmbx7 LMRoman7-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmbx7.pfb
+cork-lmbx8 LMRoman8-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmbx8.pfb
+cork-lmbx9 LMRoman9-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmbx9.pfb
+cork-lmbxi10 LMRoman10-BoldItalic "enccorklm ReEncodeFont" <cork-lm.enc <lmbxi10.pfb
+cork-lmbxo10 LMSlanted10-BoldItalic "enccorklm ReEncodeFont" <cork-lm.enc <lmbxo10.pfb
+cork-lmcsc10 LMCaps10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmcsc10.pfb
+cork-lmcsco10 LMCaps10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmcsco10.pfb
+cork-lmr10 LMRoman10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr10.pfb
+cork-lmr12 LMRoman12-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr12.pfb
+cork-lmr17 LMRoman17-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr17.pfb
+cork-lmr5 LMRoman5-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr5.pfb
+cork-lmr6 LMRoman6-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr6.pfb
+cork-lmr7 LMRoman7-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr7.pfb
+cork-lmr8 LMRoman8-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr8.pfb
+cork-lmr9 LMRoman9-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmr9.pfb
+cork-lmri10 LMRoman10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmri10.pfb
+cork-lmri12 LMRoman12-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmri12.pfb
+cork-lmri7 LMRoman7-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmri7.pfb
+cork-lmri8 LMRoman8-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmri8.pfb
+cork-lmri9 LMRoman9-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmri9.pfb
+cork-lmro10 LMSlanted10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmro10.pfb
+cork-lmro12 LMSlanted12-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmro12.pfb
+cork-lmro8 LMSlanted8-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmro8.pfb
+cork-lmro9 LMSlanted9-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmro9.pfb
+cork-lmss10 LMSans10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmss10.pfb
+cork-lmss12 LMSans12-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmss12.pfb
+cork-lmss17 LMSans17-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmss17.pfb
+cork-lmss8 LMSans8-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmss8.pfb
+cork-lmss9 LMSans9-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmss9.pfb
+cork-lmssbo10 LMSans10-BoldItalic "enccorklm ReEncodeFont" <cork-lm.enc <lmssbo10.pfb
+cork-lmssbx10 LMSans10-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmssbx10.pfb
+cork-lmssdc10 LMSansDemiCond10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmssdc10.pfb
+cork-lmssdo10 LMSansDemiCond10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmssdo10.pfb
+cork-lmsso10 LMSans10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmsso10.pfb
+cork-lmsso12 LMSans12-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmsso12.pfb
+cork-lmsso17 LMSans17-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmsso17.pfb
+cork-lmsso8 LMSans8-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmsso8.pfb
+cork-lmsso9 LMSans9-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmsso9.pfb
+cork-lmssq8 LMSansQuotation8-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmssq8.pfb
+cork-lmssqbo8 LMSansQuotation8-BoldItalic "enccorklm ReEncodeFont" <cork-lm.enc <lmssqbo8.pfb
+cork-lmssqbx8 LMSansQuotation8-Bold "enccorklm ReEncodeFont" <cork-lm.enc <lmssqbx8.pfb
+cork-lmssqo8 LMSansQuotation8-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmssqo8.pfb
+cork-lmtcsc10 LMTypewriterCaps10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmtcsc10.pfb
+cork-lmtt10 LMTypewriter10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmtt10.pfb
+cork-lmtt12 LMTypewriter12-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmtt12.pfb
+cork-lmtt8 LMTypewriter8-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmtt8.pfb
+cork-lmtt9 LMTypewriter9-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmtt9.pfb
+cork-lmtti10 LMTypewriter10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmtti10.pfb
+cork-lmtto10 LMTypewriterSlanted10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmtto10.pfb
+cork-lmvtt10 LMTypewriterVarWd10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmvtt10.pfb
+cork-lmvtto10 LMTypewriterVarWd10-Italic "enccorklm ReEncodeFont" <cork-lm.enc <lmvtto10.pfb
diff --git a/fonts/map/context/ec-var-exclusive-public-lm.map b/fonts/map/context/ec-var-exclusive-public-lm.map
new file mode 100644
index 000000000..94d520485
--- /dev/null
+++ b/fonts/map/context/ec-var-exclusive-public-lm.map
@@ -0,0 +1,61 @@
+% author: Hans Hagen
+%
+% This map file remaps ec (cork) encoded Latin Modern adapted for umlauts and other variations.
+
+ec-lmb10 LMRomanDemi10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmb10.pfb
+ec-lmbo10 LMRomanDemi10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbo10.pfb
+ec-lmbx10 LMRoman10-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbx10.pfb
+ec-lmbx12 LMRoman12-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbx12.pfb
+ec-lmbx5 LMRoman5-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbx5.pfb
+ec-lmbx6 LMRoman6-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbx6.pfb
+ec-lmbx7 LMRoman7-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbx7.pfb
+ec-lmbx8 LMRoman8-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbx8.pfb
+ec-lmbx9 LMRoman9-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbx9.pfb
+ec-lmbxi10 LMRoman10-BoldItalic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbxi10.pfb
+ec-lmbxo10 LMSlanted10-BoldItalic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbxo10.pfb
+ec-lmcsc10 LMCaps10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmcsc10.pfb
+ec-lmcsco10 LMCaps10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmcsco10.pfb
+ec-lmr10 LMRoman10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr10.pfb
+ec-lmr12 LMRoman12-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr12.pfb
+ec-lmr17 LMRoman17-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr17.pfb
+ec-lmr5 LMRoman5-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr5.pfb
+ec-lmr6 LMRoman6-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr6.pfb
+ec-lmr7 LMRoman7-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr7.pfb
+ec-lmr8 LMRoman8-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr8.pfb
+ec-lmr9 LMRoman9-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr9.pfb
+ec-lmri10 LMRoman10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmri10.pfb
+ec-lmri12 LMRoman12-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmri12.pfb
+ec-lmri7 LMRoman7-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmri7.pfb
+ec-lmri8 LMRoman8-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmri8.pfb
+ec-lmri9 LMRoman9-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmri9.pfb
+ec-lmro10 LMSlanted10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmro10.pfb
+ec-lmro12 LMSlanted12-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmro12.pfb
+ec-lmro8 LMSlanted8-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmro8.pfb
+ec-lmro9 LMSlanted9-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmro9.pfb
+ec-lmss10 LMSans10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmss10.pfb
+ec-lmss12 LMSans12-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmss12.pfb
+ec-lmss17 LMSans17-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmss17.pfb
+ec-lmss8 LMSans8-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmss8.pfb
+ec-lmss9 LMSans9-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmss9.pfb
+ec-lmssbo10 LMSans10-BoldItalic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssbo10.pfb
+ec-lmssbx10 LMSans10-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssbx10.pfb
+ec-lmssdc10 LMSansDemiCond10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssdc10.pfb
+ec-lmssdo10 LMSansDemiCond10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssdo10.pfb
+ec-lmsso10 LMSans10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmsso10.pfb
+ec-lmsso12 LMSans12-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmsso12.pfb
+ec-lmsso17 LMSans17-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmsso17.pfb
+ec-lmsso8 LMSans8-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmsso8.pfb
+ec-lmsso9 LMSans9-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmsso9.pfb
+ec-lmssq8 LMSansQuotation8-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssq8.pfb
+ec-lmssqbo8 LMSansQuotation8-BoldItalic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssqbo8.pfb
+ec-lmssqbx8 LMSansQuotation8-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssqbx8.pfb
+ec-lmssqo8 LMSansQuotation8-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssqo8.pfb
+ec-lmtcsc10 LMTypewriterCaps10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmtcsc10.pfb
+ec-lmtt10 LMTypewriter10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmtt10.pfb
+ec-lmtt12 LMTypewriter12-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmtt12.pfb
+ec-lmtt8 LMTypewriter8-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmtt8.pfb
+ec-lmtt9 LMTypewriter9-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmtt9.pfb
+ec-lmtti10 LMTypewriter10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmtti10.pfb
+ec-lmtto10 LMTypewriterSlanted10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmtto10.pfb
+ec-lmvtt10 LMTypewriterVarWd10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmvtt10.pfb
+ec-lmvtto10 LMTypewriterVarWd10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmvtto10.pfb \ No newline at end of file
diff --git a/fonts/map/context/ec-var-public-lm.map b/fonts/map/context/ec-var-public-lm.map
new file mode 100644
index 000000000..494a45884
--- /dev/null
+++ b/fonts/map/context/ec-var-public-lm.map
@@ -0,0 +1,61 @@
+% author: Hans Hagen
+%
+% This map file defines ec (cork) encoded Latin Modern adapted for umlauts and other variations.
+
+ec-var-lmb10 LMRomanDemi10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmb10.pfb
+ec-var-lmbo10 LMRomanDemi10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbo10.pfb
+ec-var-lmbx10 LMRoman10-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbx10.pfb
+ec-var-lmbx12 LMRoman12-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbx12.pfb
+ec-var-lmbx5 LMRoman5-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbx5.pfb
+ec-var-lmbx6 LMRoman6-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbx6.pfb
+ec-var-lmbx7 LMRoman7-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbx7.pfb
+ec-var-lmbx8 LMRoman8-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbx8.pfb
+ec-var-lmbx9 LMRoman9-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbx9.pfb
+ec-var-lmbxi10 LMRoman10-BoldItalic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbxi10.pfb
+ec-var-lmbxo10 LMSlanted10-BoldItalic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmbxo10.pfb
+ec-var-lmcsc10 LMCaps10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmcsc10.pfb
+ec-var-lmcsco10 LMCaps10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmcsco10.pfb
+ec-var-lmr10 LMRoman10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr10.pfb
+ec-var-lmr12 LMRoman12-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr12.pfb
+ec-var-lmr17 LMRoman17-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr17.pfb
+ec-var-lmr5 LMRoman5-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr5.pfb
+ec-var-lmr6 LMRoman6-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr6.pfb
+ec-var-lmr7 LMRoman7-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr7.pfb
+ec-var-lmr8 LMRoman8-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr8.pfb
+ec-var-lmr9 LMRoman9-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmr9.pfb
+ec-var-lmri10 LMRoman10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmri10.pfb
+ec-var-lmri12 LMRoman12-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmri12.pfb
+ec-var-lmri7 LMRoman7-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmri7.pfb
+ec-var-lmri8 LMRoman8-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmri8.pfb
+ec-var-lmri9 LMRoman9-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmri9.pfb
+ec-var-lmro10 LMSlanted10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmro10.pfb
+ec-var-lmro12 LMSlanted12-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmro12.pfb
+ec-var-lmro8 LMSlanted8-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmro8.pfb
+ec-var-lmro9 LMSlanted9-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmro9.pfb
+ec-var-lmss10 LMSans10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmss10.pfb
+ec-var-lmss12 LMSans12-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmss12.pfb
+ec-var-lmss17 LMSans17-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmss17.pfb
+ec-var-lmss8 LMSans8-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmss8.pfb
+ec-var-lmss9 LMSans9-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmss9.pfb
+ec-var-lmssbo10 LMSans10-BoldItalic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssbo10.pfb
+ec-var-lmssbx10 LMSans10-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssbx10.pfb
+ec-var-lmssdc10 LMSansDemiCond10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssdc10.pfb
+ec-var-lmssdo10 LMSansDemiCond10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssdo10.pfb
+ec-var-lmsso10 LMSans10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmsso10.pfb
+ec-var-lmsso12 LMSans12-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmsso12.pfb
+ec-var-lmsso17 LMSans17-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmsso17.pfb
+ec-var-lmsso8 LMSans8-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmsso8.pfb
+ec-var-lmsso9 LMSans9-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmsso9.pfb
+ec-var-lmssq8 LMSansQuotation8-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssq8.pfb
+ec-var-lmssqbo8 LMSansQuotation8-BoldItalic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssqbo8.pfb
+ec-var-lmssqbx8 LMSansQuotation8-Bold "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssqbx8.pfb
+ec-var-lmssqo8 LMSansQuotation8-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmssqo8.pfb
+ec-var-lmtcsc10 LMTypewriterCaps10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmtcsc10.pfb
+ec-var-lmtt10 LMTypewriter10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmtt10.pfb
+ec-var-lmtt12 LMTypewriter12-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmtt12.pfb
+ec-var-lmtt8 LMTypewriter8-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmtt8.pfb
+ec-var-lmtt9 LMTypewriter9-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmtt9.pfb
+ec-var-lmtti10 LMTypewriter10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmtti10.pfb
+ec-var-lmtto10 LMTypewriterSlanted10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmtto10.pfb
+ec-var-lmvtt10 LMTypewriterVarWd10-Regular "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmvtt10.pfb
+ec-var-lmvtto10 LMTypewriterVarWd10-Italic "encecvarlm ReEncodeFont" <ec-var-lm.enc <lmvtto10.pfb \ No newline at end of file
diff --git a/fonts/map/context/il2-ams-cmr.map b/fonts/map/context/il2-ams-cmr.map
deleted file mode 100644
index 64bf96bf8..000000000
--- a/fonts/map/context/il2-ams-cmr.map
+++ /dev/null
@@ -1,56 +0,0 @@
-csr10 <csr10.pfb <csr.enc
-csr12 <csr12.pfb <csr.enc
-csr17 <csr17.pfb <csr.enc
-csr9 <csr9.pfb <csr.enc
-csr8 <csr8.pfb <csr.enc
-csr7 <csr7.pfb <csr.enc
-csr6 <csr6.pfb <csr.enc
-csr5 <csr5.pfb <csr1.enc
-csbx10 <csbx10.pfb <csr.enc
-csbx12 <csbx12.pfb <csr.enc
-csbx9 <csbx9.pfb <csr.enc
-csbx8 <csbx8.pfb <csr.enc
-csbx7 <csbx7.pfb <csr.enc
-csbx6 <csbx6.pfb <csr.enc
-csbx5 <csbx5.pfb <csr.enc
-csb10 <csb10.pfb <csr.enc
-csti10 <csti10.pfb <csr.enc
-csti12 <csti12.pfb <csr.enc
-csti9 <csti9.pfb <csr.enc
-csti8 <csti8.pfb <csr.enc
-csti7 <csti7.pfb <csr.enc
-cstt10 <cstt10.pfb <cstt.enc
-cstt12 <cstt12.pfb <cstt.enc
-cstt9 <cstt9.pfb <cstt.enc
-cstt8 <cstt8.pfb <cstt.enc
-cssltt10 <cssltt10.pfb <cstt.enc
-csvtt10 <csvtt10.pfb <cstt.enc
-csss10 <csss10.pfb <csr.enc
-csss12 <csss12.pfb <csr.enc
-csss17 <csss17.pfb <csr.enc
-csss9 <csss9.pfb <csr.enc
-csss8 <csss8.pfb <csr.enc
-csssi10 <csssi10.pfb <csr.enc
-csssi12 <csssi12.pfb <csr.enc
-csssi17 <csssi17.pfb <csr.enc
-csssi9 <csssi9.pfb <csr.enc
-csssi8 <csssi8.pfb <csr.enc
-cssl10 <cssl10.pfb <csr.enc
-cssl12 <cssl12.pfb <csr.enc
-cssl9 <cssl9.pfb <csr.enc
-cssl8 <cssl8.pfb <csr.enc
-csssq8 <csssq8.pfb <csr.enc
-csssqi8 <csssqi8.pfb <csr.enc
-csssdc10 <csssdc10.pfb <csr.enc
-csssbx10 <csssbx10.pfb <csr.enc
-csinch <csinch.pfb <csin.enc
-csdunh10 <csdunh10.pfb <csr.enc
-csbxsl10 <csbxsl10.pfb <csr.enc
-csff10 <csff10.pfb <csr.enc
-csfib8 <csfib8.pfb <csr.enc
-csbxti10 <csbxti10.pfb <csr.enc
-csitt10 <csitt10.pfb <cstt.enc
-csu10 <csu10.pfb <csr.enc
-csfi10 <csfi10.pfb <csr.enc
-cscsc10 <cscsc10.pfb <csr1.enc
-cstcsc10 <cstcsc10.pfb <cstt.enc
diff --git a/fonts/map/context/original-ams-cmr.map b/fonts/map/context/original-ams-cmr.map
index 9c739da11..e36b9d663 100644
--- a/fonts/map/context/original-ams-cmr.map
+++ b/fonts/map/context/original-ams-cmr.map
@@ -1,82 +1,82 @@
-cmb10 <cmb10.pfb
-cmbsy10 <cmbsy10.pfb
-cmbsy6 <cmbsy6.pfb
-cmbsy7 <cmbsy7.pfb
-cmbsy8 <cmbsy8.pfb
-cmbsy9 <cmbsy9.pfb
-cmbx10 <cmbx10.pfb
-cmbx12 <cmbx12.pfb
-cmbx5 <cmbx5.pfb
-cmbx6 <cmbx6.pfb
-cmbx7 <cmbx7.pfb
-cmbx8 <cmbx8.pfb
-cmbx9 <cmbx9.pfb
-cmbxsl10 <cmbxsl10.pfb
-cmbxti10 <cmbxti10.pfb
-cmcsc10 <cmcsc10.pfb
-cmdunh10 <cmdunh10.pfb
-cmex10 <cmex10.pfb
-cmff10 <cmff10.pfb
-cmfi10 <cmfi10.pfb
-cmfib8 <cmfib8.pfb
-cminch <cminch.pfb
-cmitt10 <cmitt10.pfb
-cmmi10 <cmmi10.pfb
-cmmi12 <cmmi12.pfb
-cmmi5 <cmmi5.pfb
-cmmi6 <cmmi6.pfb
-cmmi7 <cmmi7.pfb
-cmmi8 <cmmi8.pfb
-cmmi9 <cmmi9.pfb
-cmmib10 <cmmib10.pfb
-cmr10 <cmr10.pfb
-cmr12 <cmr12.pfb
-cmr17 <cmr17.pfb
-cmr5 <cmr5.pfb
-cmr6 <cmr6.pfb
-cmr7 <cmr7.pfb
-cmr8 <cmr8.pfb
-cmr9 <cmr9.pfb
-cmsl10 <cmsl10.pfb
-cmsl12 <cmsl12.pfb
-cmsl8 <cmsl8.pfb
-cmsl9 <cmsl9.pfb
-cmsltt10 <cmsltt10.pfb
-cmss10 <cmss10.pfb
-cmss12 <cmss12.pfb
-cmss17 <cmss17.pfb
-cmss8 <cmss8.pfb
-cmss9 <cmss9.pfb
-cmssbx10 <cmssbx10.pfb
-cmssdc10 <cmssdc10.pfb
-cmssi10 <cmssi10.pfb
-cmssi12 <cmssi12.pfb
-cmssi17 <cmssi17.pfb
-cmssi8 <cmssi8.pfb
-cmssi9 <cmssi9.pfb
-cmssq8 <cmssq8.pfb
-cmssqi8 <cmssqi8.pfb
-cmsy10 <cmsy10.pfb
-cmsy5 <cmsy5.pfb
-cmsy6 <cmsy6.pfb
-cmsy7 <cmsy7.pfb
-cmsy8 <cmsy8.pfb
-cmsy9 <cmsy9.pfb
-cmtcsc10 <cmtcsc10.pfb
-cmtex10 <cmtex10.pfb
-cmtex8 <cmtex8.pfb
-cmtex9 <cmtex9.pfb
-cmti10 <cmti10.pfb
-cmti12 <cmti12.pfb
-cmti7 <cmti7.pfb
-cmti8 <cmti8.pfb
-cmti9 <cmti9.pfb
-cmtt10 <cmtt10.pfb
-cmtt12 <cmtt12.pfb
-cmtt8 <cmtt8.pfb
-cmtt9 <cmtt9.pfb
-cmu10 <cmu10.pfb
-cmvtt10 <cmvtt10.pfb
+cmb10 <cmb10.pfb
+cmbsy10 <cmbsy10.pfb
+cmbsy6 <cmbsy6.pfb
+cmbsy7 <cmbsy7.pfb
+cmbsy8 <cmbsy8.pfb
+cmbsy9 <cmbsy9.pfb
+cmbx10 <cmbx10.pfb
+cmbx12 <cmbx12.pfb
+cmbx5 <cmbx5.pfb
+cmbx6 <cmbx6.pfb
+cmbx7 <cmbx7.pfb
+cmbx8 <cmbx8.pfb
+cmbx9 <cmbx9.pfb
+cmbxsl10 <cmbxsl10.pfb
+cmbxti10 <cmbxti10.pfb
+cmcsc10 <cmcsc10.pfb
+cmdunh10 <cmdunh10.pfb
+cmex10 <cmex10.pfb
+cmff10 <cmff10.pfb
+cmfi10 <cmfi10.pfb
+cmfib8 <cmfib8.pfb
+cminch <cminch.pfb
+cmitt10 <cmitt10.pfb
+cmmi10 <cmmi10.pfb
+cmmi12 <cmmi12.pfb
+cmmi5 <cmmi5.pfb
+cmmi6 <cmmi6.pfb
+cmmi7 <cmmi7.pfb
+cmmi8 <cmmi8.pfb
+cmmi9 <cmmi9.pfb
+cmmib10 <cmmib10.pfb
+cmr10 <cmr10.pfb
+cmr12 <cmr12.pfb
+cmr17 <cmr17.pfb
+cmr5 <cmr5.pfb
+cmr6 <cmr6.pfb
+cmr7 <cmr7.pfb
+cmr8 <cmr8.pfb
+cmr9 <cmr9.pfb
+cmsl10 <cmsl10.pfb
+cmsl12 <cmsl12.pfb
+cmsl8 <cmsl8.pfb
+cmsl9 <cmsl9.pfb
+cmsltt10 <cmsltt10.pfb
+cmss10 <cmss10.pfb
+cmss12 <cmss12.pfb
+cmss17 <cmss17.pfb
+cmss8 <cmss8.pfb
+cmss9 <cmss9.pfb
+cmssbx10 <cmssbx10.pfb
+cmssdc10 <cmssdc10.pfb
+cmssi10 <cmssi10.pfb
+cmssi12 <cmssi12.pfb
+cmssi17 <cmssi17.pfb
+cmssi8 <cmssi8.pfb
+cmssi9 <cmssi9.pfb
+cmssq8 <cmssq8.pfb
+cmssqi8 <cmssqi8.pfb
+cmsy10 <cmsy10.pfb
+cmsy5 <cmsy5.pfb
+cmsy6 <cmsy6.pfb
+cmsy7 <cmsy7.pfb
+cmsy8 <cmsy8.pfb
+cmsy9 <cmsy9.pfb
+cmtcsc10 <cmtcsc10.pfb
+cmtex10 <cmtex10.pfb
+cmtex8 <cmtex8.pfb
+cmtex9 <cmtex9.pfb
+cmti10 <cmti10.pfb
+cmti12 <cmti12.pfb
+cmti7 <cmti7.pfb
+cmti8 <cmti8.pfb
+cmti9 <cmti9.pfb
+cmtt10 <cmtt10.pfb
+cmtt12 <cmtt12.pfb
+cmtt8 <cmtt8.pfb
+cmtt9 <cmtt9.pfb
+cmu10 <cmu10.pfb
+cmvtt10 <cmvtt10.pfb
icmex10 <icmex10.pfb
icmmi8 <icmmi8.pfb
@@ -100,6 +100,7 @@ lcmssb8 <lcmssb8.pfb
lcmssi8 <lcmssi8.pfb
line10 <line10.pfb
linew10 <linew10.pfb
+
logo10 <logo10.pfb
logo8 <logo8.pfb
logo9 <logo9.pfb
@@ -119,4 +120,4 @@ wncyr10 <wncyr10.pfb
wncysc10 <wncysc10.pfb
wncyss10 <wncyss10.pfb
-manfnt <manfnt.pfb
+manfnt <manfnt.pfb \ No newline at end of file
diff --git a/fonts/map/context/original-ams-euler.map b/fonts/map/context/original-ams-euler.map
index 91328a197..77bb08ed9 100644
--- a/fonts/map/context/original-ams-euler.map
+++ b/fonts/map/context/original-ams-euler.map
@@ -1,19 +1,19 @@
-euex10 EUEX10 4 <euex10.pfb
-eufb10 EUFB10 4 <eufb10.pfb
-eufb5 EUFB5 4 <eufb5.pfb
-eufb7 EUFB7 4 <eufb7.pfb
-eufm10 EUFM10 4 <eufm10.pfb
-eufm5 EUFM5 4 <eufm5.pfb
-eufm7 EUFM7 4 <eufm7.pfb
-eurb10 EURB10 4 <eurb10.pfb
-eurb5 EURB5 4 <eurb5.pfb
-eurb7 EURB7 4 <eurb7.pfb
-eurm10 EURM10 4 <eurm10.pfb
-eurm5 EURM5 4 <eurm5.pfb
-eurm7 EURM7 4 <eurm7.pfb
-eusb10 EUSB10 4 <eusb10.pfb
-eusb5 EUSB5 4 <eusb5.pfb
-eusb7 EUSB7 4 <eusb7.pfb
-eusm10 EUSM10 4 <eusm10.pfb
-eusm5 EUSM5 4 <eusm5.pfb
-eusm7 EUSM7 4 <eusm7.pfb
+euex10 <euex10.pfb
+eufb10 <eufb10.pfb
+eufb5 <eufb5.pfb
+eufb7 <eufb7.pfb
+eufm10 <eufm10.pfb
+eufm5 <eufm5.pfb
+eufm7 <eufm7.pfb
+eurb10 <eurb10.pfb
+eurb5 <eurb5.pfb
+eurb7 <eurb7.pfb
+eurm10 <eurm10.pfb
+eurm5 <eurm5.pfb
+eurm7 <eurm7.pfb
+eusb10 <eusb10.pfb
+eusb5 <eusb5.pfb
+eusb7 <eusb7.pfb
+eusm10 <eusm10.pfb
+eusm5 <eusm5.pfb
+eusm7 <eusm7.pfb \ No newline at end of file
diff --git a/fonts/map/context/original-ams-lmr.map b/fonts/map/context/original-ams-lmr.map
deleted file mode 100644
index 7287d249f..000000000
--- a/fonts/map/context/original-ams-lmr.map
+++ /dev/null
@@ -1,54 +0,0 @@
-lmb10 LMRomanDemi10-Regular "enclmb10 ReEncodeFont" <lmb10.enc <lmb10.pfb
-lmbsl10 LMRomanDemi10-BoldItalic "enclmbsl10 ReEncodeFont" <lmbsl10.enc <lmbsl10.pfb
-lmbx10 LMRoman10-Bold "enclmbx10 ReEncodeFont" <lmbx10.enc <lmbx10.pfb
-lmbx12 LMRoman12-Bold "enclmbx12 ReEncodeFont" <lmbx12.enc <lmbx12.pfb
-lmbx5 LMRoman5-Bold "enclmbx5 ReEncodeFont" <lmbx5.enc <lmbx5.pfb
-lmbx6 LMRoman6-Bold "enclmbx6 ReEncodeFont" <lmbx6.enc <lmbx6.pfb
-lmbx7 LMRoman7-Bold "enclmbx7 ReEncodeFont" <lmbx7.enc <lmbx7.pfb
-lmbx8 LMRoman8-Bold "enclmbx8 ReEncodeFont" <lmbx8.enc <lmbx8.pfb
-lmbx9 LMRoman9-Bold "enclmbx9 ReEncodeFont" <lmbx9.enc <lmbx9.pfb
-lmbxsl10 LMSlanted10-BoldItalic "enclmbxsl10 ReEncodeFont" <lmbxsl10.enc <lmbxsl10.pfb
-lmbxti10 LMRoman10-BoldItalic "enclmbxti10 ReEncodeFont" <lmbxti10.enc <lmbxti10.pfb
-lmcsc10 LMCaps10-Regular "enclmcsc10 ReEncodeFont" <lmcsc10.enc <lmcsc10.pfb
-lmitt10 LMTypewriter10-Italic "enclmitt10 ReEncodeFont" <lmitt10.enc <lmitt10.pfb
-lmr10 LMRoman10-Regular "enclmr10 ReEncodeFont" <lmr10.enc <lmr10.pfb
-lmr12 LMRoman12-Regular "enclmr12 ReEncodeFont" <lmr12.enc <lmr12.pfb
-lmr17 LMRoman17-Regular "enclmr17 ReEncodeFont" <lmr17.enc <lmr17.pfb
-lmr5 LMRoman5-Regular "enclmr5 ReEncodeFont" <lmr5.enc <lmr5.pfb
-lmr6 LMRoman6-Regular "enclmr6 ReEncodeFont" <lmr6.enc <lmr6.pfb
-lmr7 LMRoman7-Regular "enclmr7 ReEncodeFont" <lmr7.enc <lmr7.pfb
-lmr8 LMRoman8-Regular "enclmr8 ReEncodeFont" <lmr8.enc <lmr8.pfb
-lmr9 LMRoman9-Regular "enclmr9 ReEncodeFont" <lmr9.enc <lmr9.pfb
-lmsl10 LMSlanted10-Italic "enclmsl10 ReEncodeFont" <lmsl10.enc <lmsl10.pfb
-lmsl12 LMSlanted12-Italic "enclmsl12 ReEncodeFont" <lmsl12.enc <lmsl12.pfb
-lmsl8 LMSlanted8-Italic "enclmsL8 ReEncodeFont" <lmsl8.enc <lmsl8.pfb
-lmsl9 LMSlanted9-Italic "enclmsL9 ReEncodeFont" <lmsl9.enc <lmsl9.pfb
-lmsltt10 LMTypewriterSlanted10-Italic "enclmsltt10 ReEncodeFont" <lmsltt10.enc <lmsltt10.pfb
-lmss10 LMSans10-Regular "enclmss10 ReEncodeFont" <lmss10.enc <lmss10.pfb
-lmss12 LMSans12-Regular "enclmss12 ReEncodeFont" <lmss12.enc <lmss12.pfb
-lmss17 LMSans17-Regular "enclmss17 ReEncodeFont" <lmss17.enc <lmss17.pfb
-lmss8 LMSans8-Regular "enclmss8 ReEncodeFont" <lmss8.enc <lmss8.pfb
-lmss9 LMSans9-Regular "enclmss9 ReEncodeFont" <lmss9.enc <lmss9.pfb
-lmssbi10 LMSans10-BoldItalic "enclmssbi10 ReEncodeFont" <lmssbi10.enc <lmssbi10.pfb
-lmssbx10 LMSans10-Bold "enclmssbx10 ReEncodeFont" <lmssbx10.enc <lmssbx10.pfb
-lmssdc10 LMSansDemiCond10-Regular "enclmssdc10 ReEncodeFont" <lmssdc10.enc <lmssdc10.pfb
-lmssdi10 LMSansDemiCond10-BoldItalic "enclmssdi10 ReEncodeFont" <lmssdi10.enc <lmssdi10.pfb
-lmssi10 LMSans10-Italic "enclmssi10 ReEncodeFont" <lmssi10.enc <lmssi10.pfb
-lmssi12 LMSans12-Italic "enclmssi12 ReEncodeFont" <lmssi12.enc <lmssi12.pfb
-lmssi17 LMSans17-Italic "enclmssi17 ReEncodeFont" <lmssi17.enc <lmssi17.pfb
-lmssi8 LMSans8-Italic "enclmssi8 ReEncodeFont" <lmssi8.enc <lmssi8.pfb
-lmssi9 LMSans9-Italic "enclmssi9 ReEncodeFont" <lmssi9.enc <lmssi9.pfb
-lmssq8 LMSansQuotation8-Regular "enclmssq8 ReEncodeFont" <lmssq8.enc <lmssq8.pfb
-lmssqb8 LMSansQuotation8-Bold "enclmssqb8 ReEncodeFont" <lmssqb8.enc <lmssqb8.pfb
-lmssqbi8 LMSansQuotation8-BoldItalic "enclmssqbi8 ReEncodeFont" <lmssqbi8.enc <lmssqbi8.pfb
-lmssqi8 LMSansQuotation8-Italic "enclmssqi8 ReEncodeFont" <lmssqi8.enc <lmssqi8.pfb
-lmtcsc10 LMTypewriterCaps10-Regular "enclmtcsc10 ReEncodeFont" <lmtcsc10.enc <lmtcsc10.pfb
-lmti10 LMRoman10-Italic "enclmti10 ReEncodeFont" <lmti10.enc <lmti10.pfb
-lmti12 LMRoman12-Italic "enclmti12 ReEncodeFont" <lmti12.enc <lmti12.pfb
-lmti7 LMRoman7-Italic "enclmti7 ReEncodeFont" <lmti7.enc <lmti7.pfb
-lmti8 LMRoman8-Italic "enclmti8 ReEncodeFont" <lmti8.enc <lmti8.pfb
-lmti9 LMRoman9-Italic "enclmti9 ReEncodeFont" <lmti9.enc <lmti9.pfb
-lmtt10 LMTypewriter10-Regular "enclmtt10 ReEncodeFont" <lmtt10.enc <lmtt10.pfb
-lmtt12 LMTypewriter12-Regular "enclmtt12 ReEncodeFont" <lmtt12.enc <lmtt12.pfb
-lmtt8 LMTypewriter8-Regular "enclmtt8 ReEncodeFont" <lmtt8.enc <lmtt8.pfb
-lmtt9 LMTypewriter9-Regular "enclmtt9 ReEncodeFont" <lmtt9.enc <lmtt9.pfb
diff --git a/fonts/map/context/original-base.map b/fonts/map/context/original-base.map
new file mode 100644
index 000000000..b45c5e90b
--- /dev/null
+++ b/fonts/map/context/original-base.map
@@ -0,0 +1,61 @@
+% ralph
+
+rsfs10 <rsfs10.pfb
+rsfs7 <rsfs7.pfb
+rsfs5 <rsfs5.pfb
+
+% marvosym
+
+fmvr8x <marvosym.pfb
+
+fmvri8x ".167 SlantFont" <marvosym.pfb
+
+% context
+
+contnav <contnav.pfb
+
+% dingbats
+
+uzdr <uzdr.pfb
+pzdr <pzdr.pfb
+
+% symbols
+
+usyr <usyr.pfb
+
+% xypic
+
+xyatip10 <xyatip10.pfb
+xybsql10 <xybsql10.pfb
+xybtip10 <xybtip10.pfb
+xycirc10 <xycirc10.pfb
+xycmat10 <xycmat10.pfb
+xycmbt10 <xycmbt10.pfb
+xydash10 <xydash10.pfb
+xyeuat10 <xyeuat10.pfb
+xyeubt10 <xyeubt10.pfb
+
+xycmat11 "1.1 ExtendFont" <xycmat10.pfb
+xycmbt11 "1.1 ExtendFont" <xycmbt10.pfb
+xyeuat11 "1.1 ExtendFont" <xyeuat10.pfb
+xyeubt11 "1.1 ExtendFont" <xyeubt10.pfb
+
+xycmat12 "1.2 ExtendFont" <xycmat10.pfb
+xycmbt12 "1.2 ExtendFont" <xycmbt10.pfb
+xyeuat12 "1.2 ExtendFont" <xyeuat10.pfb
+xyeubt12 "1.2 ExtendFont" <xyeubt10.pfb
+
+% euro
+
+zpeub <zpeub.pfb
+zpeubi <zpeubi.pfb
+zpeubis <zpeubis.pfb
+zpeubit <zpeubit.pfb
+zpeubs <zpeubs.pfb
+zpeubt <zpeubt.pfb
+zpeur <zpeur.pfb
+zpeuri <zpeuri.pfb
+zpeuris <zpeuris.pfb
+zpeurit <zpeurit.pfb
+zpeurs <zpeurs.pfb
+zpeurt <zpeurt.pfb \ No newline at end of file
diff --git a/fonts/map/context/original-empty.map b/fonts/map/context/original-empty.map
new file mode 100644
index 000000000..c57768a93
--- /dev/null
+++ b/fonts/map/context/original-empty.map
@@ -0,0 +1 @@
+% this is an empty map file \ No newline at end of file
diff --git a/fonts/map/context/original-public-csr.map b/fonts/map/context/original-public-csr.map
new file mode 100644
index 000000000..5edfbcf55
--- /dev/null
+++ b/fonts/map/context/original-public-csr.map
@@ -0,0 +1,56 @@
+csr10 <csr.enc <csr10.pfb
+csr12 <csr.enc <csr12.pfb
+csr17 <csr.enc <csr17.pfb
+csr9 <csr.enc <csr9.pfb
+csr8 <csr.enc <csr8.pfb
+csr7 <csr.enc <csr7.pfb
+csr6 <csr.enc <csr6.pfb
+csr5 <csr1.enc <csr5.pfb
+csbx10 <csr.enc <csbx10.pfb
+csbx12 <csr.enc <csbx12.pfb
+csbx9 <csr.enc <csbx9.pfb
+csbx8 <csr.enc <csbx8.pfb
+csbx7 <csr.enc <csbx7.pfb
+csbx6 <csr.enc <csbx6.pfb
+csbx5 <csr.enc <csbx5.pfb
+csb10 <csr.enc <csb10.pfb
+csti10 <csr.enc <csti10.pfb
+csti12 <csr.enc <csti12.pfb
+csti9 <csr.enc <csti9.pfb
+csti8 <csr.enc <csti8.pfb
+csti7 <csr.enc <csti7.pfb
+cstt10 <cstt.enc <cstt10.pfb
+cstt12 <cstt.enc <cstt12.pfb
+cstt9 <cstt.enc <cstt9.pfb
+cstt8 <cstt.enc <cstt8.pfb
+cssltt10 <cstt.enc <cssltt10.pfb
+csvtt10 <cstt.enc <csvtt10.pfb
+csss10 <csr.enc <csss10.pfb
+csss12 <csr.enc <csss12.pfb
+csss17 <csr.enc <csss17.pfb
+csss9 <csr.enc <csss9.pfb
+csss8 <csr.enc <csss8.pfb
+csssi10 <csr.enc <csssi10.pfb
+csssi12 <csr.enc <csssi12.pfb
+csssi17 <csr.enc <csssi17.pfb
+csssi9 <csr.enc <csssi9.pfb
+csssi8 <csr.enc <csssi8.pfb
+cssl10 <csr.enc <cssl10.pfb
+cssl12 <csr.enc <cssl12.pfb
+cssl9 <csr.enc <cssl9.pfb
+cssl8 <csr.enc <cssl8.pfb
+csssq8 <csr.enc <csssq8.pfb
+csssqi8 <csr.enc <csssqi8.pfb
+csssdc10 <csr.enc <csssdc10.pfb
+csssbx10 <csr.enc <csssbx10.pfb
+csinch <csin.enc <csinch.pfb
+csdunh10 <csr.enc <csdunh10.pfb
+csbxsl10 <csr.enc <csbxsl10.pfb
+csff10 <csr.enc <csff10.pfb
+csfib8 <csr.enc <csfib8.pfb
+csbxti10 <csr.enc <csbxti10.pfb
+csitt10 <cstt.enc <csitt10.pfb
+csu10 <csr.enc <csu10.pfb
+csfi10 <csr.enc <csfi10.pfb
+cscsc10 <csr1.enc <cscsc10.pfb
+cstcsc10 <cstt.enc <cstcsc10.pfb \ No newline at end of file
diff --git a/fonts/map/context/original-public-lm.map b/fonts/map/context/original-public-lm.map
new file mode 100644
index 000000000..1b1ee2ef2
--- /dev/null
+++ b/fonts/map/context/original-public-lm.map
@@ -0,0 +1,54 @@
+lmb10 <lmb10.pfb
+lmbsl10 <lmbsl10.pfb
+lmbx10 <lmbx10.pfb
+lmbx12 <lmbx12.pfb
+lmbx5 <lmbx5.pfb
+lmbx6 <lmbx6.pfb
+lmbx7 <lmbx7.pfb
+lmbx8 <lmbx8.pfb
+lmbx9 <lmbx9.pfb
+lmbxsl10 <lmbxsl10.pfb
+lmbxti10 <lmbxti10.pfb
+lmcsc10 <lmcsc10.pfb
+lmitt10 <lmitt10.pfb
+lmr10 <lmr10.pfb
+lmr12 <lmr12.pfb
+lmr17 <lmr17.pfb
+lmr5 <lmr5.pfb
+lmr6 <lmr6.pfb
+lmr7 <lmr7.pfb
+lmr8 <lmr8.pfb
+lmr9 <lmr9.pfb
+lmsl10 <lmsl10.pfb
+lmsl12 <lmsl12.pfb
+lmsl8 <lmsl8.pfb
+lmsl9 <lmsl9.pfb
+lmsltt10 <lmsltt10.pfb
+lmss10 <lmss10.pfb
+lmss12 <lmss12.pfb
+lmss17 <lmss17.pfb
+lmss8 <lmss8.pfb
+lmss9 <lmss9.pfb
+lmssbi10 <lmssbi10.pfb
+lmssbx10 <lmssbx10.pfb
+lmssdc10 <lmssdc10.pfb
+lmssdi10 <lmssdi10.pfb
+lmssi10 <lmssi10.pfb
+lmssi12 <lmssi12.pfb
+lmssi17 <lmssi17.pfb
+lmssi8 <lmssi8.pfb
+lmssi9 <lmssi9.pfb
+lmssq8 <lmssq8.pfb
+lmssqb8 <lmssqb8.pfb
+lmssqbi8 <lmssqbi8.pfb
+lmssqi8 <lmssqi8.pfb
+lmtcsc10 <lmtcsc10.pfb
+lmti10 <lmti10.pfb
+lmti12 <lmti12.pfb
+lmti7 <lmti7.pfb
+lmti8 <lmti8.pfb
+lmti9 <lmti9.pfb
+lmtt10 <lmtt10.pfb
+lmtt12 <lmtt12.pfb
+lmtt8 <lmtt8.pfb
+lmtt9 <lmtt9.pfb \ No newline at end of file
diff --git a/fonts/map/context/pl0-ams-cmr.map b/fonts/map/context/original-public-plr.map
index 781bcb106..781bcb106 100644
--- a/fonts/map/context/pl0-ams-cmr.map
+++ b/fonts/map/context/original-public-plr.map
diff --git a/fonts/map/context/qx-base.map b/fonts/map/context/qx-base.map
new file mode 100644
index 000000000..242426bdd
--- /dev/null
+++ b/fonts/map/context/qx-base.map
@@ -0,0 +1,55 @@
+% courier / urw
+
+qcrb <qcr.enc <qcrb.pfb
+qcrbi <qcr.enc <qcrbi.pfb
+qcrr <qcr.enc <qcrr.pfb
+qcrri <qcr.enc <qcrri.pfb
+
+% helvetica / urw
+
+qhvb <qhv.enc <qhvb.pfb
+qhvbi <qhv.enc <qhvbi.pfb
+qhvcb <qhv.enc <qhvcb.pfb
+qhvcbi <qhv.enc <qhvcbi.pfb
+qhvcr <qhv.enc <qhvcr.pfb
+qhvcri <qhv.enc <qhvcri.pfb
+qhvr <qhv.enc <qhvr.pfb
+qhvri <qhv.enc <qhvri.pfb
+
+% times / urw
+
+qtmb <qtm.enc <qtmb.pfb
+qtmbi <qtm.enc <qtmbi.pfb
+qtmr <qtm.enc <qtmr.pfb
+qtmri <qtm.enc <qtmri.pfb
+
+% palatino / urw
+
+qplb <qpl.enc <qplb.pfb
+qplbi <qpl.enc <qplbi.pfb
+qplr <qpl.enc <qplr.pfb
+qplri <qpl.enc <qplri.pfb
+
+% bookman / urw
+
+qbkb <qbk.enc <qbkb.pfb
+qbkbi <qbk.enc <qbkbi.pfb
+qbkr <qbk.enc <qbkr.pfb
+qbkri <qbk.enc <qbkri.pfb
+
+% chancery / urw
+
+qzcmi <qzc.enc <qzcmi.pfb
+
+% schoolbook / urw
+%
+% not available
+
+% utopia
+%
+% not available
+
+% charter
+%
+% not available
+
diff --git a/fonts/map/context/texnansi-base.map b/fonts/map/context/texnansi-base.map
new file mode 100644
index 000000000..1eda27fbd
--- /dev/null
+++ b/fonts/map/context/texnansi-base.map
@@ -0,0 +1,135 @@
+% courier / urw
+
+ucrb8y <texnansi.enc <ucrb8a.pfb
+ucrbo8y <texnansi.enc <ucrbo8a.pfb
+ucrr8y <texnansi.enc <ucrr8a.pfb
+ucrro8y <texnansi.enc <ucrro8a.pfb
+
+% courier / adobe
+
+pcrb8y <texnansi.enc <ucrb8a.pfb
+pcrbo8y <texnansi.enc <ucrbo8a.pfb
+pcrr8y <texnansi.enc <ucrr8a.pfb
+pcrro8y <texnansi.enc <ucrro8a.pfb
+
+% helvetica / urw
+
+uhvb8y <texnansi.enc <uhvb8a.pfb
+uhvbo8y <texnansi.enc <uhvbo8a.pfb
+uhvr8y <texnansi.enc <uhvr8a.pfb
+uhvro8y <texnansi.enc <uhvro8a.pfb
+
+% helvetica / adobe
+
+phvb8y <texnansi.enc <uhvb8a.pfb
+phvbo8y <texnansi.enc <uhvbo8a.pfb
+phvr8y <texnansi.enc <uhvr8a.pfb
+phvro8y <texnansi.enc <uhvro8a.pfb
+
+% times / urw
+
+utmb8y <texnansi.enc <utmb8a.pfb
+utmbi8y <texnansi.enc <utmbi8a.pfb
+utmr8y <texnansi.enc <utmr8a.pfb
+utmri8y <texnansi.enc <utmri8a.pfb
+
+utmbo8y ".167 SlantFont" <texnansi.enc <utmb8a.pfb
+utmro8y ".167 SlantFont" <texnansi.enc <utmr8a.pfb
+
+% times / adobe
+
+ptmb8y <texnansi.enc <utmb8a.pfb
+ptmbi8y <texnansi.enc <utmbi8a.pfb
+ptmr8y <texnansi.enc <utmr8a.pfb
+ptmri8y <texnansi.enc <utmri8a.pfb
+
+ptmbo8y ".167 SlantFont" <texnansi.enc <utmb8a.pfb
+ptmro8y ".167 SlantFont" <texnansi.enc <utmr8a.pfb
+
+% palatino / urw
+
+uplb8y <texnansi.enc <uplb8a.pfb
+uplbi8y <texnansi.enc <uplbi8a.pfb
+uplr8y <texnansi.enc <uplr8a.pfb
+uplri8y <texnansi.enc <uplri8a.pfb
+
+uplbo8y ".167 SlantFont" <texnansi.enc <uplb8a.pfb
+uplro8y ".167 SlantFont" <texnansi.enc <uplr8a.pfb
+
+% palatino / adobe
+
+pplb8y <texnansi.enc <uplb8a.pfb
+pplbi8y <texnansi.enc <uplbi8a.pfb
+pplr8y <texnansi.enc <uplr8a.pfb
+pplri8y <texnansi.enc <uplri8a.pfb
+
+pplbo8y ".167 SlantFont" <texnansi.enc <uplb8a.pfb
+pplro8y ".167 SlantFont" <texnansi.enc <uplr8a.pfb
+
+% bookman / urw
+
+ubkd8y <texnansi.enc <ubkd8a.pfb
+ubkdi8y <texnansi.enc <ubkdi8a.pfb
+ubkl8y <texnansi.enc <ubkl8a.pfb
+ubkli8y <texnansi.enc <ubkli8a.pfb
+
+ubkdo8y ".167 SlantFont" <texnansi.enc <ubkd8a.pfb
+ubklo8y ".167 SlantFont" <texnansi.enc <ubkl8a.pfb
+
+% bookman / adobe
+
+pbkd8y <texnansi.enc <ubkd8a.pfb
+pbkdi8y <texnansi.enc <ubkdi8a.pfb
+pbkl8y <texnansi.enc <ubkl8a.pfb
+pbkli8y <texnansi.enc <ubkli8a.pfb
+
+pbkdo8y ".167 SlantFont" <texnansi.enc <ubkd8a.pfb
+pbklo8y ".167 SlantFont" <texnansi.enc <ubkl8a.pfb
+
+% chancery / urw
+
+uzcmi8y <texnansi.enc <uzcmi8a.pfb
+
+% chancery / adobe
+
+pzcmi8y <texnansi.enc <uzcmi8a.pfb
+
+% schoolbook / urw
+
+uncb8y <texnansi.enc <uncb8a.pfb
+uncbi8y <texnansi.enc <uncbi8a.pfb
+uncr8y <texnansi.enc <uncr8a.pfb
+uncri8y <texnansi.enc <uncri8a.pfb
+
+uncbo8y ".167 SlantFont" <texnansi.enc <uncb8a.pfb
+uncro8y ".167 SlantFont" <texnansi.enc <uncr8a.pfb
+
+% schoolbook / adobe
+
+pncb8y <texnansi.enc <uncb8a.pfb
+pncbi8y <texnansi.enc <uncbi8a.pfb
+pncr8y <texnansi.enc <uncr8a.pfb
+pncri8y <texnansi.enc <uncri8a.pfb
+
+pncbo8y ".167 SlantFont" <texnansi.enc <uncb8a.pfb
+pncro8y ".167 SlantFont" <texnansi.enc <uncr8a.pfb
+
+% utopia
+
+putb8y <texnansi.enc <putb8a.pfb
+putbi8y <texnansi.enc <putbi8a.pfb
+putr8y <texnansi.enc <putr8a.pfb
+putri8y <texnansi.enc <putri8a.pfb
+
+putbo8y ".167 SlantFont" <texnansi.enc <putb8a.pfb
+putro8y ".167 SlantFont" <texnansi.enc <putr8a.pfb
+
+% charter
+
+bchb8y <texnansi.enc <bchb8a.pfb
+bchbi8y <texnansi.enc <bchbi8a.pfb
+bchbo8y <texnansi.enc <bchb8a.pfb
+bchr8y <texnansi.enc <bchr8a.pfb
+bchri8y <texnansi.enc <bchri8a.pfb
+
+bchro8y ".167 SlantFont" <texnansi.enc <bchr8a.pfb \ No newline at end of file
diff --git a/fonts/map/context/texnansi-public-antp.map b/fonts/map/context/texnansi-public-antp.map
deleted file mode 100644
index c375b487b..000000000
--- a/fonts/map/context/texnansi-public-antp.map
+++ /dev/null
@@ -1,18 +0,0 @@
-% This file is generated by the TeXFont Perl script.
-%
-% You need to add the following line to pdftex.cfg:
-%
-% map +texnansi-public-antp.map
-%
-% Alternatively in your TeX source you can say:
-%
-% \pdfmapfile{+texnansi-public-antp.map}
-%
-% In ConTeXt you can best use:
-%
-% \loadmapfile[texnansi-public-antp.map]
-
-texnansi-raw-antpb AntykwaPoltawskiego-Bold 4 < antpb.pfb texnansi.enc
-texnansi-raw-antpbi AntykwaPoltawskiego-BoldItalic 4 < antpbi.pfb texnansi.enc
-texnansi-raw-antpr AntykwaPoltawskiego-Regular 4 < antpr.pfb texnansi.enc
-texnansi-raw-antpri AntykwaPoltawskiego-Italic 4 < antpri.pfb texnansi.enc
diff --git a/fonts/map/context/texnansi-public-antt.map b/fonts/map/context/texnansi-public-antt.map
deleted file mode 100644
index 0b1122d0a..000000000
--- a/fonts/map/context/texnansi-public-antt.map
+++ /dev/null
@@ -1,17 +0,0 @@
-% This file is generated by the TeXFont Perl script.
-%
-% You need to add the following line to pdftex.cfg:
-%
-% map +texnansi-public-antt.map
-%
-% Alternatively in your TeX source you can say:
-%
-% \pdfmapfile{+texnansi-public-antt.map}
-%
-% In ConTeXt you can best use:
-%
-% \loadmapfile[texnansi-public-antt.map]
-
-texnansi-raw-anttb AntykwaTorunska-Bold 4 < anttb.pfb texnansi.enc
-texnansi-raw-anttr AntykwaTorunska-Regular 4 < anttr.pfb texnansi.enc
-texnansi-raw-anttri AntykwaTorunska-Italic 4 < anttri.pfb texnansi.enc
diff --git a/fonts/map/context/texnansi-public-lm.map b/fonts/map/context/texnansi-public-lm.map
new file mode 100644
index 000000000..1b5e17755
--- /dev/null
+++ b/fonts/map/context/texnansi-public-lm.map
@@ -0,0 +1,57 @@
+texnansi-lmb10 LMRomanDemi10-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmb10.pfb
+texnansi-lmbo10 LMRomanDemi10-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmbo10.pfb
+texnansi-lmbx10 LMRoman10-Bold "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmbx10.pfb
+texnansi-lmbx12 LMRoman12-Bold "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmbx12.pfb
+texnansi-lmbx5 LMRoman5-Bold "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmbx5.pfb
+texnansi-lmbx6 LMRoman6-Bold "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmbx6.pfb
+texnansi-lmbx7 LMRoman7-Bold "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmbx7.pfb
+texnansi-lmbx8 LMRoman8-Bold "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmbx8.pfb
+texnansi-lmbx9 LMRoman9-Bold "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmbx9.pfb
+texnansi-lmbxi10 LMRoman10-BoldItalic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmbxi10.pfb
+texnansi-lmbxo10 LMSlanted10-BoldItalic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmbxo10.pfb
+texnansi-lmcsc10 LMCaps10-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmcsc10.pfb
+texnansi-lmcsco10 LMCaps10-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmcsco10.pfb
+texnansi-lmr10 LMRoman10-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmr10.pfb
+texnansi-lmr12 LMRoman12-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmr12.pfb
+texnansi-lmr17 LMRoman17-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmr17.pfb
+texnansi-lmr5 LMRoman5-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmr5.pfb
+texnansi-lmr6 LMRoman6-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmr6.pfb
+texnansi-lmr7 LMRoman7-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmr7.pfb
+texnansi-lmr8 LMRoman8-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmr8.pfb
+texnansi-lmr9 LMRoman9-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmr9.pfb
+texnansi-lmri10 LMRoman10-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmri10.pfb
+texnansi-lmri12 LMRoman12-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmri12.pfb
+texnansi-lmri7 LMRoman7-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmri7.pfb
+texnansi-lmri8 LMRoman8-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmri8.pfb
+texnansi-lmri9 LMRoman9-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmri9.pfb
+texnansi-lmro10 LMSlanted10-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmro10.pfb
+texnansi-lmro12 LMSlanted12-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmro12.pfb
+texnansi-lmro8 LMSlanted8-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmro8.pfb
+texnansi-lmro9 LMSlanted9-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmro9.pfb
+texnansi-lmss10 LMSans10-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmss10.pfb
+texnansi-lmss12 LMSans12-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmss12.pfb
+texnansi-lmss17 LMSans17-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmss17.pfb
+texnansi-lmss8 LMSans8-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmss8.pfb
+texnansi-lmss9 LMSans9-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmss9.pfb
+texnansi-lmssbo10 LMSans10-BoldItalic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmssbo10.pfb
+texnansi-lmssbx10 LMSans10-Bold "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmssbx10.pfb
+texnansi-lmssdc10 LMSansDemiCond10-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmssdc10.pfb
+texnansi-lmssdo10 LMSansDemiCond10-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmssdo10.pfb
+texnansi-lmsso10 LMSans10-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmsso10.pfb
+texnansi-lmsso12 LMSans12-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmsso12.pfb
+texnansi-lmsso17 LMSans17-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmsso17.pfb
+texnansi-lmsso8 LMSans8-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmsso8.pfb
+texnansi-lmsso9 LMSans9-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmsso9.pfb
+texnansi-lmssq8 LMSansQuotation8-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmssq8.pfb
+texnansi-lmssqbo8 LMSansQuotation8-BoldItalic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmssqbo8.pfb
+texnansi-lmssqbx8 LMSansQuotation8-Bold "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmssqbx8.pfb
+texnansi-lmssqo8 LMSansQuotation8-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmssqo8.pfb
+texnansi-lmtcsc10 LMTypewriterCaps10-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmtcsc10.pfb
+texnansi-lmtt10 LMTypewriter10-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmtt10.pfb
+texnansi-lmtt12 LMTypewriter12-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmtt12.pfb
+texnansi-lmtt8 LMTypewriter8-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmtt8.pfb
+texnansi-lmtt9 LMTypewriter9-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmtt9.pfb
+texnansi-lmtti10 LMTypewriter10-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmtti10.pfb
+texnansi-lmtto10 LMTypewriterSlanted10-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmtto10.pfb
+texnansi-lmvtt10 LMTypewriterVarWd10-Regular "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmvtt10.pfb
+texnansi-lmvtto10 LMTypewriterVarWd10-Italic "enctexnansilm ReEncodeFont" <texnansi-lm.enc <lmvtto10.pfb
diff --git a/fonts/map/context/texnansi-var-exclusive-public-lm.map b/fonts/map/context/texnansi-var-exclusive-public-lm.map
new file mode 100644
index 000000000..647a64512
--- /dev/null
+++ b/fonts/map/context/texnansi-var-exclusive-public-lm.map
@@ -0,0 +1,61 @@
+% author: Hans Hagen
+%
+% This map file remaps texnansi encoded Latin Modern adapted for umlauts and other variations.
+
+texnansi-lmb10 LMRomanDemi10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmb10.pfb
+texnansi-lmbo10 LMRomanDemi10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbo10.pfb
+texnansi-lmbx10 LMRoman10-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbx10.pfb
+texnansi-lmbx12 LMRoman12-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbx12.pfb
+texnansi-lmbx5 LMRoman5-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbx5.pfb
+texnansi-lmbx6 LMRoman6-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbx6.pfb
+texnansi-lmbx7 LMRoman7-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbx7.pfb
+texnansi-lmbx8 LMRoman8-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbx8.pfb
+texnansi-lmbx9 LMRoman9-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbx9.pfb
+texnansi-lmbxi10 LMRoman10-BoldItalic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbxi10.pfb
+texnansi-lmbxo10 LMSlanted10-BoldItalic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbxo10.pfb
+texnansi-lmcsc10 LMCaps10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmcsc10.pfb
+texnansi-lmcsco10 LMCaps10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmcsco10.pfb
+texnansi-lmr10 LMRoman10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr10.pfb
+texnansi-lmr12 LMRoman12-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr12.pfb
+texnansi-lmr17 LMRoman17-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr17.pfb
+texnansi-lmr5 LMRoman5-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr5.pfb
+texnansi-lmr6 LMRoman6-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr6.pfb
+texnansi-lmr7 LMRoman7-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr7.pfb
+texnansi-lmr8 LMRoman8-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr8.pfb
+texnansi-lmr9 LMRoman9-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr9.pfb
+texnansi-lmri10 LMRoman10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmri10.pfb
+texnansi-lmri12 LMRoman12-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmri12.pfb
+texnansi-lmri7 LMRoman7-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmri7.pfb
+texnansi-lmri8 LMRoman8-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmri8.pfb
+texnansi-lmri9 LMRoman9-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmri9.pfb
+texnansi-lmro10 LMSlanted10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmro10.pfb
+texnansi-lmro12 LMSlanted12-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmro12.pfb
+texnansi-lmro8 LMSlanted8-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmro8.pfb
+texnansi-lmro9 LMSlanted9-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmro9.pfb
+texnansi-lmss10 LMSans10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmss10.pfb
+texnansi-lmss12 LMSans12-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmss12.pfb
+texnansi-lmss17 LMSans17-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmss17.pfb
+texnansi-lmss8 LMSans8-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmss8.pfb
+texnansi-lmss9 LMSans9-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmss9.pfb
+texnansi-lmssbo10 LMSans10-BoldItalic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssbo10.pfb
+texnansi-lmssbx10 LMSans10-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssbx10.pfb
+texnansi-lmssdc10 LMSansDemiCond10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssdc10.pfb
+texnansi-lmssdo10 LMSansDemiCond10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssdo10.pfb
+texnansi-lmsso10 LMSans10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmsso10.pfb
+texnansi-lmsso12 LMSans12-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmsso12.pfb
+texnansi-lmsso17 LMSans17-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmsso17.pfb
+texnansi-lmsso8 LMSans8-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmsso8.pfb
+texnansi-lmsso9 LMSans9-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmsso9.pfb
+texnansi-lmssq8 LMSansQuotation8-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssq8.pfb
+texnansi-lmssqbo8 LMSansQuotation8-BoldItalic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssqbo8.pfb
+texnansi-lmssqbx8 LMSansQuotation8-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssqbx8.pfb
+texnansi-lmssqo8 LMSansQuotation8-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssqo8.pfb
+texnansi-lmtcsc10 LMTypewriterCaps10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmtcsc10.pfb
+texnansi-lmtt10 LMTypewriter10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmtt10.pfb
+texnansi-lmtt12 LMTypewriter12-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmtt12.pfb
+texnansi-lmtt8 LMTypewriter8-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmtt8.pfb
+texnansi-lmtt9 LMTypewriter9-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmtt9.pfb
+texnansi-lmtti10 LMTypewriter10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmtti10.pfb
+texnansi-lmtto10 LMTypewriterSlanted10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmtto10.pfb
+texnansi-lmvtt10 LMTypewriterVarWd10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmvtt10.pfb
+texnansi-lmvtto10 LMTypewriterVarWd10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmvtto10.pfb \ No newline at end of file
diff --git a/fonts/map/context/texnansi-var-public-lm.map b/fonts/map/context/texnansi-var-public-lm.map
new file mode 100644
index 000000000..25f5eed09
--- /dev/null
+++ b/fonts/map/context/texnansi-var-public-lm.map
@@ -0,0 +1,61 @@
+% author: Hans Hagen
+%
+% This map file defines texnansi encoded Latin Modern adapted for umlauts and other variations.
+
+texnansi-var-lmb10 LMRomanDemi10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmb10.pfb
+texnansi-var-lmbo10 LMRomanDemi10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbo10.pfb
+texnansi-var-lmbx10 LMRoman10-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbx10.pfb
+texnansi-var-lmbx12 LMRoman12-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbx12.pfb
+texnansi-var-lmbx5 LMRoman5-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbx5.pfb
+texnansi-var-lmbx6 LMRoman6-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbx6.pfb
+texnansi-var-lmbx7 LMRoman7-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbx7.pfb
+texnansi-var-lmbx8 LMRoman8-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbx8.pfb
+texnansi-var-lmbx9 LMRoman9-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbx9.pfb
+texnansi-var-lmbxi10 LMRoman10-BoldItalic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbxi10.pfb
+texnansi-var-lmbxo10 LMSlanted10-BoldItalic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmbxo10.pfb
+texnansi-var-lmcsc10 LMCaps10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmcsc10.pfb
+texnansi-var-lmcsco10 LMCaps10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmcsco10.pfb
+texnansi-var-lmr10 LMRoman10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr10.pfb
+texnansi-var-lmr12 LMRoman12-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr12.pfb
+texnansi-var-lmr17 LMRoman17-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr17.pfb
+texnansi-var-lmr5 LMRoman5-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr5.pfb
+texnansi-var-lmr6 LMRoman6-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr6.pfb
+texnansi-var-lmr7 LMRoman7-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr7.pfb
+texnansi-var-lmr8 LMRoman8-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr8.pfb
+texnansi-var-lmr9 LMRoman9-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmr9.pfb
+texnansi-var-lmri10 LMRoman10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmri10.pfb
+texnansi-var-lmri12 LMRoman12-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmri12.pfb
+texnansi-var-lmri7 LMRoman7-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmri7.pfb
+texnansi-var-lmri8 LMRoman8-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmri8.pfb
+texnansi-var-lmri9 LMRoman9-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmri9.pfb
+texnansi-var-lmro10 LMSlanted10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmro10.pfb
+texnansi-var-lmro12 LMSlanted12-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmro12.pfb
+texnansi-var-lmro8 LMSlanted8-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmro8.pfb
+texnansi-var-lmro9 LMSlanted9-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmro9.pfb
+texnansi-var-lmss10 LMSans10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmss10.pfb
+texnansi-var-lmss12 LMSans12-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmss12.pfb
+texnansi-var-lmss17 LMSans17-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmss17.pfb
+texnansi-var-lmss8 LMSans8-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmss8.pfb
+texnansi-var-lmss9 LMSans9-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmss9.pfb
+texnansi-var-lmssbo10 LMSans10-BoldItalic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssbo10.pfb
+texnansi-var-lmssbx10 LMSans10-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssbx10.pfb
+texnansi-var-lmssdc10 LMSansDemiCond10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssdc10.pfb
+texnansi-var-lmssdo10 LMSansDemiCond10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssdo10.pfb
+texnansi-var-lmsso10 LMSans10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmsso10.pfb
+texnansi-var-lmsso12 LMSans12-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmsso12.pfb
+texnansi-var-lmsso17 LMSans17-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmsso17.pfb
+texnansi-var-lmsso8 LMSans8-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmsso8.pfb
+texnansi-var-lmsso9 LMSans9-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmsso9.pfb
+texnansi-var-lmssq8 LMSansQuotation8-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssq8.pfb
+texnansi-var-lmssqbo8 LMSansQuotation8-BoldItalic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssqbo8.pfb
+texnansi-var-lmssqbx8 LMSansQuotation8-Bold "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssqbx8.pfb
+texnansi-var-lmssqo8 LMSansQuotation8-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmssqo8.pfb
+texnansi-var-lmtcsc10 LMTypewriterCaps10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmtcsc10.pfb
+texnansi-var-lmtt10 LMTypewriter10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmtt10.pfb
+texnansi-var-lmtt12 LMTypewriter12-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmtt12.pfb
+texnansi-var-lmtt8 LMTypewriter8-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmtt8.pfb
+texnansi-var-lmtt9 LMTypewriter9-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmtt9.pfb
+texnansi-var-lmtti10 LMTypewriter10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmtti10.pfb
+texnansi-var-lmtto10 LMTypewriterSlanted10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmtto10.pfb
+texnansi-var-lmvtt10 LMTypewriterVarWd10-Regular "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmvtt10.pfb
+texnansi-var-lmvtto10 LMTypewriterVarWd10-Italic "enctexnansivarlm ReEncodeFont" <texnansi-var-lm.enc <lmvtto10.pfb \ No newline at end of file
diff --git a/metapost/context/base/mp-core.mp b/metapost/context/base/mp-core.mp
index 64ac0dfff..51d2d0025 100644
--- a/metapost/context/base/mp-core.mp
+++ b/metapost/context/base/mp-core.mp
@@ -1111,14 +1111,14 @@ vardef do_draw_par (expr p) =
pp := p ;
fi ;
if boxfilltype>0 :
-if boxfilloffset>0 :
- % temporary hack
- begingroup ; interim linejoin := mitered ;
- filldraw pp withcolor boxfillcolor withpen pencircle scaled (2*boxfilloffset) ;
- endgroup ;
-else :
- fill pp withcolor boxfillcolor ;
-fi ;
+ if boxfilloffset>0 :
+ % temporary hack
+ begingroup ; interim linejoin := mitered ;
+ filldraw pp withcolor boxfillcolor withpen pencircle scaled (2*boxfilloffset) ;
+ endgroup ;
+ else :
+ fill pp withcolor boxfillcolor ;
+ fi ;
fi ;
if boxlinetype>0 :
draw pp withcolor boxlinecolor withpen pencircle scaled boxlinewidth ;
diff --git a/context/perltk/cont_mis.pm b/scripts/context/perl/cont_mis.pm
index 6bd449bf0..6bd449bf0 100644
--- a/context/perltk/cont_mis.pm
+++ b/scripts/context/perl/cont_mis.pm
diff --git a/context/perltk/cont_set.pm b/scripts/context/perl/cont_set.pm
index 9c6d2cbcd..9c6d2cbcd 100644
--- a/context/perltk/cont_set.pm
+++ b/scripts/context/perl/cont_set.pm
diff --git a/context/perltk/fdf2tan.pl b/scripts/context/perl/fdf2tan.pl
index c612f9886..c612f9886 100644
--- a/context/perltk/fdf2tan.pl
+++ b/scripts/context/perl/fdf2tan.pl
diff --git a/context/perltk/fdf2tex.pl b/scripts/context/perl/fdf2tex.pl
index f9684cd9f..f9684cd9f 100644
--- a/context/perltk/fdf2tex.pl
+++ b/scripts/context/perl/fdf2tex.pl
diff --git a/context/perltk/makempy.pl b/scripts/context/perl/makempy.pl
index 3efbce4e0..3efbce4e0 100644
--- a/context/perltk/makempy.pl
+++ b/scripts/context/perl/makempy.pl
diff --git a/context/perltk/mptopdf.pl b/scripts/context/perl/mptopdf.pl
index 337869519..337869519 100644
--- a/context/perltk/mptopdf.pl
+++ b/scripts/context/perl/mptopdf.pl
diff --git a/context/perltk/path_tre.pm b/scripts/context/perl/path_tre.pm
index 546afcd27..546afcd27 100644
--- a/context/perltk/path_tre.pm
+++ b/scripts/context/perl/path_tre.pm
diff --git a/context/perltk/texexec.pl b/scripts/context/perl/texexec.pl
index cd75821a9..e3bf969ec 100644
--- a/context/perltk/texexec.pl
+++ b/scripts/context/perl/texexec.pl
@@ -165,6 +165,7 @@ my $Verbose = 0;
my $PdfCopy = 0;
my $LogFile = "";
my $MpyForce = 0;
+my $InpPath = "";
my $RunPath = "";
my $Arguments = "";
my $Pretty = 0;
@@ -225,7 +226,7 @@ my $MakeMpy = '';
"pages=s" => \$Pages,
"paper=s" => \$PaperFormat,
"passon=s" => \$PassOn,
- "path=s" => \$RunPath,
+ "path=s" => \$InpPath,
"pdf" => \$ProducePdfT,
"pdm" => \$ProducePdfM,
"pdx" => \$ProducePdfX,
@@ -261,6 +262,7 @@ my $MakeMpy = '';
"setfile=s" => \$SetFile,
"purge" => \$Purge,
#### yet undocumented #################
+ "runpath=s" => \$RunPath,
"random" => \$Random,
"makempy=s" => \$MakeMpy,
"allpatterns" => \$AllPatterns,
@@ -325,7 +327,7 @@ if ( ( $LogFile ne '' ) && ( $LogFile =~ /\w+\.log$/io ) ) {
*STDERR = *LOGFILE;
}
-my $Program = " TeXExec 4.0 - ConTeXt / PRAGMA ADE 1997-2004";
+my $Program = " TeXExec 4.3 - ConTeXt / PRAGMA ADE 1997-2004";
print "\n$Program\n\n";
@@ -397,10 +399,16 @@ else { @paths = split( /\:/, $ENV{PATH} ) }
my $kpsewhich = '';
sub found_ini_file {
- my $suffix = shift;
- my $IniPath = `$kpsewhich --format="other text files" -progname=context texexec.$suffix`;
- chomp($IniPath);
- return $IniPath;
+ my $suffix = shift ;
+ print " locating ini file : kpsewhiching texexec.$suffix on scripts\n" if $Verbose ;
+ my $IniPath = `$kpsewhich --format="scripts" -progname=context texexec.$suffix` ;
+ chomp($IniPath) ;
+ if ($IniPath eq '') {
+ print " locating ini file : kpsewhiching texexec.$suffix elsewhere\n" if $Verbose ;
+ $IniPath = `$kpsewhich --format="other text files" -progname=context texexec.$suffix` ;
+ chomp($IniPath) ;
+ }
+ return $IniPath ;
}
if ( $IniPath eq '' ) {
@@ -410,7 +418,7 @@ if ( $IniPath eq '' ) {
$kpsewhich = $p;
# FP: catch spurious error messages here if there $p has
# spaces and $own_quote is not set
- $kpsewhich = ($kpsewhich =~ m/^[^\"].* / ? "\"$kpsewhich\"" : "$kpsewhich") ;
+ $kpsewhich = ($kpsewhich =~ m/^[^\"].* / ? "\"$kpsewhich\"" : "$kpsewhich") ;
$IniPath = found_ini_file("ini");
unless ( -e $IniPath ) { $IniPath = found_ini_file("rme") }
last;
@@ -423,8 +431,7 @@ if ( $IniPath eq '' ) {
print " locating ini file : not found by kpsewhich\n";
} else {
if ( $IniPath =~ /rme/oi ) {
- print
-" locating ini file : not found by kpsewhich, using '.rme' file\n";
+ print " locating ini file : not found by kpsewhich, using '.rme' file\n";
} else {
print " locating ini file : found by kpsewhich\n";
}
@@ -992,10 +999,10 @@ sub MakeOptionFile {
if ( $ModeFile ne '' ) { print OPT "\\readlocfile{$ModeFile}{}{}" }
if ( $Result ne '' ) { print OPT "\\setupsystem[file=$Result]\n" }
elsif ($Suffix) { print OPT "\\setupsystem[file=$JobName$Suffix]\n" }
- if ( $RunPath ne "" ) {
- $RunPath =~ s/\\/\//go;
- $RunPath =~ s/\/$//go;
- print OPT "\\usepath[$RunPath]\n";
+ if ( $InpPath ne "" ) {
+ $InpPath =~ s/\\/\//go;
+ $InpPath =~ s/\/$//go;
+ print OPT "\\usepath[$InpPath]\n";
}
$MainLanguage = lc $MainLanguage;
unless ( $MainLanguage eq "standard" ) {
@@ -1302,6 +1309,25 @@ sub RunTeX {
} else {
$Problems = system("$cmd");
}
+ # generate formats if needed and retry
+ if ($Problems) {
+ my $efmt = `$kpsewhich cont-en.efmt` ;
+ chomp $efmt ;
+ if ($efmt eq "") {
+ # generate formats
+ print "\n";
+ print " emergency action : generate all formats\n";
+ system("texexec --make --alone --all") ;
+ # try again
+ print "\n";
+ print " emergency action : retry processing file\n";
+ if ($EnterBatchMode) {
+ $Problems = system("$cmd");
+ } else {
+ $Problems = system("$cmd");
+ }
+ }
+ }
my $StopTime = time - $StartTime;
print "\n return code : $Problems";
print "\n run time : $StopTime seconds\n";
@@ -1484,7 +1510,7 @@ sub isXMLfile {
sub RunConTeXtFile {
my ( $JobName, $JobSuffix ) = @_;
$JobName =~ s/\\/\//goi;
- $RunPath =~ s/\\/\//goi;
+ $InpPath =~ s/\\/\//goi;
my $OriSuffix = $JobSuffix;
if (($dosish) && ($PdfClose)) {
my $ok = system("pdfclose --file $JobName.pdf") if -e "$JobName.pdf" ;
@@ -1498,9 +1524,9 @@ sub RunConTeXtFile {
}
# to be considered :
# { $DummyFile = isXMLfile("$JobName.$JobSuffix") }
- elsif ( $RunPath ne "" ) {
- my @RunPaths = split( /,/, $RunPath );
- foreach my $rp (@RunPaths) {
+ elsif ( $InpPath ne "" ) {
+ my @InpPaths = split( /,/, $InpPath );
+ foreach my $rp (@InpPaths) {
if ( -e "$rp/$JobName.$JobSuffix" ) { $DummyFile = 1; last }
}
}
@@ -1540,7 +1566,7 @@ sub RunConTeXtFile {
if ( $Format eq '' ) { $Format = "cont-$ConTeXtInterface" }
print " executable : $TeXProgramPath$TeXExecutable\n";
print " format : $TeXFormatPath$Format\n";
- if ($RunPath) { print " source path : $RunPath\n" }
+ if ($InpPath) { print " source path : $InpPath\n" }
if ($DummyFile) {
print " dummy file : $JobName.$JobSuffix\n";
@@ -1732,8 +1758,7 @@ sub RunFigures {
print FIG " [option=max]\n";
}
print FIG "\\starttext\n";
- print FIG
-"\\showexternalfigures[alternative=$TypesetFigures,offset=$PaperOffset]\n";
+ print FIG "\\showexternalfigures[alternative=$TypesetFigures,offset=$PaperOffset]\n";
print FIG "\\stoptext\n";
close(FIG);
$ConTeXtInterface = "en";
@@ -1874,8 +1899,7 @@ sub RunSelect {
}
sub RunCopy {
- my $FileName = shift;
- print " pdffile : $FileName\n";
+ my @Files = @_ ;
if ( $PageScale == 1000 ) {
print " offset : $PaperOffset\n";
} else {
@@ -1884,34 +1908,36 @@ sub RunCopy {
}
open( COP, ">$CopyFile.tex" );
print COP "% format=english\n";
- print COP "\\getfiguredimensions\n";
- print COP " [$FileName][page=1]\n";
- print COP "\\definepapersize\n";
- print COP " [copy]\n";
- print COP " [width=\\naturalfigurewidth,\n";
- print COP " height=\\naturalfigureheight]\n";
- print COP "\\setuppapersize\n";
- print COP " [copy][copy]\n";
- print COP "\\setuplayout\n";
- print COP " [location=middle,\n";
- print COP " topspace=0pt,\n";
- print COP " backspace=0pt,\n";
- print COP " header=0pt,\n";
- print COP " footer=0pt,\n";
- print COP " width=middle,\n";
- print COP " height=middle]\n";
- print COP "\\setupexternalfigures\n";
- print COP " [directory=]\n";
print COP "\\starttext\n";
- print COP "\\copypages\n";
- print COP " [$FileName]\n";
- print COP " [scale=$PageScale,\n";
-
- if ($Markings) {
- print COP " marking=on,\n";
- print " cutmarkings : on\n";
+ for my $FileName (@Files) {
+ print " pdffile : $FileName\n";
+ print COP "\\getfiguredimensions\n";
+ print COP " [$FileName][page=1]\n";
+ print COP "\\definepapersize\n";
+ print COP " [copy]\n";
+ print COP " [width=\\naturalfigurewidth,\n";
+ print COP " height=\\naturalfigureheight]\n";
+ print COP "\\setuppapersize\n";
+ print COP " [copy][copy]\n";
+ print COP "\\setuplayout\n";
+ print COP " [location=middle,\n";
+ print COP " topspace=0pt,\n";
+ print COP " backspace=0pt,\n";
+ print COP " header=0pt,\n";
+ print COP " footer=0pt,\n";
+ print COP " width=middle,\n";
+ print COP " height=middle]\n";
+ print COP "\\setupexternalfigures\n";
+ print COP " [directory=]\n";
+ print COP "\\copypages\n";
+ print COP " [$FileName]\n";
+ print COP " [scale=$PageScale,\n";
+ if ($Markings) {
+ print COP " marking=on,\n";
+ print " cutmarkings : on\n";
+ }
+ print COP " offset=$PaperOffset]\n";
}
- print COP " offset=$PaperOffset]\n";
print COP "\\stoptext\n";
close(COP);
$ConTeXtInterface = "en";
@@ -2005,7 +2031,7 @@ sub RunOneFormat {
}
if ($Problems) {
$Problems = 0;
- if ( $TeXExecutable =~ /etex|eetex|pdfetex|pdfeetex|eomega/io ) {
+ if ( $TeXExecutable =~ /etex|eetex|pdfetex|pdfeetex|pdfxtex|xpdfetex|eomega|aleph/io ) {
$TeXPrefix = "*";
}
my $CurrentPath = cwd();
@@ -2079,6 +2105,23 @@ sub RunMpFormat {
}
sub RunFiles {
+my $currentpath = cwd() ;
+# test if current path is writable
+if (! -w $currentpath) {
+ print " current path readonly : $currentpath\n";
+ if ($ENV["TEMP"] && -e $ENV["TEMP"]) {
+ $RunPath = $ENV["TEMP"] ;
+ } elsif ($ENV["TMP"] && -e $ENV["TMP"]) {
+ $RunPath = $ENV["TMP"] ;
+ }
+}
+# test if we need to change paths
+if (($RunPath ne "") && (! -w $RunPath)) {
+ print " changing to path : $RunPath\n";
+ $InpPath = $currentpath ;
+ chdir ($RunPath) ;
+}
+# start working
if ($PdfArrange) {
my @arrangedfiles = ();
foreach my $JobName (@ARGV) {
@@ -2096,9 +2139,12 @@ sub RunFiles {
if ( -f "$JobName.pdf" ) { $JobName .= ".pdf" }
else { $JobName .= ".PDF" }
}
- if ($PdfSelect) { RunSelect($JobName) }
- elsif ($PdfCopy) { RunCopy($JobName) }
- else {
+ if ($PdfSelect) {
+ RunSelect($JobName) ;
+ } elsif ($PdfCopy) {
+ # RunCopy($JobName) ;
+ RunCopy(@ARGV) ;
+ } else {
# RunCombine ($JobName) ;
RunCombine(@ARGV);
}
diff --git a/context/perltk/texexec.rme b/scripts/context/perl/texexec.rme
index f544f5bbf..f544f5bbf 100644
--- a/context/perltk/texexec.rme
+++ b/scripts/context/perl/texexec.rme
diff --git a/context/perltk/texfind.pl b/scripts/context/perl/texfind.pl
index 53a560c79..53a560c79 100644
--- a/context/perltk/texfind.pl
+++ b/scripts/context/perl/texfind.pl
diff --git a/context/perltk/texfont.pl b/scripts/context/perl/texfont.pl
index 6e0b95978..b762e928d 100644
--- a/context/perltk/texfont.pl
+++ b/scripts/context/perl/texfont.pl
@@ -381,8 +381,11 @@ if (($batch)||(($ARGV[0]) && ($ARGV[0] =~ /.+\.dat$/io)))
{ if ($batchfile !~ /\.dat$/io) { $batchfile .= ".dat" } }
unless (-f $batchfile)
{ report ("trying to locate : $batchfile") ;
- $batchfile = `kpsewhich -progname=context --format="other text files" $batchfile` ;
- chomp $batchfile }
+ $batchfile = `kpsewhich --format="scripts" -progname=context $batchfile` ;
+ chomp $batchfile ;
+ if ($batchfile eq '')
+ { $batchfile = `kpsewhich --format="other text files" -progname=context $batchfile` ;
+ chomp $batchfile } }
error ("unknown batch file $batchfile") unless -e $batchfile ;
report ("processing batch file : $batchfile") ;
my $select = (($vendor ne "")||($collection ne "")) ;
@@ -1062,7 +1065,7 @@ foreach my $file (@files)
$mapdata =~ s/^$thename\s.*?$//gmis ;
if ($afmpl) {
if ($mapdata =~ s/^$rawname\s.*?$//gmis) {
- report ("removing conflicting file : $rawname") ;
+ report ("removing raw file : $rawname") ;
}
}
$maplist .= $str ;
diff --git a/scripts/context/perl/texshow.pl b/scripts/context/perl/texshow.pl
new file mode 100644
index 000000000..533d7ed89
--- /dev/null
+++ b/scripts/context/perl/texshow.pl
@@ -0,0 +1,97 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+#D \module
+#D [ file=texshow.pl,
+#D version=1999.03.30,
+#D title=\TEXSHOW,
+#D subtitle=showing \CONTEXT\ commands,
+#D author=Hans Hagen,
+#D date=\currentdate,
+#D copyright={PRAGMA / Hans Hagen \& Ton Otten},
+#D suggestions={Tobias Burnus \& Taco Hoekwater}]
+#C
+#C This module is part of the \CONTEXT\ macro||package and is
+#C therefore copyrighted by \PRAGMA. See licen-en.pdf for
+#C details.
+
+#D We need to find the module path. We could have used:
+#D
+#D \starttypen
+#D use FindBin ;
+#D use lib $FindBin::Bin ;
+#D \stoptypen
+#D
+#D But because we're sort of depending on \WEBC\ anyway, the
+#D next few lines are more appropriate:
+
+BEGIN {
+ $cont_pm_path = `kpsewhich --format="scripts" --progname=context cont_mis.pm` ;
+ chomp($cont_pm_path) ;
+ if ($cont_pm_path eq '') {
+ $cont_pm_path = `kpsewhich --format="other text files" --progname=context cont_mis.pm` ;
+ chomp($cont_pm_path) ;
+ }
+ $cont_pm_path =~ s/cont_mis\.pm.*// ;
+}
+
+use lib $cont_pm_path ;
+
+#D Now we can load some modules:
+
+use Getopt::Long ;
+
+$Getopt::Long::passthrough = 1 ; # no error message
+$Getopt::Long::autoabbrev = 1 ; # partial switch accepted
+
+&GetOptions
+ ( "help" => \$ShowHelp ,
+ "interface" => \$Interface ) ;
+
+cont_mis::banner ('TeXShow 0.1 - ConTeXt', 'PRAGMA ADE 1999') ;
+
+if ($ShowHelp)
+ { cont_mis::help ('--help', "print this help") ;
+ cont_mis::help ('--interface', "primary interface") ;
+ cont_mis::help ('string', "show info about command 'string'") ;
+ cont_mis::help ('string lg', "show info about 'string' in language 'lg'") ;
+ cont_mis::crlf () ;
+ exit 0 }
+
+use cont_mis ;
+use cont_set ;
+
+use Tk ;
+
+#D This scripts is rather simple, because most of the action
+#D takes place in the module \type {cont_set.pm}.
+
+cont_mis::status ('searching for setup files') ;
+
+if (cont_set::setups_found)
+ { cont_mis::status ('loading setups') ;
+ cont_set::load_setups ;
+ cont_mis::status ('preparing display') ;
+ cont_set::show_setups ;
+ $command = $ARGV[0] ;
+ $interface = $ARGV[1] ;
+ if ($interface)
+ { $Interface = $interface }
+ if ($Interface)
+ { cont_set::set_setup_interface($Interface) ;
+ cont_mis::message ('primary interface', $Interface) }
+ if ($command)
+ { cont_mis::message ('searching command', $command) ;
+ cont_set::show_setup ($command) }
+ else
+ { cont_mis::warning ('no command specified') ;
+ cont_set::set_setup_title('TeXShow : ConTeXt commands') }
+ cont_mis::status ('entering main loop') ;
+ #$mw -> bind ('<ctrl-q>', exit ) ;
+ #$mw -> bind ('<esc>', exit ) ;
+ MainLoop () }
+else
+ { cont_mis::error ('no setup files found') }
+
+END { cont_mis::crlf ;
+ cont_mis::status ('closing down') }
diff --git a/context/perltk/texutil.pl b/scripts/context/perl/texutil.pl
index 766cc998d..14b2b3a4f 100644
--- a/context/perltk/texutil.pl
+++ b/scripts/context/perl/texutil.pl
@@ -16,7 +16,7 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $
# 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
+# Thanks to Taco Hoekwater for making the file -w proof and some fixes
# Thanks to Alex Knowles and friends for the right JPG specs
# Thanks to Sebastian Rahtz for the eps to PDF method
# Thanks to Fabrice Popineau for windows bin code
@@ -40,7 +40,7 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $
#D binary version, like scanning illustrations other than \EPS.
#D I would suggest to keep an eye on the version number:
-$Program = "TeXUtil 8.1 - ConTeXt / PRAGMA ADE 1992-2003" ;
+$Program = "TeXUtil 8.2 - ConTeXt / PRAGMA ADE 1992-2004" ;
#D By the way, this is my first \PERL\ script, which means
#D that it will be improved as soon as I find new and/or more
@@ -2011,7 +2011,7 @@ sub SaveFigurePresets
if ($FUni)
{ print "n=$FNam t=$FTyp " .
(sprintf "x=%1.3fcm y=%1.3fcm ", $FXof, $FYof) .
- (sprintf "w=%1.3fcm h=%1.3fcm\n", $FWid, $FHei) }
+ (sprintf "w=%5.3fcm h=%5.3fcm\n", $FWid, $FHei) }
else
{ print "n=$FNam t=$FTyp " .
"x=${FXof}bp y=${FYof}bp " .
@@ -2021,7 +2021,7 @@ sub SaveFigurePresets
{ ++$NOfFigures ;
$Figures[$NOfFigures] = "\\presetfigure[$FNam][e=$FTyp" ;
if ($FUni)
- { $Figures[$NOfFigures] .= (sprintf ",w=%5.3fcm,h=%5.3fcm", $FWid, $FHei) }
+ { $Figures[$NOfFigures] .= (sprintf ",w=%5.3fcm,h=%5.3fcm\n", $FWid, $FHei) }
else
{ $Figures[$NOfFigures] .= ",w=${FWid}bp,h=${FHei}bp" }
if (($FXof!=0)||($FYof!=0))
@@ -2218,12 +2218,12 @@ sub HandlePdfFigure
#D the current implementation does this job itself.
sub TifGetByte
- { my ($B) = 0 ;
+ { my $B = 0 ;
read TIF, $B, 1 ;
return ord($B) }
sub TifGetShort
- { my ($S) = 0 ;
+ { my $S = 0 ;
read TIF, $S, 2 ;
if ($TifLittleEndian)
{ return (unpack ("v", $S)) }
@@ -2231,7 +2231,7 @@ sub TifGetShort
{ return (unpack ("n", $S)) } }
sub TifGetLong
- { my ($L) = 0 ;
+ { my $L = 0 ;
read TIF, $L, 4 ;
if ($TifLittleEndian)
{ return (unpack ("V", $L)) }
@@ -2245,9 +2245,9 @@ sub TifGetRational
return $N/$M }
sub TifGetAscii
- { my ($S) = "" ;
+ { my $S = "" ;
--$TifValues;
- if ($TifValues)
+ unless ($TifValues)
{ return "" }
else
{ read TIF, $S, $TifValues ;
@@ -2333,15 +2333,17 @@ sub HandleTifFigure
while (TifGetChunk) { }
if ($TifUnit==2)
{ $TifMult = $INtoCM }
- else
+ elsif ($TifUnit==3)
{ $TifMult = 1 }
- $TifWidth = ($TifWidth /$TifHRes)*$TifMult ;
- $TifHeight = ($TifHeight/$TifVRes)*$TifMult ;
- close ( TIF ) ;
- SaveFigurePresets
- ( $TifFile, "tif", $TifUnit,
- 0, 0, $TifWidth, $TifHeight,
- $TifTitle, $TifCreator, $TifSize ) } } }
+ else
+ { $TifMult = 72 }
+ $TifWidth = ($TifWidth /$TifHRes)*$TifMult ;
+ $TifHeight = ($TifHeight/$TifVRes)*$TifMult ;
+ close ( TIF ) ;
+ SaveFigurePresets
+ ( $TifFile, "tif", $TifUnit,
+ 0, 0, $TifWidth, $TifHeight,
+ $TifTitle, $TifCreator, $TifSize ) } } }
#D I first intended to use the public utility \type{pngmeta}
#D (many thanks to Taco for compiling it), but using this
@@ -2384,14 +2386,14 @@ sub PngGetChunk
$PngVRes = PngGetLong ;
read PNG, $PngUnit, 1 }
elsif ($PngType eq "tEXt")
- { read PNG, $PngKeyword, 79 ;
- read PNG, $PngDummy, 1 ;
+ { read PNG, $PngKeyword, $PngLength ;
+ ($PngKeyword,$PngDummy) = split(/\x00/,$PngKeyword) ;
if ( $PngKeyword eq "Title")
- { read PNG, $PngTitle, $Length }
+ { $PngTitle = $PngDummy }
elsif ( $PngKeyword eq "Author")
- { read PNG, $PngAuthor, $PngLength }
+ { $PngAuthor = $PngDummy }
elsif ( $PngKeyword eq "Software")
- { read PNG, $PngCreator, $PngLength } }
+ { $PngCreator = $PngDummy } }
return 1 }
else
{ return 0 } }
@@ -2511,6 +2513,8 @@ sub HandleJpgFigure
{ $JpgMult = $INtoCM }
else
{ $JpgMult = 1 }
+ $JpgHRes = 72 unless $JpgHRes>1 ;
+ $JpgVRes = 72 unless $JpgVRes>1 ;
$JpgWidth = ($JpgWidth/$JpgHRes)*$JpgMult ;
$JpgHeight = ($JpgHeight/$JpgVRes)*$JpgMult ;
close ( JPG ) ;
@@ -2697,7 +2701,8 @@ my @dontaskprefixes = sort glob "mpx-*" ; push @dontaskprefixes ,
"cont-opt.tex","cont-opt.bak") ;
my @dontasksuffixes =
("mpgraph.mp","mpgraph.mpd","mpgraph.mpo","mpgraph.mpy",
- "mprun.mp", "mprun.mpd", "mprun.mpo", "mprun.mpy") ;
+ "mprun.mp", "mprun.mpd", "mprun.mpo", "mprun.mpy",
+ "xlscript.xsl") ;
my @forsuresuffixes =
("tui","tup","ted","tes","top",
"log","tmp","run","bck","rlg",
diff --git a/context/perltk/utiplug.pm b/scripts/context/perl/utiplug.pm
index 2bc162e1e..2bc162e1e 100644
--- a/context/perltk/utiplug.pm
+++ b/scripts/context/perl/utiplug.pm
diff --git a/tex/context/base/colo-ini.tex b/tex/context/base/colo-ini.tex
index dab205860..d82445383 100644
--- a/tex/context/base/colo-ini.tex
+++ b/tex/context/base/colo-ini.tex
@@ -1742,7 +1742,7 @@
% seperations in one file); no user command!
\def\resynccolor
- {\ifdim\pagetotal=\zeropoint
+ {\ifcase\pagetotal % \ifdim\pagetotal=\zeropoint
\popcolor
\else\ifx\@@currentcolor\empty
\ifx\maintextcolor\empty\else
diff --git a/tex/context/base/cont-fil.tex b/tex/context/base/cont-fil.tex
index d47256be0..8cd6a5639 100644
--- a/tex/context/base/cont-fil.tex
+++ b/tex/context/base/cont-fil.tex
@@ -78,6 +78,9 @@
%definefilesynonym [pre-more] [pre-29]
%definefilesynonym [pre-more] [pre-30]
+\definefilesynonym [pre-stepwise] [pre-60]
+\definefilesynonym [pre-stepper] [pre-61]
+
\definefilesynonym [abr-pseudocaps] [abr-01]
\definefilesynonym [abr-smallcaps] [abr-02]
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index a78d0e4dc..723d14f53 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -16,12 +16,44 @@
%D features.
% todo: mp-new
+
\unprotect
\writestatus{\m!systems}{beware: some patches loaded from cont-new.tex!}
% todo : test low level translation (nl->en) and optimize script
+\def\tightlayer[#1]%
+ {\begingroup
+ \def\currentlayer{#1}% todo: left/right
+ \setbox\nextbox\emptybox % hoogte/breedte are \wd\nextbox/\ht\nextbox
+ \hsize\layerparameter\c!breedte % \overlaywidth = \hsize
+ \vsize\layerparameter\c!hoogte % \overlaywheight = \vsize
+ \hbox to \hsize{\composedlayer{#1}}%
+ \endgroup}
+
+\let\locatedfilepath\empty
+
+\def\locatefilepath#1%
+ {\let\locatedfilepath\empty
+ \ifx\allinputpaths\empty \else
+ \def\docommando##1%
+ {\doiffileelse{\pathplusfile{##1}{#1}}{\donetrue\def\locatedfilepath{##1}}\donefalse
+ \ifdone\expandafter\quitcommalist\fi}%
+ \doifparentfileelse{#1} % new
+ {\processcommacommand [\allinputpaths]\docommando}
+ {\processcommacommand[.,\allinputpaths]\docommando}%
+ \fi}
+
+\def\setfontstrut
+ {\setcharstrut{(gplQT}}
+
+\def\doifXMLtextelse#1%
+ {\doiftextelse{\simplifyXMLelements#1}}
+
+\def\doifXMLtext#1#2%
+ {\doiftextelse{\simplifyXMLelements#1}{#2}\donothing}
+
% todo : share symbols
% \definecolor[rollover:n][red]
@@ -170,68 +202,6 @@
% [ShowMenu]
% [{\overlayrollbutton[VideLayer{navigation}][HideLayer{navigation}]}]
-\def\dodoflushlayer#1#2#3%
- {\ifundefined{\@@layerbox#3}%
- \ifcase#1\else\writestatus{layer}{unknown layer #3}\fi
- \else
- \bgroup
- \forgetall
- \offinterlineskip
- % needed because we need to handle method
-\executeifdefined{\??ll\??ll\getvalue{\??ll#2\c!preset}}\gobbletwoarguments{#2}{}%
- %
- \doifvalue{\??ll#2\c!optie}\v!test\tracelayerstrue
- \iftracelayers\traceboxplacementtrue\fi
- \!!doneafalse
- \!!donebfalse
- \doifvalue{\??ll#2\c!methode}\v!overlay\!!doneatrue
- \doifvalue{\??ll#2\c!methode}\v!passend\!!donebtrue
- \!!donectrue
- \ifcase#1\else
- \doifnotvalue{\??ll#2\c!positie}\v!ja
- {\doifvalue{\??ll#2\c!herhaal}\v!ja\!!donecfalse
- \doifvalue{\??ll#2\c!status}\v!herhaal\!!donecfalse}%
- \fi
- \chardef\layerbox\csname\@@layerbox#3\endcsname
- % we need to copy in order to retain the negative offsets for a next
- % stage of additions, i.e. llx/lly accumulate in repeat mode and the
- % compensation may differ each flush depending on added content
- \setbox\nextbox \if!!doneb
- \vbox
- {\scratchdimen\getboxlly\layerbox
- \vskip-\scratchdimen
- \scratchdimen\getboxllx\layerbox
- \hskip-\scratchdimen
- \advance\scratchdimen-\wd\layerbox
- \hsize-\scratchdimen
- \if!!donec\box\else\copy\fi\layerbox}%
- \else
- \if!!donec\box\else\copy\fi\layerbox % sorry for the delay due to copying
- \fi
- \iftracelayers \ruledvbox \else \vbox \fi \if!!donea to \overlayheight \fi
- {\hbox \if!!donea to \overlaywidth \fi
- {% klopt dit? #3 en niet #2 ?
- \doifvalue{\??ll#3\realfolio\c!positie}\v!ja {\xypos{lyr:#3:\realfolio}}%
- \doifoverlayelse{#3}
- {\box\nextbox}
- {\startlayoutcomponent{l:#3}{layer #3}\box\nextbox\stoplayoutcomponent}%
- \hss}%
- \vss}%
- \if!!donec
- \gsetboxllx\layerbox\zeropoint
- \gsetboxlly\layerbox\zeropoint
- \fi
- \egroup
- \fi}
-
-\def\tightlayer[#1]%
- {\hbox
- {\def\currentlayer{#1}% todo: left/right
- \setbox\nextbox\emptybox % hoogte/breedte are \wd\nextbox/\ht\nextbox
- \hsize\layerparameter\c!breedte % \overlaywidth = \hsize
- \vsize\layerparameter\c!hoogte % \overlaywheight = \vsize
- \composedlayer{#1}}}
-
\def\inlinedbox
{\bgroup
\dowithnextbox
@@ -247,60 +217,11 @@
\egroup}%
\hbox}
-\def\dosetups#1% the grid option will be extended to other main modes
- {\executeifdefined{\??su\ifgridsnapping\v!grid\fi:#1}{\csname\??su:#1\endcsname}\empty}
-
-\let\directsetup\dosetups
-
% \readfile{cont-exp}\donothing\donothing % speed up (5-20%)
\def\dimenratio#1#2% etex only
{\withoutpt\the\dimexpr(2\dimexpr(#1)/(\dimexpr(#2)/32768))}
-% in page-lyr
-
-\definelayer[OTRTEXT] \setuplayer[OTRTEXT][\c!breedte=\zetbreedte,\c!hoogte=\teksthoogte]
-
-\let\normalsettextpagecontent\settextpagecontent
-
-\def\settextpagecontent#1#2#3% #2 and #3 will disappear
- {\doifelselayerdata{OTRTEXT}
- {\setbox#1\hbox to \zetbreedte
- {\startoverlay
- {\normalsettextpagecontent{#1}{#2}{#3}\box#1}
- {\tightlayer[OTRTEXT]}
- \stopoverlay}%
- \dp#1\zeropoint}%
- {\normalsettextpagecontent{#1}{#2}{#3}}}
-
-% in page-set
-
-\def\OTRSETdofinaloutput
- {\ifdim\ht\OTRfinalpagebox=\teksthoogte
- \bgroup % \let\OTRSETsetvsize\relax % prevents useless search for gap
- \ifcase\OTRSETbalancemethod
- \finaloutput\box\OTRfinalpagebox
- \else\ifdim\OTRSETbalht>\zeropoint
- % catch a bordercase
- \scratchdimen\OTRSETbalht
- \advance\scratchdimen\lineheight\relax
- \ifdim\scratchdimen>\teksthoogte
- % full page
- \finaloutput\box\OTRfinalpagebox
- \else
- % same page
- \global\setbox\OTRfinalpagebox \iftracecolumnset\ruledvbox\else\vbox\fi to \OTRSETbalht
- {\box\OTRfinalpagebox\vss}%
- \setlayer[OTRTEXT]{\box\OTRfinalpagebox}%
- \snaptogrid\vbox{\vskip\OTRSETbalht}% hack
- \fi
- \else
- \finaloutput\box\OTRfinalpagebox
- \fi \fi
- \globallet\OTRSETbalht\zeropoint
- \egroup
- \fi}
-
\def\doxprecurse#1#2%
{\ifnum#1=\zerocount % no \ifcase
\expandafter\gobblethreearguments
diff --git a/tex/context/base/cont-sys.ori b/tex/context/base/cont-sys.ori
index 5e2adef31..1f9bd0dc2 100644
--- a/tex/context/base/cont-sys.ori
+++ b/tex/context/base/cont-sys.ori
@@ -8,97 +8,112 @@
%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.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
\unprotect
-% Occasionally we will support both A4 and letter in
-% styles. If you want letter size paper to be the default,
+% Occasionally we will support both A4 and letter in
+% styles. If you want letter size paper to be the default,
% uncomment:
%
% \enablemode[\systemmodeprefix letter]
%
% If you always want to default to letter, you may uncomment
% the following line, but beware: it makes your documents less
-% portable:
+% portable:
%
% \setuppapersize[letter][letter]
-%
-% If you want some extras, just uncomment the following
+
+% If you want some extras, just uncomment the following
% line:
%
-% \usemodule[plus] % experimental code
-%
-% Here you can take care of overloading some (style)
-% defaults. What goes here, depends on your local system.
+% \usemodule[plus] % experimental code
%
+% Here you can take care of overloading some (style)
+% defaults. What goes here, depends on your local system.
+
% The following commands sets the default font encoding:
%
-% \setupencoding [\s!default=texnansi]
+% \setupencoding [\s!default=texnansi]
%
-% or:
+% or:
%
-% \setupencoding [\s!default=ec]
+% \setupencoding [\s!default=ec]
%
-% If you want the default berry names:
+% If you want the default berry names:
%
% \usetypescript [berry] [\defaultencoding]
%
-% If you run into missing font metrics kind of problems,
-% you may want to uncomment:
-%
-% \usetypescript[adobekb] [\defaultencoding]
+% If you run into missing font metrics kind of problems,
+% you may want to uncomment:
%
-% You can let \CONTEXT\ load the map files for \PDFTEX.
+% \usetypescript[adobekb] [\defaultencoding]
+
+% You can let \CONTEXT\ load the map files for \PDFTEX.
%
% \autoloadmapfilestrue
%
-% If you use the more verbose naming scheme, uncomment this:
+% (1) use this when you have a big mapfile
%
-% \usetypescript [map] [default,\defaultencoding]
+% \preloadmapfile[original-base.map]
+% \preloadmapfile[ec-base.map]
+% \preloadmapfile[8r-base.map]
+% \preloadmapfile[qx-base.map]
+% \preloadmapfile[texnansi-base.map]
+% \preloadmapfile[original-ams-cmr.map]
+% \preloadmapfile[original-ams-euler.map]
+% \preloadmapfile[original-public-lm.map]
+% \preloadmapfile[original-public-plr.map]
+% \preloadmapfile[original-public-csr.map]
%
-% or :
+% (2) otherwise, use this if you have a fast machine
%
-% \usetypescript [map] [all]
+% \resetmapfiles \usetypescript [map] [base] [all]
%
-% In case you have set psfonts.map already, you can comment
-% the following lines. Beware: pdftex uses the fontname
-% (second entry on map file lines) for (not so) clever
-% remapping, so in case of troubles, remove the names (is
-% safe)!
+% (3) or this if it's a slow one:
%
-% \preloadmapfile [original-ams-cmr]
-% \preloadmapfile [original-ams-euler]
-% \preloadmapfile [il2-ams-cmr]
-% \preloadmapfile [pl0-ams-cmr]
+% \resetmapfiles
%
-% Some styles default to Lucida Bright. You can overload
-% Lucida by Times cum suis. Watch out, the pos collection
-% is not scaled relatively.
+% \loadmapfile[original-base.map]
+% \loadmapfile[ec-base.map]
+% \loadmapfile[8r-base.map]
+% \loadmapfile[qx-base.map]
+% \loadmapfile[texnansi-base.map]
+% \loadmapfile[original-ams-cmr.map]
+% \loadmapfile[original-ams-euler.map]
+% \loadmapfile[original-public-lm.map]
+% \loadmapfile[original-public-plr.map]
+% \loadmapfile[original-public-csr.map]
+% \loadmapfile[texnansi-public-lm.map]
+% \loadmapfile[ec-public-lm.map]
+
+% When you have your own fonts installed, you may want to predefine:
%
-% \definetypescriptsynonym [lbr] [pos]
+% \usetypescriptfile[type-buy]
+
+% Some styles default to Lucida Bright. You can overload
+% Lucida by Times cum suis. Watch out, the pos collection
+% is not scaled relatively.
%
+% \definetypescriptsynonym [lbr] [pos]
+
% Compensate for missing files:
%
% \definefontsynonym [gbhei] [gbsong]
% \definefontsynonym [gbheisl] [gbsong]
% \definefontsynonym [gbheisl] [gbsong]
-%
-% The already loaded map file list can be reset with:
-%
-% \forgetmapfiles
-%
-% Setting up a global figure path:
+
+% Setting up a global figure path
%
% \setupexternalfigures [\c!gebied={e:/fig/eps,t:/mine/figs}]
%
-% Loading a specific special driver:
+% Loading a specific special driver:
%
% \setupoutput [dviwindo]
-% Changing language defaults:
-%
+% Changing language defaults
+%
% \setuplanguage
% [nl]
% [\c!leftquote=\upperleftsinglesixquote,
@@ -106,38 +121,38 @@
% Loading local preferences, for example
%
-% \input prag-gen % company styles
-% \input prag-log % more company styles
+% \input prag-gen % company styles
+% \input prag-log % more company styles
%
-% Enabling run time \METAPOST\ (also enable \write18 in
+% Enabling run time \METAPOST\ (also enable \write18 in
% texmf.cnf):
-% \runMPgraphicstrue
+% \runMPgraphicstrue
% \runMPTEXgraphicstrue
% This saves some runtime, but needs a format, which you can
-% make with 'texexec --make --alone metafun'. Make sure that
-% the mem files are moved to the used web2c path (locate with
+% make with 'texexec --make --alone metafun'. Make sure that
+% the mem files are moved to the used web2c path (locate with
% 'kpsewhich plain.mem').
\useMETAFUNformattrue
-% Enabling nested pretty printing:
+% Enabling nested pretty printing
-\newprettytrue
+\newprettytrue
-% This can be a way to get things working on system with
+% This can be a way to get things working on system with
% name clashes. (Some \TeX's tend do search system wide.)
\protectbufferstrue
-% You can enable a more extensive figure searching, but
-% normally this is not really needed and even annoying.
+% You can enable a more extensive figure searching, but
+% normally this is not really needed and even annoying.
%
-% \runutilityfiletrue
-
-% You can also load additional encodings here:
+% \runutilityfiletrue
+% You can also load additional encodings here:
+%
% \useencoding[x5]
%
% \useregime[cyr]
@@ -145,6 +160,6 @@
% \enableregime[cp1251]
% \setupbodyfont[cyr]
-% So far.
+% So far.
-\protect \endinput
+\protect \endinput \ No newline at end of file
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index bd29572bc..13f4d6643 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -15,7 +15,7 @@
\catcode`\{=1 \catcode`\}=2
-\def\contextversion{2004.3.9}
+\def\contextversion{2004.4.9}
%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-buf.tex b/tex/context/base/core-buf.tex
index 37e284ab5..2871475ed 100644
--- a/tex/context/base/core-buf.tex
+++ b/tex/context/base/core-buf.tex
@@ -1023,4 +1023,4 @@
\c!voor=,
\c!na=]
-\protect \endinput
+\protect \endinput \ No newline at end of file
diff --git a/tex/context/base/core-def.tex b/tex/context/base/core-def.tex
index 6121865d9..5cce2f2fc 100644
--- a/tex/context/base/core-def.tex
+++ b/tex/context/base/core-def.tex
@@ -2,26 +2,26 @@
%D [ file=core-def,
%D version=2002.05.07,
%D title=\CONTEXT\ Core Macros,
-%D subtitle=Defaults,
+%D subtitle=Defaults,
%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.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
\writestatus{loading}{Context Core Macros / Defaults}
%D Here we collect default settings. More code will moved to
-%D this module later.
+%D this module later.
\unprotect
-%D We preload a couple of symbol|(|sets): a few defaults,
-%D the marvo symbols and a few guillemot replacements.
+%D We preload a couple of symbol|(|sets): a few defaults,
+%D the marvo symbols and a few guillemot replacements.
-\usesymbols[mis,mvs,glm]
+\usesymbols[mis,mvs,glm]
%D We also choose a navigation symbol set:
@@ -29,6 +29,6 @@
\setupinteraction[\c!symboolset=navigation 1]
-%D In \type {core-nav}, we choose this set as well.
+%D In \type {core-nav}, we choose this set as well.
-\protect \endinput
+\protect \endinput \ No newline at end of file
diff --git a/tex/context/base/core-fig.tex b/tex/context/base/core-fig.tex
index cb018cbf9..acd77e496 100644
--- a/tex/context/base/core-fig.tex
+++ b/tex/context/base/core-fig.tex
@@ -772,36 +772,65 @@
\global\divide#1 \!!ten\relax
\global\multiply#1 #2\relax]}
-\def\docalculatefigurescales#1#2#3#4%
- {\dimen0=#1\relax % #1 = new 1-value
- \dimen2=#2\relax % #2 = old 1-value
- \divide\dimen2 \plusthousand
- \divide\dimen0 \dimen2
- \figxsca\dimen0 % x scale
- \figysca\dimen0 % y scale
- \dimen2=#4\relax % #4 = old 2-value
- \divide\dimen2 \plusthousand
- \multiply\dimen2 \dimen0
- #3=\dimen2 } % #3 = new 2-value
-
-\def\docalculatefigurescale#1#2#3%
- {\dimen0=#1\relax % #1 = new value
- \dimen2=#2\relax % #2 = old value
- \divide\dimen2 \plusthousand
- \divide\dimen0 \dimen2
- #3=\dimen0 } % #3 = schaal
-
-\def\doapplyfigurescale#1#2#3%
- {\global#1=#2\relax
- \ifcase0\@@efschaal\relax % beter: doifnum...
- #3=\plusthousand
- \else
- #3=\@@efschaal
- \fi\relax % important !
- \ifnum#3=\plusthousand\else
- \global\divide #1 \plusthousand
- \global\multiply#1 #3\relax
- \fi}
+\beginTEX
+
+ \def\docalculatefigurescales#1#2#3#4%
+ {\dimen0=#1\relax % #1 = new 1-value
+ \dimen2=#2\relax % #2 = old 1-value
+ \divide\dimen2 \plusthousand
+ \divide\dimen0 \dimen2
+ \figxsca\dimen0 % x scale
+ \figysca\dimen0 % y scale
+ \dimen2=#4\relax % #4 = old 2-value
+ \divide\dimen2 \plusthousand
+ \multiply\dimen2 \dimen0
+ #3=\dimen2 } % #3 = new 2-value
+
+ \def\docalculatefigurescale#1#2#3%
+ {\dimen0=#1\relax % #1 = new value
+ \dimen2=#2\relax % #2 = old value
+ \divide\dimen2 \plusthousand
+ \divide\dimen0 \dimen2
+ #3=\dimen0 } % #3 = schaal
+
+ \def\doapplyfigurescale#1#2#3%
+ {\global#1=#2\relax
+ \ifcase0\@@efschaal\relax % beter: doifnum...
+ #3=\plusthousand
+ \else
+ #3=\@@efschaal
+ \fi\relax % important !
+ \ifnum#3=\plusthousand\else
+ \global\divide #1 \plusthousand
+ \global\multiply#1 #3\relax
+ \fi}
+
+\endTEX
+
+% test extensively, more precise since one pass double precission
+
+\beginETEX \dimexpr
+
+ \def\docalculatefigurescales#1#2#3#4%
+ {\scratchdimen\dimexpr(#1/\dimexpr(#2/\plusthousand))%
+ \figxsca\scratchdimen
+ \figysca\figxsca
+ #3\dimexpr(\figxsca\dimexpr(#4/\plusthousand))}
+
+ \def\docalculatefigurescale#1#2#3%
+ {#3\dimexpr(#1/\dimexpr(#2/\plusthousand))}
+
+ \def\doapplyfigurescale#1#2#3%
+ {% #3=\ifnum0\number\@@efschaal=\zerocount\plusthousand\else\@@efschaal\fi
+ \ifcase0\@@efschaal\relax % @@efschaal kan empty zijn
+ #3=\plusthousand
+ \else
+ #3=\@@efschaal
+ \fi\relax % important !
+ \global#1\ifnum#3=\plusthousand#2\else\dimexpr(#3\dimexpr(#2/\plusthousand))\fi
+ \relax}
+
+\endETEX
\newdimen\figurevsize % we cannot manipulate any global vsize !
@@ -2020,6 +2049,43 @@
\setupexternalsoundtracks
[\c!optie=]
+%D NEW: used in styledesign manual
+
+% \setbuffer[typeset-b]\endbuffer
+% \setbuffer[typeset-a]\endbuffer
+%
+% todo:
+%
+% \appendtoks \setbuffer[typeset-b]\endbuffer\to \everystarttext
+% \appendtoks \setbuffer[typeset-a]\endbuffer\to \everystarttext
+
+\def\typesetbuffer
+ {\dodoubleempty\dotypesetbuffer}
+
+\newcounter\noftypesetbuffers % all loaded at the end
+
+\defineexternalfigure
+ [typeset]
+ [\c!achtergrond=\v!kleur,
+ \c!achtergrondkleur=white]
+
+\def\dotypesetbuffer[#1][#2]% beware: this will mix up the mp graphics
+ {\bgroup
+ %\def\bufferprefix{\ifprotectbuffers\jobname-\fi typeset-}%
+ \def\TEXbufferfile##1{\bufferprefix##1.tex}%
+ \expanded{\setbuffer[typeset]%
+ \def\noexpand\bufferprefix{\ifprotectbuffers\jobname-\fi typeset-}}%
+ \starttext
+ \getbuffer[b,#1,a]%
+ \stoptext
+ \endbuffer
+ \doglobal\increment\noftypesetbuffers
+ % batch is needed
+ \executesystemcommand{texexec --batch --pdf --result=\bufferprefix typeset-\noftypesetbuffers\space \bufferprefix typeset.tex}%
+ %\externalfigure[\bufferprefix typeset-\noftypesetbuffers.pdf][\c!object=\v!nee,#2]%
+ \externalfigure[\bufferprefix typeset-\noftypesetbuffers.pdf][#2]%
+ \egroup}
+
\appendtoks \setupexternalfigures[\c!optie=\v!leeg] \to \everyfastmode
\appendtoks \runMPgraphicsfalse \to \everyfastmode
\appendtoks \insertMPgraphicsfalse \to \everyfastmode
diff --git a/tex/context/base/core-grd.tex b/tex/context/base/core-grd.tex
index 539518b49..18cb70347 100644
--- a/tex/context/base/core-grd.tex
+++ b/tex/context/base/core-grd.tex
@@ -312,12 +312,37 @@
\def\snaptogrid% [#1]#2 -> #2 == \hbox|\vbox
{\dosingleempty\dosnaptogrid}
+% \def\dosnaptogrid[#1]%
+% {\ifgridsnapping
+% \iffirstargument\doifsomething{#1}{\verplaatsopgrid[#1]}\fi
+% \expandafter\dodosnaptogrid
+% \fi}
+
\def\dosnaptogrid[#1]%
- {\ifgridsnapping
+ {\resetlastlinewidth % maybe in more places, otherwise spacing gets messed up
+ \ifgridsnapping
\iffirstargument\doifsomething{#1}{\verplaatsopgrid[#1]}\fi
\expandafter\dodosnaptogrid
\fi}
+% \def\forcedpresnapcorrection % test this on 'details'
+% {\ifforcepresnap
+% \ifvmode \else \par \fi % new
+% % we don't want top of page space when 'top' option
+% %\verticalstrut\nobreak\vskip-\struttotal
+% %\verticalstrut\vskip-\struttotal
+% % nobreak really needed
+% \allowbreak\verticalstrut\nobreak\vskip-\struttotal
+% %\ifdim\pagetotal>\topskip \else
+% % eigenlijk signal
+% %\writestatus{grid}{removing dummy at top of page}%
+% %\bgroup
+% %\output{\setbox\scratchbox\box255}%
+% %\penalty\outputpenalty
+% %\egroup
+% %\fi
+% \fi}
+
\def\forcedpresnapcorrection % test this on 'details'
{\ifforcepresnap
\ifvmode \else \par \fi % new
@@ -325,7 +350,7 @@
%\verticalstrut\nobreak\vskip-\struttotal
%\verticalstrut\vskip-\struttotal
% nobreak really needed
- \allowbreak\verticalstrut\nobreak\vskip-\struttotal
+ \dosomebreak\allowbreak\verticalstrut\nobreak\vskip-\struttotal % new: \dosomebreak
%\ifdim\pagetotal>\topskip \else
% eigenlijk signal
%\writestatus{grid}{removing dummy at top of page}%
diff --git a/tex/context/base/core-int.tex b/tex/context/base/core-int.tex
index 8bdc2f38c..01a273693 100644
--- a/tex/context/base/core-int.tex
+++ b/tex/context/base/core-int.tex
@@ -701,50 +701,103 @@
\def\dosetlocationboxnone#1[#2]#3[#4]%
{\global\skippedmenuitemtrue}
-\def\setlocationboxyes#1%
+% the following version looks ok but is not, since it is unaware of
+% some reference properties
+%
+% \def\setlocationboxyes#1%
+% {\locationclicktrue
+% \ifx\currentouterreference\empty
+% \ifrealreferencepage\!!doneatrue\else\!!doneafalse\fi
+% \else
+% \!!doneafalse
+% \fi
+% \if!!donea
+% \ifcase\csname\??am\??am\csname#1\c!zelfdepagina\endcsname\endcsname\relax
+% \copycsname#1\c!kleur\endcsname\csname#1\c!contrastkleur\endcsname
+% \@EAEAEA\dosetlocationboxyes
+% \or
+% \@EAEAEA\dosetlocationboxempty
+% \or
+% \@EAEAEA\dosetlocationboxno
+% \or
+% \@EAEAEA\dosetlocationboxnone
+% \fi
+% \else
+% \@EA\dosetlocationboxcontent
+% \fi{#1}}
+%
+% \def\setlocationboxnop#1%
+% {\locationclickfalse
+% \ifcase\csname\??am\??am\csname#1\c!onbekendeverwijzing\endcsname\endcsname\relax
+% \@EA\dosetlocationboxyes
+% \or
+% \@EA\dosetlocationboxempty
+% \or
+% \@EA\dosetlocationboxno
+% \or
+% \@EA\dosetlocationboxnone
+% \fi{#1}}
+%
+% \def\setlocationbox#1[#2]#3[#4]%
+% {\bgroup % really needed !
+% \edef\permittedreferences{\csname#1\c!blokkade\endcsname}%
+% \doifreferencepermittedelse{#4}
+% {\setlocationboxyes{#1}[#2]{#3}[#4]}
+% {\setlocationboxnop{#1}[#2]{#3}[#4]}%
+% \egroup}
+%
+% \def\setlocationboxraw#1[#2]#3[#4]%
+% {\localframed[#1][#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}}
+
+\def\setlocationboxyes#1[#2]#3[#4]%
{\locationclicktrue
- \ifx\currentouterreference\empty
- \ifrealreferencepage\!!doneatrue\else\!!doneafalse\fi
- \else
- \!!doneafalse
- \fi
- \if!!donea
- \ifcase\csname\??am\??am\csname#1\c!zelfdepagina\endcsname\endcsname\relax
- \copycsname#1\c!kleur\endcsname\csname#1\c!contrastkleur\endcsname
- \@EAEAEA\dosetlocationboxyes
- \or
- \@EAEAEA\dosetlocationboxempty
- \or
- \@EAEAEA\dosetlocationboxno
- \or
- \@EAEAEA\dosetlocationboxnone
- \fi
- \else
- \@EA\dosetlocationboxcontent
- \fi{#1}}
+ \setbox\locationbox\hbox
+ {\resetgoto % anders cyclische aanroep !
+ \global\skippedmenuitemfalse
+ \gotolocation
+ {#4}% % needed
+ {\ifrealreferencepage
+ \ifcase\csname\??am\??am\csname#1\c!zelfdepagina\endcsname\endcsname\relax
+ \copycsname#1\c!kleur\endcsname\csname#1\c!contrastkleur\endcsname
+ \localframed[#1][#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}%
+ \or
+ \localframed[#1][\c!leeg=\v!ja,#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}%
+ \or
+ \localframed[#1][\c!leeg=\v!ja,\c!kader=,\c!achtergrond=,#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}%
+ \or
+ \global\skippedmenuitemtrue
+ \fi
+ \else
+ \localframed[#1][#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}%
+ \fi}}%
+ \ifskippedmenuitem\else\box\locationbox\fi}
-\def\setlocationboxnop#1%
+\def\setlocationboxnop#1[#2]#3[#4]%
{\locationclickfalse
- \ifcase\csname\??am\??am\csname#1\c!onbekendeverwijzing\endcsname\endcsname\relax
- \@EA\dosetlocationboxyes
- \or
- \@EA\dosetlocationboxempty
- \or
- \@EA\dosetlocationboxno
- \or
- \@EA\dosetlocationboxnone
- \fi{#1}}
+ \setbox\locationbox\hbox
+ {\resetgoto % anders cyclische aanroep !
+ \global\skippedmenuitemfalse
+ \ifcase\csname\??am\??am\csname#1\c!onbekendeverwijzing\endcsname\endcsname\relax
+ \localframed[#1][#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}%
+ \or
+ \localframed[#1][\c!leeg=\v!ja,#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}%
+ \or
+ \localframed[#1][\c!leeg=\v!ja,\c!kader=,\c!achtergrond=,#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}%
+ \or
+ \global\skippedmenuitemtrue
+ \fi}%
+ \ifskippedmenuitem\else\box\locationbox\fi}
+
+\def\setlocationboxraw#1[#2]#3[#4]%
+ {\localframed[#1][#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}}
\def\setlocationbox#1[#2]#3[#4]%
{\bgroup % really needed !
\edef\permittedreferences{\csname#1\c!blokkade\endcsname}%
- \doifreferencepermittedelse{#4}
- {\setlocationboxyes{#1}[#2]{#3}[#4]}
+ \doifreferencepermittedelse{#4}%
+ {\setlocationboxyes{#1}[#2]{#3}[#4]}%
{\setlocationboxnop{#1}[#2]{#3}[#4]}%
\egroup}
-
-\def\setlocationboxraw#1[#2]#3[#4]%
- {\localframed[#1][#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}}
\def\dodosetlocationcommanditem#1#2#3[#4]#5\\%
{\bgroup
@@ -1090,10 +1143,11 @@
% inherit settings
\doifnot{#1}{#2}
{\copyparameters[\??am#1][\??am#2]
- [\c!links,\c!midden,\c!rechts,\c!voor,\c!na,\c!tussen,
- \c!breedte,\c!hoogte,\c!afstand,\c!offset,\c!kader,
- \c!achtergrond,\c!achtergrondkleur,\c!achtergrondraster,
- \c!letter,\c!kleur,\c!contrastkleur,\c!zelfdepagina,\c!onbekendeverwijzing,
+ [\c!links,\c!midden,\c!rechts,\c!voor,\c!na,\c!tussen,%
+ \c!breedte,\c!hoogte,\c!afstand,\c!offset,%
+ \c!kader,\c!kaderkleur,\c!lijndikte,%
+ \c!achtergrond,\c!achtergrondkleur,\c!achtergrondraster,%
+ \c!letter,\c!kleur,\c!contrastkleur,\c!zelfdepagina,\c!onbekendeverwijzing,%
\c!linkeroffset,\c!rechteroffset,\c!bovenoffset,\c!onderoffset]}%
% additional settings
\getparameters[\??am#1][\c!plaats=#2,\c!blokkade=,#3]}
diff --git a/tex/context/base/core-lst.tex b/tex/context/base/core-lst.tex
index 24ecb0077..60872d9fb 100644
--- a/tex/context/base/core-lst.tex
+++ b/tex/context/base/core-lst.tex
@@ -368,43 +368,92 @@
\def\dohandlelistnumber#1{\separatednumber{#1}}
-% new
+% \let\currentlistsymbol\empty
+%
+% the big original one:
+%
+% \def\listsymbol[#1]#2%
+% {{\dosetlistsymbol{#1}{#2}\currentlistsymbol}}
+%
+% \def\dosetlistsymbol#1#2% kan sneller, default case afvangen
+% {\processaction
+% [\getvalue{\??li#1\c!symbool}]
+% [ \v!geen=>\def\currentlistsymbol%
+% {\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}%
+% \hbox to \dimen0{}},
+% 1=>\def\currentlistsymbol%
+% {\strut$\bullet$},
+% 2=>\def\currentlistsymbol%
+% {\vrule\!!width1em\!!height1ex\!!depth\zeropoint},
+% 3=>\def\currentlistsymbol% very slow
+% {{\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}%
+% \doassigndimen{\dimen2}{\getvalue{\??li#1\c!hoogte}}{1ex}%
+% \doassigndimen{\dimen4}{\getvalue{\??li#1\c!diepte}}{0pt}%
+% \vrule\!!width\dimen0\!!height\dimen2\!!depth\dimen4}},
+% \s!unknown=>\def\currentlistsymbol{\getvalue{\??li#1\c!symbool}},
+% \s!default=>\doifelsevalue{\??li#1\c!prefix}\v!nee % ook nog eerste
+% {\edef\splitlistsymbol{\removefirstprefix{#2}}}
+% {\doifelsevalue{\??li#1\c!prefix}\v!geen
+% {\edef\splitlistsymbol{\removeallprefixes{#2}}}%
+% {\def\splitlistsymbol{#2}}}% geen \edef ivm enz
+% \def\currentlistsymbol% kan iets efficienter met \ifdone
+% {\doifvalue{\??li#1\c!label}\v!ja{\leftlabeltext{#1}}%
+% \strut
+% \def\numberseparator{\getvalue{\??li#1\c!scheider}}%
+% \@EA\dohandlelistnumber\@EA{\splitlistsymbol}%
+% \getvalue{\??li#1\c!afsluiter}%
+% \doifvalue{\??li#1\c!label}\v!ja{\rightlabeltext{#1}}}]}
+%
+% This may be fragile ! test for a long time ; it is a
+% prelude to an definable symbol handler.
\let\currentlistsymbol\empty
\def\listsymbol[#1]#2%
{{\dosetlistsymbol{#1}{#2}\currentlistsymbol}}
-%
-
-\def\dosetlistsymbol#1#2% kan sneller, default case afvangen
- {\processaction
- [\getvalue{\??li#1\c!symbool}]
- [ \v!geen=>\def\currentlistsymbol%
- {\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}%
- \hbox to \dimen0{}},
- 1=>\def\currentlistsymbol%
- {\strut$\bullet$},
- 2=>\def\currentlistsymbol%
- {\vrule\!!width1em\!!height1ex\!!depth\zeropoint},
- 3=>\def\currentlistsymbol% very slow
- {{\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}%
- \doassigndimen{\dimen2}{\getvalue{\??li#1\c!hoogte}}{1ex}%
- \doassigndimen{\dimen4}{\getvalue{\??li#1\c!diepte}}{0pt}%
- \vrule\!!width\dimen0\!!height\dimen2\!!depth\dimen4}},
- \s!unknown=>\def\currentlistsymbol{\getvalue{\??li#1\c!symbool}},
- \s!default=>\doifelsevalue{\??li#1\c!prefix}\v!nee % ook nog eerste
- {\edef\splitlistsymbol{\removefirstprefix{#2}}}
- {\doifelsevalue{\??li#1\c!prefix}\v!geen
- {\edef\splitlistsymbol{\removeallprefixes{#2}}}%
- {\def\splitlistsymbol{#2}}}% geen \edef ivm enz
- \def\currentlistsymbol% kan iets efficienter met \ifdone
- {\doifvalue{\??li#1\c!label}\v!ja{\leftlabeltext{#1}}%
- \strut
- \def\numberseparator{\getvalue{\??li#1\c!scheider}}%
- \@EA\dohandlelistnumber\@EA{\splitlistsymbol}%
- \getvalue{\??li#1\c!afsluiter}%
- \doifvalue{\??li#1\c!label}\v!ja{\rightlabeltext{#1}}}]}
+\def\dosetlistsymbol#1% #2%
+ {\executeifdefined
+ {listsymbol@\getvalue{\??li#1\c!symbool}}%
+ \listsymbol@default
+ {#1}} % {#2}
+
+\def\listsymbol@none#1#2%
+ {\def\currentlistsymbol%
+ {\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}%
+ \hbox to \dimen0{}}}
+
+\def\listsymbol@one#1#2%
+ {\def\currentlistsymbol{\strut$\bullet$}}
+
+\def\listsymbol@two#1#2%
+ {\def\currentlistsymbol{\vrule\!!width1em\!!height1ex\!!depth\zeropoint}}
+
+\def\listsymbol@three#1#2%
+ {\def\currentlistsymbol % very slow
+ {{\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}%
+ \doassigndimen{\dimen2}{\getvalue{\??li#1\c!hoogte}}{1ex}%
+ \doassigndimen{\dimen4}{\getvalue{\??li#1\c!diepte}}{0pt}%
+ \vrule\!!width\dimen0\!!height\dimen2\!!depth\dimen4}}}
+
+\def\listsymbol@default#1#2%
+ {\doifelsevalue{\??li#1\c!prefix}\v!nee % ook nog eerste
+ {\edef\splitlistsymbol{\removefirstprefix{#2}}}
+ {\doifelsevalue{\??li#1\c!prefix}\v!geen
+ {\edef\splitlistsymbol{\removeallprefixes{#2}}}%
+ {\def\splitlistsymbol{#2}}}% geen \edef ivm enz
+ \def\currentlistsymbol% kan iets efficienter met \ifdone
+ {\doifvalue{\??li#1\c!label}\v!ja{\leftlabeltext{#1}}%
+ \strut
+ \def\numberseparator{\getvalue{\??li#1\c!scheider}}%
+ \@EA\dohandlelistnumber\@EA{\splitlistsymbol}%
+ \getvalue{\??li#1\c!afsluiter}%
+ \doifvalue{\??li#1\c!label}\v!ja{\rightlabeltext{#1}}}}
+
+\def\listsymbol@unknown#1#2%
+ {\def\currentlistsymbol{\getvalue{\??li#1\c!symbool}}}
+
+% so far for list symbols
\def\@@dodolijstelement{dodolijstelement}
diff --git a/tex/context/base/core-mis.tex b/tex/context/base/core-mis.tex
index 3fef87c44..80461a555 100644
--- a/tex/context/base/core-mis.tex
+++ b/tex/context/base/core-mis.tex
@@ -1930,13 +1930,63 @@
% \fi
% \next}
+% \def\dodocombination
+% {\vbox
+% {\forgetall % \setupwhitespace[\v!geen]%
+% \let\next\vbox
+% \ExpandFirstAfter\processallactionsinset
+% [\combinationparameter\c!plaats]
+% [ \v!boven=>\let\next\tbox,
+% \v!midden=>\let\next\halfwaybox]%
+% \next{\copy0}%
+% % we need to save the caption for a next alignment line
+% \saveoncombinationstack2}%
+% \ifnum\totcombination>\plusone
+% \global\advance\totcombination\minusone
+% \global\advance\horcombination\minusone
+% \ifnum\horcombination=\zerocount
+% \def\next
+% {\cr
+% \flushcombinationstack
+% \noalign
+% {\forgetall % \setupwhitespace[\v!geen]% no
+% \global\setbox\combinationstack\emptybox
+% \nointerlineskip
+% \combinationparameter\c!na
+% \combinationparameter\c!voor
+% \vss
+% \nointerlineskip}%
+% \global\horcombination\maxhorcombination\relax
+% \docombination}%
+% \else
+% \def\next
+% {&&&\hskip\combinationparameter\c!afstand&\docombination}%
+% \fi
+% \else
+% \def\next
+% {\cr
+% \flushcombinationstack
+% \egroup}%
+% \fi
+% \next}
+
+\def\depthonlybox
+ {\dowithnextbox{\vtop{\hsize\wd\nextbox\kern\zeropoint\box\nextbox}}\vbox}
+
+% \def\boxwithstrutheight
+% {\dowithnextbox
+% {\scratchdimen\strutheight
+% \advance\scratchdimen-\nextboxht
+% \hbox{\raise\scratchdimen\box\nextbox}}%
+% \vbox}
+
\def\dodocombination
{\vbox
{\forgetall % \setupwhitespace[\v!geen]%
\let\next\vbox
\ExpandFirstAfter\processallactionsinset
[\combinationparameter\c!plaats]
- [ \v!boven=>\let\next\tbox,
+ [ \v!boven=>\let\next\depthonlybox, % \tbox,
\v!midden=>\let\next\halfwaybox]%
\next{\copy0}%
% we need to save the caption for a next alignment line
@@ -2103,139 +2153,291 @@
[table]
[\c!file=table]
-\presetlocalframed[\??ro]
-
-\def\setuprotate
- {\dodoubleargument\getparameters[\??ro]}
-
-% \ht, \vfillvoor, \vfillna, \wd, \hfillvoor, \hfillna
+%D A couple of examples, demonstrating how the depth is
+%D taken care of:
+%D
+%D \startbuffer
+%D test\rotate[frame=on, rotation=0] {gans}%
+%D test\rotate[frame=on, rotation=90] {gans}%
+%D test\rotate[frame=on, rotation=180]{gans}%
+%D test\rotate[frame=on, rotation=270]{gans}%
+%D test
+%D \stopbuffer
+%D
+%D \typebuffer \getbuffer
+% \presetlocalframed[\??ro]
+%
+% \def\setuprotate
+% {\dodoubleargument\getparameters[\??ro]}
+%
+% \def\dorotatebox#1% {angle} \hbox/\vbox/\vtop
+% {\bgroup
+% \hbox\bgroup % compatibility hack
+% \dowithnextbox
+% {\edef\@@rorotatie{#1}%
+% \setbox\nextbox\vbox{\flushnextbox}%
+% \dostoprotate
+% \egroup}}
+%
% \def\dodostoprotate#1#2#3#4#5#6%
% {\dontshowcomposition
-% \vbox to #1\nextbox
+% \scratchdimen\nextboxht\advance\scratchdimen\nextboxdp
+% \doif\@@roplaats\v!hoog
+% {\setbox\nextbox\vbox{\hbox{\raise\nextboxdp\flushnextbox}}}%
+% \setbox\nextbox\vbox to #1
% {#2\relax
-% \hbox to #4\nextbox
+% \hbox to #4
% {#5\relax % \number removes leading spaces too
% \edef\@@rorotatie{\number\@@rorotatie}%
-% \doifelsenothing{\@@rorotatie}
+% \doifelsenothing\@@rorotatie
% {\dostartrotation{90}}
% {\dostartrotation{\@@rorotatie}}%
% \nextboxwd\zeropoint
% \nextboxht\zeropoint
+% %\nextboxdp\zeropoint
% \flushnextbox
% \dostoprotation
% #6}
% #3}%
+% \nextboxdp\zeropoint
+% \flushnextbox
% \egroup}
%
-% \def\dostoprotate%
-% {\!!counta=\@@rorotatie
-% \divide\!!counta by 90
+% \def\dostoprotate
+% {\!!counta\@@rorotatie
+% \divide\!!counta 90
% \ifcase\!!counta
-% \dodostoprotate\ht\relax\vfill\wd\relax\hfill
+% \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill
% \or
-% \dodostoprotate\wd\vfill\relax\ht\relax\hfill
+% %\dodostoprotate\nextboxwd\vfill\relax\nextboxht\relax\hfill
+% \dodostoprotate\nextboxwd\vfill\relax\scratchdimen\relax\hfill
% \or
-% \dodostoprotate\ht\vfill\relax\wd\hfill\relax
+% \dodostoprotate\nextboxht\vfill\relax\nextboxwd\hfill\relax
% \or
-% \dodostoprotate\wd\relax\vfill\ht\hfill\relax
+% %\dodostoprotate\nextboxwd\relax\vfill\nextboxht\hfill\relax
+% \dodostoprotate\nextboxwd\relax\vfill\scratchdimen\hfill\relax
% \or
-% \dodostoprotate\ht\relax\vfill\wd\relax\hfill
+% \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill
% \else
% \def\@@rotatie{90}%
-% \dodostoprotate\ht\relax\vfill\wd\relax\hfill
+% \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill
% \fi}
%
-% \def\dorotatebox#1% {angle} \hbox/\vbox/\vtop
-% {\bgroup
-% \hbox\bgroup % compatibility hack
-% \dowithnextbox
-% {\edef\@@rorotatie{#1}%
-% \setbox\nextbox=\vbox{\flushnextbox}%
-% \dostoprotate
-% \egroup}}
-
-\def\dorotatebox#1% {angle} \hbox/\vbox/\vtop
- {\bgroup
- \hbox\bgroup % compatibility hack
- \dowithnextbox
- {\edef\@@rorotatie{#1}%
- \setbox\nextbox\vbox{\flushnextbox}%
- \dostoprotate
- \egroup}}
-
-\def\dodostoprotate#1#2#3#4#5#6%
- {\dontshowcomposition
- \scratchdimen\nextboxht\advance\scratchdimen\nextboxdp
- \doif\@@roplaats\v!hoog
- {\setbox\nextbox\vbox{\hbox{\raise\nextboxdp\flushnextbox}}}%
- \setbox\nextbox\vbox to #1
- {#2\relax
- \hbox to #4
- {#5\relax % \number removes leading spaces too
- \edef\@@rorotatie{\number\@@rorotatie}%
- \doifelsenothing\@@rorotatie
- {\dostartrotation{90}}
- {\dostartrotation{\@@rorotatie}}%
- \nextboxwd\zeropoint
- \nextboxht\zeropoint
- %\nextboxdp\zeropoint
- \flushnextbox
+% \def\complexrotate[#1]%
+% {\dowithnextbox
+% {\getparameters[\??ro][#1]%
+% \dostoprotate}%
+% \vbox\localframed[\??ro][#1]}
+%
+% \unexpanded\def\rotate % \bgroup: \rotate kan argument zijn
+% {\bgroup\complexorsimpleempty\rotate}
+%
+% \setuprotate
+% [\c!rotatie=90,
+% \c!breedte=\v!passend,
+% \c!hoogte=\v!passend,
+% \c!offset=\v!overlay,
+% \c!kader=\v!uit]
+
+% The previous implementation is replaced by one that supports
+% rotation over arbitrary angles.
+%
+% When we rotate over arbitrary angles, we need to relocate the
+% resulting box because rotation brings that box onto the negative
+% axis. The calculations (mostly sin and cosine) need to be tuned for
+% the way a box is packages (i.e. the refence point). A typical example
+% of drawing, scribbling, and going back to the days of school math.
+%
+% We do a bit more calculations than needed, simply because that way
+% it's easier to debug the code.
+
+\def\dododorotatenextbox
+ {\setbox\nextbox\vbox to \@@layerysiz
+ {\vfill
+ \hbox to \@@layerxsiz
+ {\dostartrotation\@@rorotatie
+ \nextboxwd\zeropoint
+ \nextboxht\zeropoint
+ \flushnextbox
\dostoprotation
- #6}
- #3}%
- \nextboxdp\zeropoint
- \flushnextbox
- \egroup}
-
-\def\dostoprotate
- {\!!counta\@@rorotatie
- \divide\!!counta 90
- \ifcase\!!counta
- \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill
- \or
- %\dodostoprotate\nextboxwd\vfill\relax\nextboxht\relax\hfill
- \dodostoprotate\nextboxwd\vfill\relax\scratchdimen\relax\hfill
- \or
- \dodostoprotate\nextboxht\vfill\relax\nextboxwd\hfill\relax
+ \hfill}%
+ \kern\@@layerypos}%
+ \setbox\nextbox\hbox
+ {\kern\@@layerxpos
+ \kern\@@layerxoff
+ \lower\@@layeryoff\flushnextbox}}
+
+\def\dodorotatenextbox#1#2% quite some trial and error -)
+ {\dontshowcomposition
+ \dontcomplain
+ \!!widtha \nextboxwd
+ \!!heighta\nextboxht
+ \!!deptha \nextboxdp
+ \!!doneafalse
+ \!!donebfalse
+ \ifcase#2\or
+ % fit
\or
- %\dodostoprotate\nextboxwd\relax\vfill\nextboxht\hfill\relax
- \dodostoprotate\nextboxwd\relax\vfill\scratchdimen\hfill\relax
+ % depth, not fit
+ \!!doneatrue
+ \!!donebtrue
\or
- \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill
+ % depth, fit
+ \!!donebtrue
+ \fi
+ \setbox\nextbox\vbox{\hbox{\raise\nextboxdp\flushnextbox}}%
+ \!!dimena \nextboxht
+ \calculatecos\@@rorotatie\edef\cos{\calculatedcos\@@rorotatie}%
+ \calculatesin\@@rorotatie\edef\sin{\calculatedsin\@@rorotatie}%
+ \@@layerxpos\zeropoint
+ \@@layerypos\zeropoint
+ \@@layerxoff\zeropoint
+ \@@layeryoff\zeropoint
+ \ifdim\sin\points>\zeropoint
+ \ifdim\cos\points>\zeropoint
+ \@@layerxsiz \cos\!!widtha
+ \@@layerysiz \sin\!!widtha
+ \advance\@@layerxsiz \sin\!!dimena
+ \advance\@@layerysiz \cos\!!dimena
+ \@@layerypos \cos\!!dimena
+ \if!!donea
+ \@@layerxoff \negated\sin\!!dimena
+ \advance\@@layerxoff \sin\!!deptha
+ \fi
+ \if!!doneb
+ \@@layeryoff \cos\!!deptha
+ \fi
+ \dododorotatenextbox
+ \else
+ \@@layerxsiz \negated\cos\!!widtha
+ \@@layerysiz \sin\!!widtha
+ \advance\@@layerxsiz \sin\!!dimena
+ \advance\@@layerysiz \negated\cos\!!dimena
+ \@@layerxpos \negated\cos\!!widtha
+ \if!!donea
+ \@@layerxoff -\@@layerxsiz
+ \advance\@@layerxoff \sin\!!deptha
+ \fi
+ \if!!doneb
+ \@@layeryoff \negated\cos\!!heighta
+ \fi
+ \dododorotatenextbox
+ \wd\nextbox\if!!donea\sin\!!deptha\else\@@layerxsiz\fi
+ \fi
\else
- \def\@@rotatie{90}%
- \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill
+ \ifdim\cos\points<\zeropoint
+ \@@layerxsiz \negated\cos\!!widtha
+ \@@layerysiz \negated\sin\!!widtha
+ \advance\@@layerxsiz \negated\sin\!!dimena
+ \advance\@@layerysiz \negated\cos\!!dimena
+ \@@layerxpos \@@layerxsiz
+ \@@layerypos \negated\sin\!!widtha
+ \if!!donea
+ \@@layerxoff -\@@layerxsiz
+ \advance\@@layerxoff \negated\sin\!!heighta
+ \fi
+ \if!!doneb
+ \@@layeryoff \@@layerysiz
+ \advance\@@layeryoff \cos\!!deptha
+ \fi
+ \dododorotatenextbox
+ \wd\nextbox\if!!donea\negated\sin\!!heighta\else\@@layerxsiz\fi
+ \else
+ \@@layerxsiz \cos\!!widtha
+ \@@layerysiz \negated\sin\!!widtha
+ \advance\@@layerxsiz \negated\sin\!!dimena
+ \advance\@@layerysiz \cos\!!dimena
+ \ifdim\sin\points=\zeropoint
+ \@@layerxpos \zeropoint
+ \@@layerxoff \zeropoint
+ \@@layerypos \@@layerysiz
+ \if!!doneb
+ \@@layeryoff \!!deptha
+ \fi
+ \else
+ \@@layerypos \@@layerysiz
+ \@@layerxpos \negated\sin\!!dimena
+ \if!!donea
+ \@@layerxoff -\@@layerxsiz
+ \advance\@@layerxoff \negated\sin\!!heighta
+ \fi
+ \if!!doneb
+ \@@layeryoff \negated\sin\!!deptha
+ \fi
+ \fi
+ \dododorotatenextbox
+ \ifdim\sin\points=\zeropoint
+ \else
+ \wd\nextbox\if!!donea\negated\sin\!!heighta\else\@@layerxsiz\fi
+ \fi
+ \fi
\fi}
-%D A couple of examples, demonstrating how the depth is
-%D taken care of:
-%D
-%D \startbuffer
-%D test\rotate[frame=on, rotation=0] {gans}%
-%D test\rotate[frame=on, rotation=90] {gans}%
-%D test\rotate[frame=on, rotation=180]{gans}%
-%D test\rotate[frame=on, rotation=270]{gans}%
-%D test
-%D \stopbuffer
-%D
-%D \typebuffer \getbuffer
+\def\dorotatenextbox#1#2%
+ {\doifsomething{#1}
+ {\edef\@@rorotatie{\number#1}% get rid of leading zeros and spaces
+ \setbox\nextbox\vbox{\flushnextbox}% not really needed
+ \dodorotatenextbox\@@rorotatie#2}%
+ \hbox{\boxcursor\flushnextbox}}
-\def\complexrotate[#1]%
- {\dowithnextbox
- {\getparameters[\??ro][#1]%
- \dostoprotate}%
- \vbox\localframed[\??ro][#1]}
+\def\dodorotatebox#1% {angle} \hbox/\vbox/\vtop
+ {\bgroup\hbox\bgroup % compatibility hack
+ \dowithnextbox
+ {\dorotatenextbox{#1}\plusone
+ \egroup\egroup}}
+
+\def\dorotatebox#1% {angle} \hbox/\vbox/\vtop
+ {\ifcase#1\relax
+ \expandafter\gobbleoneargument
+ \else
+ \expandafter\dodorotatebox
+ \fi{#1}}
\unexpanded\def\rotate % \bgroup: \rotate kan argument zijn
{\bgroup\complexorsimpleempty\rotate}
+\def\complexrotate[#1]% framed met diepte !
+ {\getparameters[\??ro][#1]%
+ \processaction
+ [\@@roplaats]
+ [\v!diepte=>\!!counta\plusthree\donefalse,% depth fit - raw box
+ \v!passend=>\!!counta\plustwo \donefalse,% depth tight - raw box
+ \v!ruim=>\!!counta\plusone \donefalse,% nodepth fit - raw box
+ \v!hoog=>\!!counta\plusone \donetrue,% nodepth fit - framed
+ \s!default=>\!!counta\plusthree\donetrue,% depth fit - framed
+ \s!unknown=>\!!counta\plusthree\donetrue]% depth fit - framed
+ \ifdone
+ \def\docommand{\localframed[\??ro][#1,\c!plaats=]}%
+ \else
+ \let\docommand\relax
+ \fi
+ \dowithnextbox{\dorotatenextbox\@@rorotatie\!!counta\egroup}\vbox\docommand}
+
+\presetlocalframed[\??ro]
+
+\def\setuprotate
+ {\dodoubleargument\getparameters[\??ro]}
+
\setuprotate
[\c!rotatie=90,
+ \c!plaats=\v!normaal,
\c!breedte=\v!passend,
\c!hoogte=\v!passend,
\c!offset=\v!overlay,
\c!kader=\v!uit]
+
+% \dostepwiserecurse{0}{360}{10}
+% {\startlinecorrection[blank]
+% \hbox
+% {\expanded{\setuprotate[rotation=\recurselevel]}%
+% \traceboxplacementtrue
+% \hbox to .2\hsize{\hss\ruledhbox{\rotate[location=depth] {\ruledhbox{\bfb (depth)}}}}%
+% \hbox to .2\hsize{\hss\ruledhbox{\rotate[location=fit] {\ruledhbox{\bfb (fit)}}}}%
+% \hbox to .2\hsize{\hss\ruledhbox{\rotate[location=broad] {\ruledhbox{\bfb (broad)}}}}%
+% \hbox to .2\hsize{\hss\ruledhbox{\rotate[location=normal]{\ruledhbox{\bfb (normal)}}}}%
+% \hbox to .2\hsize{\hss\ruledhbox{\rotate[location=high] {\ruledhbox{\bfb (high)}}}}}
+% \stoplinecorrection}
% schaal
diff --git a/tex/context/base/core-ntb.tex b/tex/context/base/core-ntb.tex
index 5b74aa710..8029d0476 100644
--- a/tex/context/base/core-ntb.tex
+++ b/tex/context/base/core-ntb.tex
@@ -25,6 +25,10 @@
%D To Do:
%D
+%D splitsen = ja | herhaal => als nofTH>1 then ja als herhaal
+
+%D To Do:
+%D
%D \starttypen
%D break over pagina
%D kop herhalen
@@ -113,8 +117,6 @@
% \def\settblspn#1#2{\setvalue {\@@tblprefix#1:s}{#2}}
% \def\doiftblspn #1{\doifelsevalue{\@@tblprefix#1:s}{1}}
-\newif\ifsqueezeTBLspan \squeezeTBLspantrue % spans one column cell over multi column par cells
-
\def\settblspn #1{\setvalue {\@@tblprefix#1:s}{1}}
\def\doifelsetblspn#1{\doifelsevalue{\@@tblprefix#1:s}{1}}
@@ -134,6 +136,7 @@
\let\pushTBLparameters\relax
\let\popTBLparameters \relax
+\newif\ifsqueezeTBLspan \squeezeTBLspantrue % spans one column cell over multi column par cells
\newif\ifautoTBLspread \autoTBLspreadfalse
\newif\ifautoTBLhsize \autoTBLhsizetrue
\newif\ifautoTBLrowspan \autoTBLrowspantrue
@@ -1121,17 +1124,19 @@
% \notsplittblbox{#1}%
% \fi}
+\newbox\TABLEsplitbox
+
\def\splittblboxa#1% spacing between rows gets lost in split
- {\setbox\scratchbox\vbox{#1}%
+ {\setbox\TABLEsplitbox\vbox{#1}%
\setbox8\vbox{\doifsomething\tbltbltussenwit{\blank[\tbltbltussenwit]}}%
\ifmultipleTBLheads
\setbox2\vbox{}%
\setbox4\vbox{}%
\dorecurse\noftblheadlines
- {\setbox0\vsplit\scratchbox to \lineheight
+ {\setbox0\vsplit\TABLEsplitbox to \lineheight
\setbox2\vbox{\unvcopy2\unvcopy0}}%
\dorecurse\noftblnextlines
- {\setbox0\vsplit\scratchbox to \lineheight
+ {\setbox0\vsplit\TABLEsplitbox to \lineheight
\setbox4\vbox{\unvcopy4\unvcopy0}}%
\ifcase\noftblheadlines\else
\ifdim\pagegoal<\maxdimen
@@ -1151,7 +1156,7 @@
\donefalse
\!!doneafalse
\doloop
- {\setbox0\vsplit\scratchbox to \lineheight
+ {\setbox0\vsplit\TABLEsplitbox to \lineheight
\if!!donea
\ifdim\pagegoal<\maxdimen
\setbox0\vbox{\unvbox0}%
@@ -1195,7 +1200,7 @@
\fi}%
\fi
\egroup
- \ifvoid\scratchbox \exitloop \else \donetrue \fi}}
+ \ifvoid\TABLEsplitbox \exitloop \else \donetrue \fi}}
% \def\splittblboxb#1%
% {\setbox\scratchbox\vbox{#1}%
@@ -1252,19 +1257,19 @@
\let\extratblsplitheight\zeropoint % additional space taken by before/afterTABLEsplitbox
\def\splittblboxb#1%
- {\setbox\scratchbox\vbox{#1}%
+ {\setbox\TABLEsplitbox\vbox{#1}%
\setbox8\vbox{\doifsomething\tbltbltussenwit{\blank[\tbltbltussenwit]}}%
\ifmultipleTBLheads
\setbox2\vbox{}%
\setbox4\vbox{}%
\dorecurse\noftblheadlines
- {\setbox0\vsplit\scratchbox to \lineheight
+ {\setbox0\vsplit\TABLEsplitbox to \lineheight
\setbox2\vbox{\unvcopy2\unvcopy0}}%
\dorecurse\noftblnextlines
- {\setbox0\vsplit\scratchbox to \lineheight
+ {\setbox0\vsplit\TABLEsplitbox to \lineheight
\setbox4\vbox{\unvcopy4\unvcopy0}}%
\fi
- \testpage[2]% quite save since a row is > 1 lineheight and we don't want on-liners
+ \testpage[2]% quite save since a row is > 1 lineheight and we don't want one-liners
\!!doneafalse
\doloop
{\ifdim\pagegoal<\maxdimen
@@ -1291,14 +1296,14 @@
\doifsomething\tbltbltussenwit{\blank[\tbltbltussenwit]}%
\fi
\fi
- \setbox0\vsplit\scratchbox to\scratchdimen
+ \setbox0\vsplit\TABLEsplitbox to\scratchdimen
\unvbox0}%
\if!!donea\else\ifcase\noftblnextlines\else
\setbox2\box4
\fi\fi
\!!doneatrue
\postprocessTABLEsplitbox\finaltblbox
- \ifvoid\scratchbox
+ \ifvoid\TABLEsplitbox
\beforeTABLEsplitbox
\box\finaltblbox
\afterTABLEsplitbox
diff --git a/tex/context/base/core-pos.tex b/tex/context/base/core-pos.tex
index 5724c72ad..61257abf2 100644
--- a/tex/context/base/core-pos.tex
+++ b/tex/context/base/core-pos.tex
@@ -948,10 +948,24 @@
\def\textanchor{text:\realfolio}
+% \def\placepositionanchors % todo : depth pagebox
+% {\ifpositioning
+% \setbox\scratchbox\vbox to \teksthoogte
+% {\topskipcorrection
+% \hbox{\strut\dopositionaction\headanchor}%
+% \vfill
+% \hbox{\strut\dopositionaction\tailanchor}}%
+% \dp\scratchbox\zeropoint
+% \wd\scratchbox\zetbreedte % not \zeropoint, else wrong text backgrounds
+% \hpos\textanchor{\box\scratchbox}%
+% \else
+% \vskip\teksthoogte
+% \fi}
+
\def\placepositionanchors % todo : depth pagebox
{\ifpositioning
\setbox\scratchbox\vbox to \teksthoogte
- {\topskipcorrection
+ {\simpletopskipcorrection
\hbox{\strut\dopositionaction\headanchor}%
\vfill
\hbox{\strut\dopositionaction\tailanchor}}%
diff --git a/tex/context/base/core-ref.tex b/tex/context/base/core-ref.tex
index f00d5e12b..ee31798bc 100644
--- a/tex/context/base/core-ref.tex
+++ b/tex/context/base/core-ref.tex
@@ -3204,6 +3204,40 @@
% {#2}%
% \fi}
+% \definespeciallocation\v!pagina#1#2% page(n) page(+n) page(-n)
+% {\iflocation
+% \ifx\currentouterreference\empty
+% \splitoffreference\currentreferenceoperation
+% \else
+% \let\currentinnerreference\currentreferenceoperation
+% \fi
+% \ifx\currentouterreference\empty
+% \doifinstringelse+\currentinnerreference
+% {\scratchcounter\realpageno
+% \advance\scratchcounter \currentinnerreference
+% \edef\currentinnerreference{\the\scratchcounter}}
+% {\doifinstringelse-\currentinnerreference
+% {\scratchcounter\realpageno
+% \advance\scratchcounter \currentinnerreference
+% \edef\currentinnerreference{\the\scratchcounter}}
+% \donothing}%
+% \doifnonzeropositiveelse\currentinnerreference
+% \donothing
+% {\edef\currentinnerreference{1}}%
+% \gotorealpage\empty\empty\currentinnerreference{#2}%
+% \else
+% \setouterlocation\currentouterreference
+% \doifnonzeropositiveelse\currentinnerreference
+% \donothing
+% {\doifdefinedelse{\v!pagina:::\currentinnerreference}
+% {\edef\currentinnerreference{\getvalue{\v!pagina:::\currentinnerreference}}}
+% {\edef\currentinnerreference{1}}}%
+% \gotorealpage\otherURL\otherfile\currentinnerreference{#2}%
+% \fi
+% \else
+% {#2}%
+% \fi}
+
\definespeciallocation\v!pagina#1#2% page(n) page(+n) page(-n)
{\iflocation
\ifx\currentouterreference\empty
@@ -3224,6 +3258,8 @@
\doifnonzeropositiveelse\currentinnerreference
\donothing
{\edef\currentinnerreference{1}}%
+ \docheckrealreferencepage\currentinnerreference % new
+ \let\currentrealreference\currentinnerreference % handy to have this available
\gotorealpage\empty\empty\currentinnerreference{#2}%
\else
\setouterlocation\currentouterreference
diff --git a/tex/context/base/core-rul.tex b/tex/context/base/core-rul.tex
index 7b44270ee..65b9d9b5f 100644
--- a/tex/context/base/core-rul.tex
+++ b/tex/context/base/core-rul.tex
@@ -794,10 +794,14 @@
\else\ifx\localwidth\v!ruim
\boxhaswidthtrue
\!!widtha\hsize
+ \else\ifx\localwidth\v!lokaal
+ \boxhaswidthtrue
+ \setlocalhsize
+ \!!widtha\localhsize
\else
\boxhaswidthtrue
\!!widtha\localwidth
- \fi\fi\fi
+ \fi\fi\fi\fi
\ifx\localheight\v!passend
\boxhasheightfalse % no longer: \boxhasstrutfalse
\else\ifx\localheight\v!ruim
@@ -816,18 +820,23 @@
\boxhasheighttrue
\fi}%
\fi
- % this should be an option ! ! ! !
- \ifdim\!!widtha=\hsize
- \parindent\zeropoint
- \setlocalhsize
- \!!widtha\localhsize
- \fi
+ % this is now an option: width=local
+ %
+ % \ifdim\!!widtha=\hsize
+ % \parindent\zeropoint
+ % \setlocalhsize
+ % \!!widtha\localhsize
+ % \fi
% i.e. disable (colsetbackgroundproblemintechniek)
\advance\!!widtha -2\@@localoffset
\advance\!!heighta -2\@@localoffset
\ifx\localstrut\v!nee
\boxhasstrutfalse
- \fi
+ \else\ifx\localstrut\v!globaal
+ \setstrut
+ \else\ifx\localstrut\v!lokaal
+ \setfontstrut
+ \fi\fi\fi
\ifboxhasstrut
\setstrut
\let\localbegstrut\begstrut
diff --git a/tex/context/base/core-sec.tex b/tex/context/base/core-sec.tex
index d628188a0..8e5040e73 100644
--- a/tex/context/base/core-sec.tex
+++ b/tex/context/base/core-sec.tex
@@ -207,11 +207,19 @@
{\voorafgaandenummer\nummer[#1]}%
\egroup}
+% \def\preparethenumber#1#2#3% {\??id#1} \number \result
+% {\doifelsevaluenothing{#1\c!scheider}
+% {\let\numberseparator\empty
+% \let#3#2}
+% {\unexpanded\def\numberseparator{\getvalue{#1\c!scheider}}%
+% \edef#3{\@EA\separatednumber\@EA{#2}}}} % hm, etex
+
\def\preparethenumber#1#2#3% {\??id#1} \number \result
{\doifelsevaluenothing{#1\c!scheider}
{\let\numberseparator\empty
\let#3#2}
- {\unexpanded\def\numberseparator{\getvalue{#1\c!scheider}}%
+ {% was \unexpanded \edef, but we need it unexpanded !
+ \edef\numberseparator{\getvalue{#1\c!scheider}}%
\edef#3{\@EA\separatednumber\@EA{#2}}}} % hm, etex
\def\lossenummer[#1]%
@@ -945,6 +953,8 @@
\newcounter\currentsectionblock
+\def\currentsection{\@@sectieblok}
+
\def\dodefinieersectieblok[#1][#2][#3]%
{\getparameters
[\??sb#1]
diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex
index 49887d92b..3de3a24db 100644
--- a/tex/context/base/core-spa.tex
+++ b/tex/context/base/core-spa.tex
@@ -533,22 +533,40 @@
\unexpanded\def\blanko % the \relax is definitely needed due to the many \if's
{\relax\complexorsimple\doblanko}
+% \def\complexdoblanko
+% {\flushnotes
+% \ifmmode
+% \let\next\nocomplexdoblanko
+% \else
+% \ifopelkaar
+% \ifinpagebody
+% \let\next\docomplexdoblanko
+% \else
+% \let\next\nocomplexdoblanko
+% \fi
+% \else
+% \let\next\docomplexdoblanko
+% \fi
+% \fi
+% \next}
+%
+% with \next removed
+
\def\complexdoblanko
{\flushnotes
\ifmmode
- \let\next\nocomplexdoblanko
+ \@EA\nocomplexdoblanko
\else
\ifopelkaar
\ifinpagebody
- \let\next\docomplexdoblanko
+ \@EA\@EAEAEA\@EA\docomplexdoblanko
\else
- \let\next\nocomplexdoblanko
+ \@EA\@EAEAEA\@EA\nocomplexdoblanko
\fi
\else
- \let\next\docomplexdoblanko
+ \@EAEAEA\docomplexdoblanko
\fi
- \fi
- \next}
+ \fi}
\def\nocomplexdoblanko[#1]%
{% evt blokkeerfalse
@@ -2397,13 +2415,30 @@
\def\removelastskip% a redefinition of plain
{\ifvmode\ifdim\lastskip=\zeropoint\else\vskip-\lastskip\fi\fi}
+% first version:
+%
+% \def\dosomebreak#1%
+% {\scratchskip\lastskip
+% \removelastskip
+% %\type{#1}%
+% #1\relax
+% \ifdim\scratchskip=\zeropoint \else
+% \vskip\scratchskip
+% \fi}
+%
+% don't change the next improvement:
+
\def\dosomebreak#1%
- {\scratchskip\lastskip
- \removelastskip
- %\type{#1}%
- #1\relax
- \ifdim\scratchskip=\zeropoint \else
- \vskip\scratchskip
+ {\endgraf % beware, this forces a newline
+ \ifvmode
+ \ifdim\lastskip=\zeropoint
+ #1\relax
+ \else
+ \scratchskip\lastskip
+ \removelastskip
+ #1\relax
+ \vskip\scratchskip
+ \fi
\fi}
% beter, vooral in \vbox; nog in \pagina toepassen s!
diff --git a/tex/context/base/core-tbl.tex b/tex/context/base/core-tbl.tex
index 036af687d..22ce37474 100644
--- a/tex/context/base/core-tbl.tex
+++ b/tex/context/base/core-tbl.tex
@@ -1,4 +1,5 @@
%D \module
+%D \module
%D [ file=core-tbl,
%D version=1998.11.03,
%D title=\CONTEXT\ Core Macros,
diff --git a/tex/context/base/enco-def.tex b/tex/context/base/enco-def.tex
index 383dffb5f..a0d56c674 100644
--- a/tex/context/base/enco-def.tex
+++ b/tex/context/base/enco-def.tex
@@ -345,6 +345,11 @@
\definecharacter Oumlaut {\smashaccent\Odiaeresis}
\definecharacter Uumlaut {\smashaccent\Udiaeresis}
+\definecharacter scommaaccent {s\quoteright}
+\definecharacter Scommaaccent {S\quoteright}
+\definecharacter tcommaaccent {t\quoteright}
+\definecharacter Tcommaaccent {T\quoteright}
+
\stopencoding
%D A few goodies:
diff --git a/tex/context/base/enco-ini.tex b/tex/context/base/enco-ini.tex
index 70dd8836c..be9cea913 100644
--- a/tex/context/base/enco-ini.tex
+++ b/tex/context/base/enco-ini.tex
@@ -1482,10 +1482,10 @@
%D We preload several encodings:
-\useencoding[def,acc,raw,com,cas,mis] % mis shoudl come first
+\useencoding[def,acc,raw,com,cas,mis] % mis should come first
-\useencoding[ans,il2,ec,tbo,pdf,uc,pol]
+\useencoding[ans,il2,ec,tbo,pdf,uc,pol,qx]
\setupencoding[\s!default=ec] % was: [\s!default=\s!default]
-\protect \endinput
+\protect \endinput \ No newline at end of file
diff --git a/tex/context/base/enco-pfr.tex b/tex/context/base/enco-pfr.tex
index 5b064805c..ab6d961e8 100644
--- a/tex/context/base/enco-pfr.tex
+++ b/tex/context/base/enco-pfr.tex
@@ -14,39 +14,39 @@
%D This is an experimental module in which we implement
%D font resource inclusion in \PDF. One reason to include
%D font resources is that it enables a search engine to
-%D perform a search (I'm told). This feature ws requested by
-%D Petr Ferdus from Czech.
+%D perform a search (I'm told). This feature ws requested by
+%D Petr Ferdus from Czech.
%D A simple test file may look like this (watch how we first
-%D load the encoding and then the font; previous font
-%D definitions are left untouched.)
-%D
+%D load the encoding and then the font; previous font
+%D definitions are left untouched.)
+%D
%D \starttypen
-%D % output=pdftex interface=en
-%D
+%D % output=pdftex interface=en
+%D
%D \useencoding[pfr]
%D \setupbodyfont[csr]
-%D
-%D \starttext
+%D
+%D \starttext
%D test \`z \'z \bf test \sl test \bs quite funny \`z \page
%D test \`z \'z \bf test \sl test \bs quite funny \`z \page
-%D \stoptext
-%D \stoptypen
+%D \stoptext
+%D \stoptypen
%D
-%D We do our best to include a (often large) font resources
-%D only once. The current implementation is not that
-%D general which is also due to the fact that \type
-%D {\pdffontattr} is expanded instantly and persistent. A
-%D more versatile (but also slower) approach is to keep track
-%D of the fonts and either flush the information at shipout
-%D time, or at the end of the document.
+%D We do our best to include a (often large) font resources
+%D only once. The current implementation is not that
+%D general which is also due to the fact that \type
+%D {\pdffontattr} is expanded instantly and persistent. A
+%D more versatile (but also slower) approach is to keep track
+%D of the fonts and either flush the information at shipout
+%D time, or at the end of the document.
\unprotect
-%D \macros
+%D \macros
%D {ifincludepdffontresources}
%D
-%D You can turn of this feature using the following switch.
+%D You can turn of this feature using the following switch.
\newif\ifincludepdffontresources \includepdffontresourcestrue
@@ -55,33 +55,30 @@
%D done, the resource name is erased, and we use this fact to
%D prevent redefinition as well as well as reloading. So, a
%D macro defined with \type {\pdffontfileresource} can have
-%D three states:
-%D
+%D three states:
+%D
%D \startopsomming[opelkaar]
%D \som undefined: not yet loaded, and not yet included
%D \som some value: loaded, but not yet included
%D \som empty: loaded, and already included
%D \stopopsomming
-\def\pdffontresource%
- {pdfr:\currentencoding}
-
-\def\pdffontfileresource%
- {pdff:\pdffontresource}
+\def\pdffontresource {pdfr:\currentencoding}
+\def\pdffontfileresource{pdff:\pdffontresource}
%D A resource is defined in a file prefixed by \type {pdfr-}.
%D The following \PDF\ code is composed by Ondrej Koala Vacha (I
-%D probably mispelled this name).
-%D
+%D probably mispelled this name).
+%D
%D \starttypen
-%D \startpdffontresource[il2]
+%D \startpdffontresource[il2]
%D /CIDInit /ProcSet findresource begin
%D 12 dict begin
%D begincmap
%D /CIDSystemInfo
-%D << /Registry (Adobe)
-%D /Ordering (T1UV)
-%D /Supplement 0
+%D << /Registry (Adobe)
+%D /Ordering (T1UV)
+%D /Supplement 0
%D >> def
%D /CMapName /Adobe-Identity-UCS def
%D /CMapType 1 def
@@ -100,17 +97,17 @@
%D \stoppdffontresource
%D \stoptypen
%D
-%D We don't preload such huge definitions, and process them
-%D run||time to save memory. Therefore, in the encoding
+%D We don't preload such huge definitions, and process them
+%D run||time to save memory. Therefore, in the encoding
%D vector, we only add an entry like:
-%D
+%D
%D \starttypen
%D \startencoding [il2]
%D \usepdffontresource il2
%D \stopencoding
%D \stoptypen
%D
-%D This macro is defined as follows.
+%D This macro is defined as follows.
\def\usepdffontresource #1 %
{\doifundefinedelse{\pdffontfileresource} % okay, undefined, so either
@@ -118,10 +115,10 @@
{\doifvaluesomething{\pdffontfileresource} % only if not loaded in which
{\setxvalue{\pdffontfileresource}{#1}}}} % case it's made empty
-%D Watch how we check for duplicated loading. The resource
-%D itself, when asked for, is included immediately, after which
-%D we save its reference. Normally a document will have one
-%D such a resource.
+%D Watch how we check for duplicated loading. The resource
+%D itself, when asked for, is included immediately, after which
+%D we save its reference. Normally a document will have one
+%D such a resource.
\long\def\startpdffontresource[#1]#2\stoppdffontresource%
{\donefalse % we use boolean due to \par
@@ -132,15 +129,15 @@
\setxvalue{\pdffontresource}{\the\pdflastobj}%
\fi}
-%D The reference to such a vector is to be handled at font
-%D definition time, which is why we hook it into the font
-%D loading routine. A little bit of indirectness speeds up
-%D the process when this feature is disabled and keeps the
-%D macros readable.
+%D The reference to such a vector is to be handled at font
+%D definition time, which is why we hook it into the font
+%D loading routine. A little bit of indirectness speeds up
+%D the process when this feature is disabled and keeps the
+%D macros readable.
\appendtoksonce \includepdffontresource \to \everyfont
-\def\includepdffontresource%
+\def\includepdffontresource
{\ifincludepdffontresources
\ifx\pdffontattr\undefined
% we're not using (a recent version of) pdftex
@@ -155,7 +152,7 @@
\def\doincludepdffontresource
{\ifcsname\s!ucmap\fontfile\endcsname\else
- \dodoincludepdffontresource
+ \dodoincludepdffontresource
\fi}
\def\dodoincludepdffontresource%
@@ -189,7 +186,7 @@
\def\doincludepdffontresource
{\@EA\ifx\csname\s!ucmap\fontfile\endcsname\relax
- \dodoincludepdffontresource
+ \dodoincludepdffontresource
\fi}
\def\dodoincludepdffontresource%
@@ -204,7 +201,7 @@
\fi
\fi
\@EA\ifx\csname\pdffontresource\endcsname\relax\else
- \expanded{\pdffontattr\font
+ \expanded{\pdffontattr\font
{/ToUnicode \csname\pdffontresource\endcsname\space0 R}}%
\fi
\global\@EA\let\csname\s!ucmap\fontfile\endcsname\empty
@@ -213,8 +210,8 @@
\endTEX
-%D For the moment, we keep this definition here, if only
-%D because \type {\usepdffontencoding} is not defined in the
+%D For the moment, we keep this definition here, if only
+%D because \type {\usepdffontencoding} is not defined in the
%D core. In the end, this will go to enco-il2.
\startencoding [il2]
diff --git a/tex/context/base/enco-pol.tex b/tex/context/base/enco-pol.tex
index 108969702..353b5ef7b 100644
--- a/tex/context/base/enco-pol.tex
+++ b/tex/context/base/enco-pol.tex
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-%D Polish native encoding; normally polish users will use
+%D Polish native encoding; normally polish users will use
%D translate=cp1250pl in combination with ec encoding.
\startmapping[pl0]
@@ -23,7 +23,7 @@
\definecasemap 171 171 139 % n acute
\definecasemap 243 243 211 % o acute
\definecasemap 177 177 145 % s acute
-\definecasemap 185 185 153 % z acute
+\definecasemap 185 185 153 % z acute
\definecasemap 187 187 155 % z dot
\definecasemap 129 161 129 % A ogonek
@@ -34,9 +34,9 @@
\definecasemap 211 243 211 % O acute
\definecasemap 145 177 145 % S acute
\definecasemap 153 185 153 % Z acute
-\definecasemap 155 187 155 % Z dot
+\definecasemap 155 187 155 % Z dot
-\stopmapping
+\stopmapping
\startmapping[pl0]
@@ -50,7 +50,7 @@
\definespacemap 153 999 % Z acute
\definespacemap 155 999 % Z dot
-\stopmapping
+\stopmapping
\startencoding[pl0]
@@ -62,23 +62,23 @@
\definecharacter Sacute 145
\definecharacter Zacute 153
\definecharacter Zdot 155
-\definecharacter aogonek 161
-\definecharacter cacute 162
-\definecharacter eogonek 166
-\definecharacter lstroke 170
-\definecharacter nacute 171
+\definecharacter aogonek 161
+\definecharacter cacute 162
+\definecharacter eogonek 166
+\definecharacter lstroke 170
+\definecharacter nacute 171
\definecharacter sacute 177
\definecharacter zacute 185
\definecharacter zdot 187
\definecharacter Oacute 211
\definecharacter oacute 243
-\stopencoding
+\stopencoding
\startencoding[pl0]
-\definecharacter leftguillemot 174
-\definecharacter rightguillemot 175
+\definecharacter leftguillemot 174
+\definecharacter rightguillemot 175
\definecharacter guilsingleleft 174
\definecharacter guilsingleright 175
@@ -119,7 +119,7 @@
\definecasemap 241 241 209 % n acute
\definecasemap 243 243 211 % o acute
\definecasemap 156 156 140 % s acute
-\definecasemap 159 159 143 % z acute
+\definecasemap 159 159 143 % z acute
\definecasemap 191 191 175 % z dot
\definecasemap 165 165 185 % A ogonek
@@ -130,9 +130,9 @@
\definecasemap 211 211 243 % O acute
\definecasemap 140 140 156 % S acute
\definecasemap 143 143 159 % Z acute
-\definecasemap 175 175 191 % Z dot
+\definecasemap 175 175 191 % Z dot
-\stopmapping
+\stopmapping
\startmapping[pl1]
@@ -146,7 +146,7 @@
\definespacemap 143 999 % Z acute
\definespacemap 175 999 % Z dot
-\stopmapping
+\stopmapping
\startencoding[pl1]
@@ -169,12 +169,12 @@
\definecharacter nacute 241
\definecharacter oacute 243
-\stopencoding
+\stopencoding
\startencoding[pl1]
-\definecharacter leftguillemot 174
-\definecharacter rightguillemot 175
+\definecharacter leftguillemot 174
+\definecharacter rightguillemot 175
\definecharacter guilsingleleft 174
\definecharacter guilsingleright 175
@@ -202,9 +202,9 @@
\definecasemap 211 211 243 % O acute
\definecasemap 166 166 182 % S acute
\definecasemap 172 172 188 % Z acute
-\definecasemap 175 175 191 % Z dot
+\definecasemap 175 175 191 % Z dot
-\stopmapping
+\stopmapping
\startmapping[pl2]
@@ -218,7 +218,7 @@
\definespacemap 172 999 % Z acute
\definespacemap 175 999 % Z dot
-\stopmapping
+\stopmapping
\startencoding[pl2]
@@ -228,7 +228,7 @@
\definecharacter Zacute 172
\definecharacter Zdot 175
\definecharacter aogonek 177
-\definecharacter lstroke 179
+\definecharacter lstroke 179
\definecharacter sacute 182
\definecharacter zacute 188
\definecharacter zdot 191
@@ -241,15 +241,15 @@
\definecharacter nacute 241
\definecharacter oacute 243
-\stopencoding
+\stopencoding
\startencoding[pl2]
-\definecharacter leftguillemot 174
-\definecharacter rightguillemot 175
+\definecharacter leftguillemot 174
+\definecharacter rightguillemot 175
\definecharacter guilsingleleft 174
\definecharacter guilsingleright 175
\stopencoding
-\endinput
+\endinput \ No newline at end of file
diff --git a/tex/context/base/enco-qx.tex b/tex/context/base/enco-qx.tex
new file mode 100644
index 000000000..f9b125ad8
--- /dev/null
+++ b/tex/context/base/enco-qx.tex
@@ -0,0 +1,207 @@
+%D \module
+%D [ file=enco-qx,
+%D version=2004.04.03,
+%D title=\CONTEXT\ Encoding Macros,
+%D subtitle=Polish QX Encoding,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright=PRAGMA-ADE]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\startmapping[qx] % to be done
+
+\definecasemaps 160 to 188 lc +32 uc 0
+\definecasemaps 192 to 255 lc 0 uc -32
+
+\stopmapping
+
+\startencoding[qx]
+
+\definecharacter textacute 19
+\definecharacter textbreve 21
+\definecharacter textcaron 20
+\definecharacter textcedilla 24
+\definecharacter textcircumflex 94
+\definecharacter textdiaeresis 127
+\definecharacter textdotaccent 94
+\definecharacter textgrave 18
+\definecharacter texthungarumlaut 125
+\definecharacter textmacron 22
+\definecharacter textogonek 150
+\definecharacter textring 23
+\definecharacter texttilde 126
+
+\definecharacter dotlessi 16
+\definecharacter dotlessj 17
+
+\definecharacter endash 123
+\definecharacter emdash 124
+
+\definecharacter aeligature 26
+\definecharacter AEligature 27
+\definecharacter oeligature 29
+\definecharacter OEligature 30
+
+\definecharacter ssharp 25
+%definecharacter Ssharp 25
+
+\definecharacter thorn 254
+\definecharacter Thorn 222
+
+\definecharacter Eth 208
+\definecharacter eth 240
+
+\definecharacter exclamdown 60
+\definecharacter questiondown 62
+
+\definecharacter sectionmark 159
+
+\definecharacter percent 37
+\definecharacter perthousand 216
+
+\definecharacter textasciicircum 141
+\definecharacter textasciitilde 140
+\definecharacter textbackslash 198
+\definecharacter textbraceleft 157
+\definecharacter textbraceright 158
+\definecharacter textunderscore 230
+
+\definecharacter textcurrency 215
+\definecharacter textdollar 36
+\definecharacter texteuro 128
+
+\definecharacter periodcentered 189
+\definecharacter textdag 143
+\definecharacter textddag 144
+\definecharacter textdegree 148
+\definecharacter textbullet 180
+
+\definecharacter paragraphmark 176
+
+\definecharacter copyright 164
+\definecharacter registered 163
+
+\definecharacter textbrokenbar 223
+\definecharacter textellipsis 8
+\definecharacter textslash 47
+\definecharacter textpm 172
+\definecharacter textdiv 165
+\definecharacter textminus 168
+\definecharacter textmultiply 169
+\definecharacter textmu 7
+
+\definecharacter quotedbl 190
+\definecharacter quotedblbase 255
+\definecharacter quotedblleft 92
+\definecharacter quotedblright 34
+
+\definecharacter quotesingle 191
+
+\definecharacter quoteleft 96
+\definecharacter quoteright 39
+
+\definecharacter leftguillemot 174
+\definecharacter rightguillemot 175
+
+\definecharacter aacute 225
+\definecharacter Aacute 193
+\definecharacter cacute 162
+\definecharacter Cacute 130
+\definecharacter eacute 233
+\definecharacter Eacute 201
+\definecharacter iacute 237
+\definecharacter Iacute 205
+\definecharacter Nacute 139
+\definecharacter Oacute 211
+\definecharacter nacute 171
+\definecharacter oacute 243
+\definecharacter sacute 177
+\definecharacter Sacute 145
+\definecharacter uacute 250
+\definecharacter Uacute 218
+\definecharacter yacute 253
+\definecharacter Yacute 221
+\definecharacter zacute 185
+\definecharacter Zacute 153
+
+\definecharacter scaron 178
+\definecharacter Scaron 146
+\definecharacter zcaron 186
+\definecharacter Zcaron 154
+
+\definecharacter ccedilla 231
+\definecharacter Ccedilla 199
+
+\definecharacter acircumflex 226
+\definecharacter Acircumflex 194
+\definecharacter ecircumflex 234
+\definecharacter Ecircumflex 202
+\definecharacter icircumflex 238
+\definecharacter Icircumflex 206
+\definecharacter ocircumflex 244
+\definecharacter Ocircumflex 212
+\definecharacter ucircumflex 251
+\definecharacter Ucircumflex 219
+
+\definecharacter adiaeresis 228
+\definecharacter Adiaeresis 196
+\definecharacter ediaeresis 235
+\definecharacter Ediaeresis 203
+\definecharacter idiaeresis 239
+\definecharacter Idiaeresis 207
+\definecharacter odiaeresis 246
+\definecharacter Odiaeresis 214
+\definecharacter udiaeresis 252
+\definecharacter Udiaeresis 220
+\definecharacter ydiaeresis 184
+\definecharacter Ydiaeresis 152
+
+\definecharacter zdotaccent 187
+\definecharacter Zdotaccent 155
+
+\definecharacter agrave 224
+\definecharacter Agrave 192
+\definecharacter egrave 232
+\definecharacter Egrave 200
+\definecharacter igrave 236
+\definecharacter Igrave 204
+\definecharacter ograve 242
+\definecharacter Ograve 210
+\definecharacter ugrave 249
+\definecharacter Ugrave 217
+
+\definecharacter aogonek 161
+\definecharacter Aogonek 129
+\definecharacter eogonek 166
+\definecharacter Eogonek 134
+\definecharacter iogonek 167
+\definecharacter Iogonek 135
+\definecharacter uogonek 183
+\definecharacter Uogonek 151
+
+\definecharacter aring 229
+\definecharacter Aring 197
+
+\definecharacter lstroke 170
+\definecharacter Lstroke 138
+\definecharacter ostroke 28
+\definecharacter Ostroke 31
+
+\definecharacter atilde 227
+\definecharacter Atilde 195
+\definecharacter ntilde 241
+\definecharacter Ntilde 209
+\definecharacter otilde 245
+\definecharacter Otilde 213
+
+\definecharacter scommaaccent 179
+\definecharacter Scommaaccent 147
+\definecharacter tcommaaccent 181
+\definecharacter Tcommaaccent 149
+
+\stopencoding
+
+\endinput \ No newline at end of file
diff --git a/tex/context/base/java-exa.tex b/tex/context/base/java-exa.tex
new file mode 100644
index 000000000..a28b5aeae
--- /dev/null
+++ b/tex/context/base/java-exa.tex
@@ -0,0 +1,232 @@
+%D \module
+%D [ file=java-exa,
+%D version=2002.??.??,
+%D title=\CONTEXT\ JavaScript Macros,
+%D subtitle=Example Support,
+%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.
+
+\startJSpreamble request_0 used now
+
+ exa_command = "" ;
+ exa_option = "" ;
+ exa_filename = "" ;
+ exa_filelist = "" ;
+ exa_registered = "" ;
+
+\stopJSpreamble
+
+\startJSpreamble request_1 used now
+
+ function set_request (command,option) {
+ exa_command = command ;
+ if (option.indexOf("--")<0) {
+ exa_option = "--action=" + option ;
+ } else {
+ exa_option = option ;
+ }
+ }
+
+ function assemble_request ( ) {
+ v = this.getField('filename') ;
+ if (v) {
+ exa_filename = v.value ;
+ }
+ v = this.getField('filelist') ;
+ if (v) {
+ exa_filelist = v.value ;
+ }
+ % exa_filename = exa_filename.replace(/\\\\/g,'/') ;
+ % exa_filelist = exa_filelist.replace(/\\\\/g,'/') ;
+ str = "<exa:request><exa:application>" ;
+ if (exa_filelist == '') {
+ exa_filelist = exa_registered ;
+ } else {
+ if (exa_registered != '') {
+ exa_filelist = exa_filelist + "\\n" + exa_registered ;
+ }
+ }
+ if (exa_command != '') {
+ str = str+"<exa:command>"+exa_command+"</exa:command>" ;
+ }
+ if (exa_option != '') {
+ str = str+"<exa:option>"+exa_option+"</exa:option>" ;
+ }
+ if (exa_filename != '') {
+ str = str+"<exa:filename>"+exa_filename+"</exa:filename>" ;
+ }
+ if (exa_filelist != '') {
+ lst = exa_filelist.split(/\\s/) ;
+ str = str+"<exa:filelist>" ;
+ for (i=0;i<lst.length;i++) {
+ str = str+"<exa:entry>"+lst[i]+"</exa:entry>" ;
+ }
+ str = str+"</exa:filelist>" ;
+ }
+ str = str + "</exa:application></exa:request>" ;
+ v = this.getField('exa:request') ;
+ if (v) {
+ % console.println(str) ;
+ v.value = str ;
+ }
+ }
+
+\stopJSpreamble
+
+\startJSpreamble request_2 used now
+
+ multiplefiles = false ;
+
+ function setfilename ( suffixes ) {
+ f = this.getField("fakename") ;
+ if (f) {
+ f.browseForFileToSubmit() ;
+ if (suffixes != "") {
+ s = suffixes.replace(/,/g,"|") ;
+ r = new RegExp() ;
+ s = "\\\\.(" + s + ")$" ;
+ r.compile(s, "i") ;
+ if (f.value.search(r)<=0) {
+ f.value = "" ;
+ app.alert('This filetype is not permitted.') ;
+ }
+ }
+ g = this.getField("filename") ;
+ if (g) {
+ g.value = f.value ;
+ }
+ % we need to set the value of the selector to empty else
+ % we get some funny preloading of multimeg files in spite
+ % of the specs that say that xml fields will not get sent
+ f.value = '' }
+ this.dirty = false ;
+ }
+
+ function addfilename () {
+ if (multiplefiles) {
+ h = this.getField("filelist") ;
+ g = this.getField("filename") ;
+ if ((g) && (h)) {
+ str = g.value ;
+ if (h.value == '') {
+ h.value = str ;
+ } else {
+ h.value = h.value + "\\n" + str ;
+ }
+ g.value = '' ;
+ this.value = '' ;
+ }
+ }
+ this.dirty = false ;
+ }
+
+ % not needed (why is it in here then)
+
+ function registerfilename (str) {
+ if (str!='') {
+ h = this.getField("filelist") ;
+ if (h) {
+ if (h.value != '') {
+ h.value = h.value + "\\n" ;
+ }
+ h.value = h.value + str ;
+ } else {
+ if (exa_registered != '') {
+ exa_registered = exa_registered + "\\n" ;
+ }
+ exa_registered = exa_registered + str ;
+ }
+ }
+ console.show ;
+ console.println('registered files') ;
+ console.println("file: "+str) ;
+ console.println("list: "+exa_registered) ;
+ this.dirty = false ;
+ }
+
+ function checkfilename () {
+ }
+
+ function getfilename ( suffixes ) {
+ setfilename(suffixes) ;
+ checkfilename() ;
+ addfilename() ;
+ }
+
+ function resetfilename () {
+ f = this.getField("filename") ;
+ if (f) {
+ f.value = '' ;
+ }
+ f = this.getField("fakename") ;
+ if (f) {
+ f.value = '' ;
+ }
+ f = this.getField("filelist") ;
+ if (f) {
+ f.value = '' ;
+ }
+ }
+
+\stopJSpreamble
+
+\startJSpreamble request_3 used now
+
+ function set_example_host ( host ) {
+ if (host.indexOf("://")<0) {
+ global.examplehost = "http://" + host ;
+ } else {
+ global.examplehost = host ;
+ }
+ }
+
+ function set_example_port ( port ) {
+ global.exampleport = port ;
+ }
+
+ function show_example_url ( ) {
+ console.println("example url: " + global.examplehost + ":" + global.exampleport) ;
+ }
+
+ function report_example_url ( ) {
+ app.alert("Requests will be submitted to port " + global.exampleport + " on " + global.examplehost + '.') ;
+ }
+
+ function submit_form (host, port) {
+ console.println("form: submit") ;
+ console.println("host: "+host) ;
+ console.println("port: "+port) ;
+ % example_url = "http://" + host + ":" + port ;
+ example_url = host + ":" + port ;
+ this.submitForm({cURL : example_url, bXML : true}) ;
+ }
+
+ function submit_example_form ( ) {
+ console.println("example form: submit") ;
+ console.println("example host: "+global.examplehost) ;
+ console.println("example port: "+global.exampleport) ;
+ % example_url = "http://" + global.examplehost + ":" + global.exampleport ;
+ example_url = global.examplehost + ":" + global.exampleport ;
+ this.submitForm({cURL : example_url, bXML : true}) ;
+ }
+
+ if (typeof global.examplehost == "undefined" ) {
+ if (this.baseURL == "") {
+ set_example_host("http://localhost") ;
+ } else {
+ set_example_host(this.baseURL) ;
+ }
+ }
+
+ if (typeof global.exampleport == "undefined" ) {
+ set_example_port("8061") ;
+ }
+
+\stopJSpreamble
+
+\endinput \ No newline at end of file
diff --git a/tex/context/base/java-fil.tex b/tex/context/base/java-fil.tex
index 2875998dd..02f32dffc 100644
--- a/tex/context/base/java-fil.tex
+++ b/tex/context/base/java-fil.tex
@@ -8,10 +8,10 @@
%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.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
-\startJSpreamble{Auxiliary} used now
+\startJSpreamble Auxiliary used now
function DocumentFileName ()
{ var Paths = this.path.split("/") ;
@@ -19,19 +19,19 @@
return(Paths[0]) }
function Print_Page_Range(From, To) % gaat mis, nog geen args mogelijk
- { if ((Number(From)>0)&&(Number(To)>=Number(From)))
- { var myFrom = Number(From)-1 ;
- var myTo = Number(To)-1 ;
+ { if ((Number(From)>0)&&(Number(To)>=Number(From)))
+ { var myFrom = Number(From)-1 ;
+ var myTo = Number(To)-1 ;
this.print(false,myFrom,myTo,true) } }
- function Print_This_Page ()
- { this.print(false,this.pageNum,this.pageNum,true) }
+ function Print_This_Page ()
+ { this.print(false,this.pageNum,this.pageNum,true) }
\stopJSpreamble
-\definereference
- [PrintSubPaginas]
- [JS(Print_Page_Range{\firstsubpage,\lastsubpage})]
+\definereference
+ [PrintSubPaginas]
+ [JS(Print_Page_Range{\firstsubpage,\lastsubpage})]
\definereference
[PrintSubPages]
@@ -45,4 +45,4 @@
[PrintThisPage]
[JS(Print_This_Page)]
-\endinput
+\endinput \ No newline at end of file
diff --git a/tex/context/base/java-fld.tex b/tex/context/base/java-fld.tex
index aad157dd7..aa563c1a4 100644
--- a/tex/context/base/java-fld.tex
+++ b/tex/context/base/java-fld.tex
@@ -127,7 +127,7 @@
event.value = Sanitized_TeX_String(event.value) ;
\stopJScode
-\startJSpreamble {Field} used now
+\startJSpreamble fields_1 used now
var visible_field = new Array() ; % no garbage collection !
var visible_fields = 0 ;
@@ -249,7 +249,7 @@ function ForgetChanges ()
% This can be done more efficient, by keeping track of the
% current top of the stack.
-\startJSpreamble {FieldStack} used later
+\startJSpreamble FieldStack used later
function Reset_Fields ( FieldSet )
{ var i = 1 ;
diff --git a/tex/context/base/java-ini.tex b/tex/context/base/java-ini.tex
index f9cd778af..495b86a41 100644
--- a/tex/context/base/java-ini.tex
+++ b/tex/context/base/java-ini.tex
@@ -679,4 +679,4 @@
\def\useJSscripts
{\dodoubleempty\douseJSscripts}
-\protect \endinput
+\protect \endinput \ No newline at end of file
diff --git a/tex/context/base/java-stp.tex b/tex/context/base/java-stp.tex
new file mode 100644
index 000000000..2417a61e0
--- /dev/null
+++ b/tex/context/base/java-stp.tex
@@ -0,0 +1,127 @@
+%D \module
+%D [ file=java-stp,
+%D version=2004.03.15,
+%D title=\CONTEXT\ JavaScript Macros,
+%D subtitle=Stepping,
+%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.
+
+\startJSpreamble Steps used now
+
+ % we define ocglist global, otherwise we quickly run into a memory hog (even
+ % out of memory in a 512 Meg machine)
+
+ % we cannot use doc_visited[this.pageNum] instead of doc_currentstep because
+ % of some funny side effect (i.e. dup or so)
+
+ var doc_ocglist = this.getOCGs() ;
+ var doc_stepname = "step" ;
+ var doc_currentstep = 0 ;
+ var doc_maxstep = 50 ;
+ var doc_visited = new Array() ;
+ var doc_busy = new Array() ;
+
+ % for some reason, this function is not seen in time (funny initialization
+ % order again?) ...
+
+ function SetupStepper ( layername, laststep ) {
+ doc_stepname = layername ;
+ doc_maxstep = laststep ;
+ for (var i=0; i<=this.numPages; i++) {
+ doc_visited[i] = 0 ;
+ doc_busy[i] = 0 ;
+ }
+ }
+
+ % so, we do it the ugly way
+
+ for (var i=0; i<=this.numPages; i++) {
+ doc_visited[i] = 0 ;
+ doc_busy[i] = 0 ;
+ }
+
+ function GetOCG ( name ) {
+ for (var i=0; i < doc_ocglist.length; i++) {
+ if (doc_ocglist[i].name == name) {
+ return doc_ocglist[i] ;
+ }
+ }
+ return null ;
+ }
+
+ function CheckBusy ( ) {
+ var ocg = GetOCG("step:busy") ;
+ if (ocg != null) {
+ if (doc_visited[this.pageNum]==0) {
+ ocg.state = true ;
+ } else {
+ if (doc_visited[this.pageNum]<doc_busy[this.pageNum]) {
+ ocg.state = true ;
+ } else {
+ ocg.state = false ;
+ }
+ }
+ }
+ }
+
+ function SetStepper ( maxstep, state ) {
+ for (var i=1; i<=maxstep; i++) {
+ try {
+ var ocg = GetOCG(doc_stepname + ':' + String(i)) ;
+ if (ocg != null) {
+ ocg.state = state ;
+ }
+ } catch (e) {
+ return ;
+ }
+ }
+ }
+
+ function CheckStepper ( maxsteps ) {
+ SetStepper(doc_visited[this.pageNum], true) ;
+ doc_busy[this.pageNum] = Number(maxsteps) ;
+ doc_currentstep = doc_visited[this.pageNum] ;
+ CheckBusy() ;
+ }
+
+ function ResetStepper ( ) {
+ SetStepper(doc_maxstep, false) ;
+ doc_currentstep = 0 ;
+ }
+
+ function InvokeStepper ( ) {
+ try {
+% console.println("INVOKE "+doc_currentstep+" "+doc_busy[this.pageNum]) ;
+ if (doc_currentstep<doc_busy[this.pageNum]) {
+ doc_currentstep += 1 ;
+ doc_visited[this.pageNum] = doc_currentstep ;
+ var ocg = GetOCG(doc_stepname + ':' + String(doc_currentstep)) ;
+ if (ocg != null) {
+ ocg.state = true ;
+ }
+ } else {
+ if (this.pageNum+1==this.numPages) {
+ this.pageNum = 0 ;
+ } else {
+ this.pageNum += 1 ;
+ }
+ }
+ CheckBusy() ;
+ } catch (e) {
+ return ;
+ }
+ }
+
+\stopJSpreamble
+
+% \definereference [SetupStepper] [JS(SetupStepper{step,50})]
+% \definereference [ResetStepper] [JS(ResetStepper)]
+% \definereference [CheckStepper] [JS(CheckStepper{\StepCounter})]
+% \definereference [InvokeStepper] [JS(InvokeStepper)]
+
+\endinput \ No newline at end of file
diff --git a/tex/context/base/meta-ini.tex b/tex/context/base/meta-ini.tex
index ecfd053c1..22360919f 100644
--- a/tex/context/base/meta-ini.tex
+++ b/tex/context/base/meta-ini.tex
@@ -520,11 +520,26 @@
%D A more general way of passing environments is:
-\def\startMPenvironment % second arg gobbles spaces, so
- {\dodoubleempty\dostartMPenvironment} % that reset gives \emptytoks
+% ok but introduces \relax's
+%
+% \def\startMPenvironment % second arg gobbles spaces, so
+% {\dodoubleempty\dostartMPenvironment} % that reset gives \emptytoks
+%
+% \long\def\dostartMPenvironment[#1][#2]#3\stopMPenvironment%
+% {\doif{#1}\s!reset\resetMPenvironment % reset mp toks
+% \doif{#1}\v!globaal{#3}% % use in main doc too
+% \doif{#1}+{#3}% % use in main doc too
+% \convertargument#3\to\ascii
+% \expandafter\appendtoks\ascii\to\everyMPTEXgraphic}
+
+\def\startMPenvironment % second arg gobbles spaces, so that reset gives \emptytoks
+ {\bgroup
+ \catcode`\^^M=\@@space
+ \dodoubleempty\dostartMPenvironment}
-\long\def\dostartMPenvironment[#1][#2]#3\stopMPenvironment%
- {\doif{#1}\s!reset\resetMPenvironment % reset mp toks
+\long\def\dostartMPenvironment[#1][#2]#3\stopMPenvironment
+ {\egroup
+ \doif{#1}\s!reset\resetMPenvironment % reset mp toks
\doif{#1}\v!globaal{#3}% % use in main doc too
\doif{#1}+{#3}% % use in main doc too
\convertargument#3\to\ascii
diff --git a/tex/context/base/page-bck.tex b/tex/context/base/page-bck.tex
index 720b9fa69..967679216 100644
--- a/tex/context/base/page-bck.tex
+++ b/tex/context/base/page-bck.tex
@@ -317,9 +317,37 @@
\appendtoks \setbackgroundoffsets \to \everybeforepagebody
+% \def\setbackgroundbox#1#2%
+% {\global\setbox#1\vbox
+% {\dontcomplain
+% \calculatereducedvsizes
+% \offinterlineskip
+% #2\relax
+% \vskip-\bovenhoogte
+% \vskip-\bovenafstand
+% \dodopagebodybackground\v!boven\bovenhoogte
+% \vskip\bovenafstand
+% \dodopagebodybackground\v!hoofd\hoofdhoogte
+% \vskip\hoofdafstand
+% \dodopagebodybackground\v!tekst\teksthoogte
+% \vskip\voetafstand
+% \dodopagebodybackground\v!voet\voethoogte
+% \vskip\onderafstand
+% \dodopagebodybackground\v!onder\onderhoogte
+% \vfilll}%
+% \smashbox#1}
+
+\newconditional\swapbackgroundmargins \settrue\swapbackgroundmargins
+
\def\setbackgroundbox#1#2%
{\global\setbox#1\vbox
{\dontcomplain
+ \swapmargins
+ \ifconditional\swapbackgroundmargins
+ \doifmarginswapelse \donothing
+ {\swapmacros\v!rechtermarge\v!linkermarge
+ \swapmacros\v!rechterrand \v!linkerrand}%
+ \fi
\calculatereducedvsizes
\offinterlineskip
#2\relax
@@ -337,11 +365,31 @@
\vfilll}%
\smashbox#1}
+% \def\dodopagebodybackground#1#2%
+% {\ifdim#2>\zeropoint % added, faster
+% \setbox\scratchbox\vbox to #2
+% \bgroup\hbox\bgroup
+% \swapmargins
+% \goleftonpage
+% \dododopagebodybackground\linkerrandbreedte #2#1\v!linkerrand
+% \hskip\linkerrandafstand
+% \dododopagebodybackground\linkermargebreedte #2#1\v!linkermarge
+% \hskip\linkermargeafstand
+% \dododopagebodybackground\zetbreedte #2#1\v!tekst
+% \hskip\rechtermargeafstand
+% \dododopagebodybackground\rechtermargebreedte#2#1\v!rechtermarge
+% \hskip\rechterrandafstand
+% \dododopagebodybackground\rechterrandbreedte #2#1\v!rechterrand
+% \egroup\egroup
+% \wd\scratchbox\zeropoint
+% \box\scratchbox\relax
+% \fi}
+
\def\dodopagebodybackground#1#2%
{\ifdim#2>\zeropoint % added, faster
\setbox\scratchbox\vbox to #2
\bgroup\hbox\bgroup
- \swapmargins
+ % \swapmargins
\goleftonpage
\dododopagebodybackground\linkerrandbreedte #2#1\v!linkerrand
\hskip\linkerrandafstand
diff --git a/tex/context/base/page-flt.tex b/tex/context/base/page-flt.tex
index a680a19fb..ca4ef35ae 100644
--- a/tex/context/base/page-flt.tex
+++ b/tex/context/base/page-flt.tex
@@ -283,7 +283,8 @@
\v!diepte=>\global\chardef\sidefloatalign\plusthree,%
\v!grid=>\global\chardef\sidefloatalign4,%
\v!halveregel=>\global\chardef\sidefloatalign5]%
- \ifcase\sidefloatalign\relax
+% todo (test first): \doifinset\v!lokaal{#2}{\chardef\sidefloatalign\zerocount}%
+ \ifcase\sidefloatalign\relax % todo: optie v!lokaal => \else
\doifinset\v!hoogte {#2}{\global\chardef\sidefloatalign\plusone}%
\doifinset\v!regel {#2}{\global\chardef\sidefloatalign\plustwo}%
\doifinset\v!diepte {#2}{\global\chardef\sidefloatalign\plusthree}%
diff --git a/tex/context/base/page-lay.tex b/tex/context/base/page-lay.tex
index 24e28e67b..c35d293f6 100644
--- a/tex/context/base/page-lay.tex
+++ b/tex/context/base/page-lay.tex
@@ -677,6 +677,12 @@
% {\let\currentlayout\v!even\recalculatelayout}%
% \fi}
+% document:
+%
+% \setuplayout[odd][state=stop] \setuplayout[even][state=stop] \setuplayout[page]
+%
+% \startstandardmakeup[page=blank] ... \stopstandardmakeup
+
\def\checkcurrentlayout % public and used in naw, so keep this name
{\ifundefined{\??ly\realfolio\c!status}%
\doifoddpageelse\checkcurrentoddlayout\checkcurrentevenlayout
@@ -1405,6 +1411,7 @@
\definepapersize [S6] [\c!breedte=600pt,\c!hoogte=450pt]
\definepapersize [S8] [\c!breedte=800pt,\c!hoogte=600pt]
\definepapersize [SW] [\c!breedte=800pt,\c!hoogte=450pt]
+\definepapersize [SM] [\c!breedte=720pt,\c!hoogte=450pt]
%D These are handy too:
diff --git a/tex/context/base/page-lyr.tex b/tex/context/base/page-lyr.tex
index 953019775..dca34845c 100644
--- a/tex/context/base/page-lyr.tex
+++ b/tex/context/base/page-lyr.tex
@@ -313,9 +313,9 @@
\doifnotvalue{\layerparameter\c!richting}\v!omgekeerd{\box\layerpagebox}%
\fi
% don't move
- \xdef\lastlayerwd{\wd\nextboxwd}%
- \xdef\lastlayerht{\ht\nextboxht}% % not entirely ok when grid !
- \xdef\lastlayerdp{\dp\nextboxdp}% % not entirely ok when grid !
+ \xdef\lastlayerwd{\the\nextboxwd}%
+ \xdef\lastlayerht{\the\nextboxht}% % not entirely ok when grid !
+ \xdef\lastlayerdp{\the\nextboxdp}% % not entirely ok when grid !
% this code
\doifelse{\layerparameter\c!plaats}\v!grid\donetrue\donefalse
\ifdone
@@ -438,6 +438,58 @@
{\dodoflushlayer0{#2}{#1#2:\realfolio}}
\stopoverlay}}
+% \def\dodoflushlayer#1#2#3%
+% {\ifundefined{\@@layerbox#3}%
+% \ifcase#1\else\writestatus{layer}{unknown layer #3}\fi
+% \else
+% \bgroup
+% \forgetall
+% \offinterlineskip
+% \doifvalue{\??ll#2\c!optie}\v!test\tracelayerstrue
+% \iftracelayers\traceboxplacementtrue\fi
+% \!!doneafalse
+% \!!donebfalse
+% \doifvalue{\??ll#2\c!methode}\v!overlay\!!doneatrue
+% \doifvalue{\??ll#2\c!methode}\v!passend\!!donebtrue
+% \!!donectrue
+% \ifcase#1\else
+% \doifnotvalue{\??ll#2\c!positie}\v!ja
+% {\doifvalue{\??ll#2\c!herhaal}\v!ja\!!donecfalse
+% \doifvalue{\??ll#2\c!status}\v!herhaal\!!donecfalse}% old method
+% \fi
+% \chardef\layerbox\csname\@@layerbox#3\endcsname
+% % we need to copy in order to retain the negative offsets for a next
+% % stage of additions, i.e. llx/lly accumulate in repeat mode and the
+% % compensation is may differ each flush depending on added content
+% \setbox\nextbox \if!!doneb
+% \vbox
+% {\scratchdimen\getboxlly\layerbox
+% \vskip-\scratchdimen
+% \scratchdimen\getboxllx\layerbox
+% \hskip-\scratchdimen
+% \advance\scratchdimen-\wd\layerbox
+% \hsize-\scratchdimen
+% \if!!donec\box\else\copy\fi\layerbox}%
+% \else
+% \if!!donec\box\else\copy\fi\layerbox % sorry for the delay due to copying
+% \fi
+% \iftracelayers \ruledvbox \else \vbox \fi \if!!donea to \overlayheight \fi
+% {\hbox \if!!donea to \overlaywidth \fi
+% {% klopt dit? #3 en niet #2 ?
+% \doifvalue{\??ll#3\realfolio\c!positie}\v!ja
+% {\xypos{lyr:#3:\realfolio}}%
+% \doifoverlayelse{#3}
+% {\box\nextbox}
+% {\startlayoutcomponent{l:#3}{layer #3}\box\nextbox\stoplayoutcomponent}%
+% \hss}%
+% \vss}%
+% \if!!donec
+% \gsetboxllx\layerbox\zeropoint
+% \gsetboxlly\layerbox\zeropoint
+% \fi
+% \egroup
+% \fi}
+
\def\dodoflushlayer#1#2#3%
{\ifundefined{\@@layerbox#3}%
\ifcase#1\else\writestatus{layer}{unknown layer #3}\fi
@@ -445,6 +497,9 @@
\bgroup
\forgetall
\offinterlineskip
+ % needed because we need to handle method
+\executeifdefined{\??ll\??ll\getvalue{\??ll#2\c!preset}}\gobbletwoarguments{#2}{}%
+ %
\doifvalue{\??ll#2\c!optie}\v!test\tracelayerstrue
\iftracelayers\traceboxplacementtrue\fi
\!!doneafalse
@@ -455,12 +510,12 @@
\ifcase#1\else
\doifnotvalue{\??ll#2\c!positie}\v!ja
{\doifvalue{\??ll#2\c!herhaal}\v!ja\!!donecfalse
- \doifvalue{\??ll#2\c!status}\v!herhaal\!!donecfalse}% old method
+ \doifvalue{\??ll#2\c!status}\v!herhaal\!!donecfalse}%
\fi
\chardef\layerbox\csname\@@layerbox#3\endcsname
% we need to copy in order to retain the negative offsets for a next
% stage of additions, i.e. llx/lly accumulate in repeat mode and the
- % compensation is may differ each flush depending on added content
+ % compensation may differ each flush depending on added content
\setbox\nextbox \if!!doneb
\vbox
{\scratchdimen\getboxlly\layerbox
@@ -476,8 +531,7 @@
\iftracelayers \ruledvbox \else \vbox \fi \if!!donea to \overlayheight \fi
{\hbox \if!!donea to \overlaywidth \fi
{% klopt dit? #3 en niet #2 ?
- \doifvalue{\??ll#3\realfolio\c!positie}\v!ja
- {\xypos{lyr:#3:\realfolio}}%
+ \doifvalue{\??ll#3\realfolio\c!positie}\v!ja {\xypos{lyr:#3:\realfolio}}%
\doifoverlayelse{#3}
{\box\nextbox}
{\startlayoutcomponent{l:#3}{layer #3}\box\nextbox\stoplayoutcomponent}%
@@ -508,11 +562,19 @@
\let\placelayer\flushlayer
+% \def\tightlayer[#1]%
+% {\hbox
+% {\def\currentlayer{#1}% todo: left/right
+% \hsize\layerparameter\c!breedte
+% \vsize\layerparameter\c!hoogte
+% \composedlayer{#1}}}
+
\def\tightlayer[#1]%
{\hbox
{\def\currentlayer{#1}% todo: left/right
- \hsize\layerparameter\c!breedte
- \vsize\layerparameter\c!hoogte
+ \setbox\nextbox\emptybox % hoogte/breedte are \wd\nextbox/\ht\nextbox
+ \hsize\layerparameter\c!breedte % \overlaywidth = \hsize
+ \vsize\layerparameter\c!hoogte % \overlaywheight = \vsize
\composedlayer{#1}}}
%D \macros
@@ -695,4 +757,22 @@
\c!xoffset=\!!zeropoint,
\c!yoffset=\!!zeropoint]
+%D Watch out, a redefinition:
+
+\ifx\settextpagecontent\undefined \writestatus\m!systems{error in page-lyr.tex} \wait \fi
+
+\definelayer[OTRTEXT] \setuplayer[OTRTEXT][\c!breedte=\zetbreedte,\c!hoogte=\teksthoogte]
+
+\let\normalsettextpagecontent\settextpagecontent
+
+\def\settextpagecontent#1#2#3% #2 and #3 will disappear
+ {\doifelselayerdata{OTRTEXT}
+ {\setbox#1\hbox to \zetbreedte
+ {\startoverlay
+ {\normalsettextpagecontent{#1}{#2}{#3}\box#1}
+ {\tightlayer[OTRTEXT]}
+ \stopoverlay}%
+ \dp#1\zeropoint}%
+ {\normalsettextpagecontent{#1}{#2}{#3}}}
+
\protect \endinput \ No newline at end of file
diff --git a/tex/context/base/page-mak.tex b/tex/context/base/page-mak.tex
index 6e8793293..03caf2fba 100644
--- a/tex/context/base/page-mak.tex
+++ b/tex/context/base/page-mak.tex
@@ -191,7 +191,6 @@
%D by setting their associated status variables. The
%D connection between them is made by the following macro
-
\def\setupmakeuplayout
{\setupfooter[\c!status=\makeupparameter\c!voetstatus ]%
\setupheader[\c!status=\makeupparameter\c!hoofdstatus]%
diff --git a/tex/context/base/page-set.tex b/tex/context/base/page-set.tex
index 84327dc44..954b7ec6b 100644
--- a/tex/context/base/page-set.tex
+++ b/tex/context/base/page-set.tex
@@ -538,21 +538,47 @@
%\gdef\localcolumnmaxcells{0}% here ?
\global\mofcolumns\nofcolumns} % otherwise problems in finaloutput
+% \def\OTRSETdofinaloutput
+% {\ifdim\ht\OTRfinalpagebox=\teksthoogte
+% % \bgroup \let\OTRSETsetvsize\relax % prevents useless search for gap
+% \ifcase\OTRSETbalancemethod
+% \finaloutput\box\OTRfinalpagebox
+% \else\ifdim\OTRSETbalht>\zeropoint
+% \global\setbox\OTRfinalpagebox \iftracecolumnset\ruledvbox\else\vbox\fi to \OTRSETbalht
+% {\box\OTRfinalpagebox}%
+% \global\dp\OTRfinalpagebox\strutdepth
+% \box\OTRfinalpagebox
+% \else
+% \finaloutput\box\OTRfinalpagebox
+% \fi \fi
+% \globallet\OTRSETbalht\zeropoint
+% % \egroup
+% \fi}
+
\def\OTRSETdofinaloutput
{\ifdim\ht\OTRfinalpagebox=\teksthoogte
- % \bgroup \let\OTRSETsetvsize\relax % prevents useless search for gap
+ \bgroup % \let\OTRSETsetvsize\relax % prevents useless search for gap
\ifcase\OTRSETbalancemethod
\finaloutput\box\OTRfinalpagebox
\else\ifdim\OTRSETbalht>\zeropoint
- \global\setbox\OTRfinalpagebox \iftracecolumnset\ruledvbox\else\vbox\fi to \OTRSETbalht
- {\box\OTRfinalpagebox}%
- \global\dp\OTRfinalpagebox\strutdepth
- \box\OTRfinalpagebox
+ % catch a bordercase
+ \scratchdimen\OTRSETbalht
+ \advance\scratchdimen\lineheight\relax
+ \ifdim\scratchdimen>\teksthoogte
+ % full page
+ \finaloutput\box\OTRfinalpagebox
+ \else
+ % same page
+ \global\setbox\OTRfinalpagebox \iftracecolumnset\ruledvbox\else\vbox\fi to \OTRSETbalht
+ {\box\OTRfinalpagebox\vss}%
+ \setlayer[OTRTEXT]{\box\OTRfinalpagebox}%
+ \snaptogrid\vbox{\vskip\OTRSETbalht}% hack
+ \fi
\else
\finaloutput\box\OTRfinalpagebox
\fi \fi
\globallet\OTRSETbalht\zeropoint
- % \egroup
+ \egroup
\fi}
\definesystemvariable {mc}
diff --git a/tex/context/base/page-txt.tex b/tex/context/base/page-txt.tex
index a36dfed78..45ce40343 100644
--- a/tex/context/base/page-txt.tex
+++ b/tex/context/base/page-txt.tex
@@ -187,6 +187,24 @@
\def\placetextlinestrut#1%
{\doifvalue{#1\c!strut}\v!ja{\setstrut\strut}}
+% \def\dosingletexts#1#2#3#4#5#6%
+% {\bgroup
+% \convertargument#6\to\ascii
+% \doifsomething\ascii
+% {\doattributes{#1#2}#3#4%
+% {\placetextlinestrut{#1}% here !
+% %\doifdefinedelse{\??mk\ascii\c!koppeling} % brrr
+% \doifelsemarking\ascii
+% {\dolimitatetexts{#1#2#5}{\haalmarkering[\ascii][\v!eerste]}}
+% {\ConvertConstantAfter\doifelse{\v!paginanummer}{#6}
+% {\@@plaatspaginanummer}
+% {\ConvertConstantAfter\doifelse{\v!datum}{#6}
+% {\currentdate}
+% {% #6{}{}{} -> {} needed for macros that look
+% % ahead, like \uniqueMPgraphic
+% \opeenregel\dolimitatetexts{#1#2#5}{#6{}{}{}}}}}}}%
+% \egroup}
+
\def\dosingletexts#1#2#3#4#5#6%
{\bgroup
\convertargument#6\to\ascii
@@ -196,9 +214,9 @@
%\doifdefinedelse{\??mk\ascii\c!koppeling} % brrr
\doifelsemarking\ascii
{\dolimitatetexts{#1#2#5}{\haalmarkering[\ascii][\v!eerste]}}
- {\ConvertConstantAfter\doifelse{\v!paginanummer}{#6}
- {\@@plaatspaginanummer}
- {\ConvertConstantAfter\doifelse{\v!datum}{#6}
+ {\ConvertConstantAfter\doifelse\v!paginanummer{#6}
+ \@@plaatspaginanummer
+ {\ConvertConstantAfter\doifelse\v!datum{#6}
{\currentdate}
{% #6{}{}{} -> {} needed for macros that look
% ahead, like \uniqueMPgraphic
diff --git a/tex/context/base/prop-ini.tex b/tex/context/base/prop-ini.tex
index 49f4e48de..19ad6b2b8 100644
--- a/tex/context/base/prop-ini.tex
+++ b/tex/context/base/prop-ini.tex
@@ -76,6 +76,31 @@
\csname\e!start\currentproperty\endcsname}
{\csname\e!stop \currentproperty\endcsname}}
+% The next alternative provides optional non-grouping:
+
+\def\dodefineproperty[#1][#2][#3]% todo : global def
+ {\ifundefined{\??py#1\c!titel}%
+ \getgparameters[\??py#1][\c!globaal=\v!nee,\c!titel=#1,\c!type=#2,#3]% global ! ! ! !
+ \doifelsevalue{\??py#1\c!globaal}\v!ja
+ {\setgvalue{\s!check#1}{\docheckproperty{#1}}%
+ \setgvalue{\e!start#1}{\dostartproperty{#1}}%
+ \setgvalue{\e!stop #1}{\dostopproperty {#1}}}%
+ {\setgvalue{\s!check#1}{\docheckproperty{#1}}%
+ \setgvalue{\e!start#1}{\begingroup\dostartproperty{#1}}%
+ \setgvalue{\e!stop #1}{\dostopproperty {#1}\endgroup}}%
+ \fi}
+
+\unexpanded\def\startproperty[#1]%
+ {\globalpushmacro\currentproperty
+ \edef\currentproperty{#1}%
+ \csname\e!start\currentproperty\endcsname}
+
+\unexpanded\def\stopproperty
+ {\csname\e!stop \currentproperty\endcsname
+ \globalpopmacro\currentproperty}
+
+% % % % % old % % % % %
+
% grouped
% \def\restartproperty#1%
diff --git a/tex/context/base/s-abr-01.tex b/tex/context/base/s-abr-01.tex
index 34cfa06df..8d567f78b 100644
--- a/tex/context/base/s-abr-01.tex
+++ b/tex/context/base/s-abr-01.tex
@@ -20,6 +20,8 @@
\protect
\logo [ACROBAT] {Acro\-bat}
+\logo [AFM] {afm}
+\logo [ALEPH] {Aleph}
\logo [ALGOL] {ALGOL}
\logo [AMSLATEX] {\AmSLaTeX}
\logo [AMSTEX] {\AmSTeX}
@@ -28,6 +30,7 @@
\logo [ASCIITEX] {ascii\TeX}
\logo [ASCII] {ascii}
\logo [BIBTEX] {bib\TeX}
+\logo [BLUESKY] {BlueSky}
\logo [BSD] {bsd}
\logo [CDROM] {cdrom}
\logo [CD] {cd}
@@ -37,11 +40,13 @@
\logo [CONTEXT] {\ConTeXt}
\logo [CTAN] {ctan}
\logo [CWEB] {cweb}
+\logo [DANTE] {Dante}
\logo [DISTILLER] {distiller}
\logo [DSC] {dsc}
\logo [DTD] {dtd}
\logo [DTK] {dtk}
\logo [DTP] {dtp}
+\logo [DVD] {dvd}
\logo [DVIPSONE] {dvipsone}
\logo [DVIPDFM] {dvipdfm}
\logo [DVIPDFMX] {dvipdfmx}
@@ -53,6 +58,7 @@
\logo [EIFFEL] {Eiffel}
\logo [EMACS] {emacs}
\logo [EMTEX] {em\TeX}
+\logo [ENCTEX] {enc\TeX}
\logo [EPS] {eps}
\logo [EXAMPLEX] {examplex}
\logo [EXAMPLET] {examplet}
@@ -77,16 +83,20 @@
\logo [GNU] {gnu}
\logo [GS] {Ghost\-Script}
\logo [GUST] {Gust}
+\logo [GWTEX] {gw\TeX}
\logo [HTTP] {http}
\logo [HTML] {html}
\logo [IBM] {ibm}
\logo [IMAGEMAGICK]{ImageMagick}
\logo [INRSTEX] {inrs\TeX}
\logo [IRCNET] {IRCnet}
+\logo [ISO] {iso}
\logo [JAVASCRIPT] {Java\-Script}
\logo [JAVA] {Java}
\logo [JPEG] {jpeg}
\logo [JPG] {jpg}
+\logo [KPSE] {kpse}
+\logo [KPSEWHICH] {kpsewhich}
\logo [LAMSTEX] {\LamSTeX}
\logo [LATEXTE] {\LaTeX2e}
\logo [LATEXTN] {\LaTeX2.09}
@@ -112,7 +122,8 @@
\logo [OMEGA] {Omega}
\logo [OPI] {opi}
\logo [PASCAL] {Pascal}
-\logo [PDFETEX] {pdf-\eTeX}
+\logo [PCTEX] {pc\TeX}
+\logo [PDFETEX] {pdfe\TeX}
\logo [PDFTEX] {pdf\TeX}
\logo [PDFTOPS] {pdftops}
\logo [PDF] {pdf}
@@ -186,6 +197,7 @@
\logo [XINDY] {Xindy}
\logo [XML] {xml}
\logo [XFDF] {xfdf}
+\logo [XPDFETEX] {xpdfe\TeX}
\logo [XSLT] {xslt}
\logo [XSL] {xsl}
\logo [YandY] {y\&y}
diff --git a/tex/context/base/s-pre-00.tex b/tex/context/base/s-pre-00.tex
index 8266a5929..3866514b8 100644
--- a/tex/context/base/s-pre-00.tex
+++ b/tex/context/base/s-pre-00.tex
@@ -8,18 +8,18 @@
%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.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
-%D This module provides some non core functionality that can
-%D be used in the presentations styles. This module contains
-%D experimental macros.
-%D
+%D This module provides some non core functionality that can
+%D be used in the presentations styles. This module contains
+%D experimental macros.
+%D
%D The presentation environments are independent of each other.
%D Although they have much in common, and in many cases can be
%D exchanged, the common components are not collected in this
%D file. That way they can serve as examples of style
-%D definitions.
+%D definitions.
\unprotect
@@ -32,7 +32,7 @@
\defineframedtext
[presentationshield]
-\setupframedtexts
+\setupframedtexts
[presentationshield]
[\c!achtergrond=\v!kleur,
\c!achtergrondkleur=StepColor,
@@ -53,11 +53,11 @@
\def\dopresentationstep#1% not ok yet
{\global\setbox\presentationstack=\vbox
- {\ifnum\presentationcounter=0
+ {\ifnum\presentationcounter=0
\global\presentationheight=\!!zeropoint
\fi
\ifcase#1\relax
- \scratchdimen=\pagetotal
+ \scratchdimen=\pagetotal
\else
\scratchdimen=\textheight
\fi
@@ -76,7 +76,7 @@
[presentation]
[\c!breedte=\v!passend,\c!hoogte=\v!passend,\c!offset=\v!overlay,
\c!strut=\v!nee,\c!kader=\v!uit,\c!optie=\v!alleenleesbaar]
- \definesymbol
+ \definesymbol
[\presentationtag]
[\presentationshade]
\def\presentationshade%
@@ -85,118 +85,118 @@
\definefield[\presentationtag][check][presentation][\presentationtag,\v!geen][\presentationtag]
\fitfield[\presentationtag]}}
-\startJSpreamble {presentation} used later
- var presentation = new Array() ;
+\startJSpreamble {presentation} used later
+ var presentation = new Array() ;
for (i=1;i<=\lastpage;i++)
- { presentation[i] = 0 }
- this.dirty = false ;
- function NextPresentation (pagenumber)
- { % ++presentation[pagenumber] ;
- presentation[pagenumber] = presentation[pagenumber] + 1 ;
+ { presentation[i] = 0 }
+ this.dirty = false ;
+ function NextPresentation (pagenumber)
+ { % ++presentation[pagenumber] ;
+ presentation[pagenumber] = presentation[pagenumber] + 1 ;
var dummy = 100*pagenumber + presentation[pagenumber] ;
- var v = this.getField("presentation:"+dummy) ;
- if (v)
- { v.hidden = true }
- % { v.display = display.hidden }
+ var v = this.getField("presentation:"+dummy) ;
+ if (v)
+ { v.hidden = true }
+ % { v.display = display.hidden }
else
{ ++pagenumber ;
- if (pagenumber<=\lastpage)
- { presentation[pagenumber] = presentation[pagenumber] + 1 ;
+ if (pagenumber<=\lastpage)
+ { presentation[pagenumber] = presentation[pagenumber] + 1 ;
dummy = 100*(pagenumber) + presentation[pagenumber] ;
- v = this.getField("presentation:"+dummy) ;
- if (v) { v.hidden = true }
- % if (v) { v.display = display.hidden }
+ v = this.getField("presentation:"+dummy) ;
+ if (v) { v.hidden = true }
+ % if (v) { v.display = display.hidden }
++this.pageNum } }
- this.dirty = false }
+ this.dirty = false }
\stopJSpreamble
\definereference[NextStep][JS(NextPresentation{\realfolio})]
-%D \macros
+%D \macros
%D {presentationstep}
%D
%D The macro \type {\presentationstep} provides a basic slide
-%D show functionality. It sort of records pieces of the page
-%D that will show up stepwise. It can be used like:
+%D show functionality. It sort of records pieces of the page
+%D that will show up stepwise. It can be used like:
%D
%D \starttypen
%D \startitemize
-%D \item eerste
+%D \item eerste
%D \item tweede
%D \stopitemize
-%D
-%D \presentationstep
-%D
+%D
+%D \presentationstep
+%D
%D \startformula
%D ax^2+bx+c
%D \stopformula
-%D
+%D
%D \presentationstep
-%D \stoptypen
-%D
+%D \stoptypen
+%D
%D When the document is opened, the two text fragments are
%D covered by a shield. Each page has its own shield stack. The
%D logical reference \type {NextStep} can be used to hide the
-%D shield.
+%D shield.
%D
-%D \starttypen
+%D \starttypen
%D \setupfootertexts[{\button{Show Up}[NextStep]}]
-%D \stoptypen
+%D \stoptypen
%D
-%D In case of presentation style 2, you can say:
+%D In case of presentation style 2, you can say:
%D
-%D \starttypen
+%D \starttypen
%D \definereference[Whatever][JS(NextPresentation{\realfolio})]
-%D \stoptypen
+%D \stoptypen
%D
-%D Depending of the viewer, you need to reset the fields at
+%D Depending of the viewer, you need to reset the fields at
%D startup:
%D
-%D \starttypen
+%D \starttypen
%D \setupinteraction[openaction=ResetForm]
-%D \stoptypen
+%D \stoptypen
%D
%D Fixed spacing give you the best results:
%D
-%D \starttypen
-%D \setupwhitespace[fixed]
+%D \starttypen
+%D \setupwhitespace[fixed]
%D \setupblank[fixed]
-%D \stoptypen
+%D \stoptypen
%D
%D Sometimes you need to set the color of the background, as
-%D with style 2:
+%D with style 2:
%D
-%D \starttypen
+%D \starttypen
%D \definecolor[StepColor][Page]
-%D \stoptypen
+%D \stoptypen
%D
-%D Special effects can be reached with:
+%D Special effects can be reached with:
%D
-%D \starttypen
-%D \setupframedtexts
+%D \starttypen
+%D \setupframedtexts
%D [presentationshield]
%D [background=color,backgroundcolor=red]
-%D \stoptypen
+%D \stoptypen
%D
-%D There is also:
+%D There is also:
%D
%D \starttypen
%D \autopresentationsteptrue
%D \stoptypen
%D
-%D One can enable this feature as \type {step} mode.
+%D One can enable this feature as \type {step} mode.
-\newif\ifautopresentationstep
+\newif\ifautopresentationstep
\appendtoks \ifautopresentationstep\presentationstep\fi \to \everypar
\doifmode{step} {\enablepresentationstep}
\doifmode{autostep}{\autopresentationsteptrue\enablepresentationstep}
-%D When in \type {comment} mode, embedded page comments are
-%D processed and put below the page. The default space of
-%D 5cm should be adequate but can of course be changed.
+%D When in \type {comment} mode, embedded page comments are
+%D processed and put below the page. The default space of
+%D 5cm should be adequate but can of course be changed.
\doifmode{comment}{\setuppagecomment[state=start,location=bottom]}
-\protect \endinput
+\protect \endinput \ No newline at end of file
diff --git a/tex/context/base/s-pre-60.tex b/tex/context/base/s-pre-60.tex
new file mode 100644
index 000000000..44fdb7fc0
--- /dev/null
+++ b/tex/context/base/s-pre-60.tex
@@ -0,0 +1,87 @@
+%D \module
+%D [ file=s-pre-60,
+%D version=2004.03.15,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Environment 60,
+%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.
+
+\newcounter\StepCounter
+\newcounter\StepMaximum
+
+\useJSscripts[stp]
+
+\startsetups[set-stepper]
+
+ \ifnum\getvariable{stepper}{nofsteps}>\StepMaximum
+
+ \dostepwiserecurse {\numexpr(\StepMaximum+1)} {\getvariable{stepper}{nofsteps}} {1}
+ {\expanded{\defineproperty[step:\recurselevel][layer][state=stop,global=yes]}}
+
+ \xdef\StepMaximum{\getvariable{stepper}{nofsteps}}
+
+ \fi
+
+\stopsetups
+
+\setvariables
+ [stepper]
+ [set=\setups{set-stepper},
+ nofsteps=50]
+
+\defineproperty[step:busy][layer][state=start]
+
+\definereference [SetupStepper] [JS(SetupStepper{step,\StepMaximum})]
+\definereference [ResetStepper] [JS(ResetStepper)]
+\definereference [CheckStepper] [JS(CheckStepper{\StepCounter})]
+\definereference [InvokeStepper] [JS(InvokeStepper)]
+
+\def\ResetStep {\doglobal\newcounter\StepCounter}
+\def\NextStep {\doglobal\increment \StepCounter}
+\def\PrevStep {\doglobal\decrement \StepCounter}
+
+% todo: roll back blank
+
+\def\StartStep
+ {\ifvmode
+ \scratchskip\lastskip
+ \vskip-\scratchskip
+ \startproperty[step:\StepCounter]%
+ \vskip\scratchskip
+ \else
+ \startproperty[step:\StepCounter]%
+ \fi
+ \ignorespaces}
+
+\def\StopStep
+ {\removeunwantedspaces
+ \stopproperty}
+
+\def\StartSteps{\ResetStep\NextStep\StartStep}
+\def\StopSteps {\StopStep\PrevStep}
+\def\FlushStep {\StopStep\NextStep\StartStep}
+
+\appendtoks
+ \ResetStep
+\to \everyaftershipout
+
+\def\StartBusy{\startproperty[step:busy]\ignorespaces}
+\def\StopBusy {\removeunwantedspaces\stopproperty}
+
+\setupinteraction
+ [openaction=SetupStepper,
+ openpageaction=CheckStepper,
+ closepageaction=ResetStepper]
+
+\defineoverlay[invoke][\overlaybutton{InvokeStepper}]
+
+\setupbackgrounds
+ [text]
+ [background=invoke]
+
+\endinput \ No newline at end of file
diff --git a/tex/context/base/s-pre-61.tex b/tex/context/base/s-pre-61.tex
new file mode 100644
index 000000000..9ae4abf09
--- /dev/null
+++ b/tex/context/base/s-pre-61.tex
@@ -0,0 +1,222 @@
+%D \module
+%D [ file=s-pre-61,
+%D version=2004.03.15,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Presentation Environment 61,
+%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.
+
+\usemodule[pre-60]
+
+\usetypescriptfile[type-ghz]
+
+\definetypeface[mainface][ss][sans][optima-nova][default][encoding=\defaultencoding]
+
+\setupbodyfont[mainface,ss,22pt]
+
+\setuppapersize
+ [S6][S6]
+
+% \setuppapersize
+% [SW][SW]
+
+\setuplayout
+ [topspace=10pt,
+ header=40pt,
+ headerdistance=20pt,
+ height=middle,
+ footerdistance=20pt,
+ footer=0pt,
+ bottomdistance=10pt,
+ bottom=20pt,
+ bottomspace=40pt,
+ backspace=30pt,
+ width=middle]
+
+\setupinteraction
+ [state=start,
+ click=off,
+ menu=on]
+
+\setupinteractionscreen
+ [option=max]
+
+\setupinteractionmenu
+ [bottom]
+ [color=maincolor,
+ contrastcolor=maincolor,
+ style=\tfa, % acceptable
+ left=\hfill,
+ middle=,
+ right=,
+ height=\bottomheight,
+ width=2\bottomheight,
+ offset=overlay,
+ frame=off]
+
+\startinteractionmenu[bottom]
+ \but [firstpage] \symbol[firstpage] \\
+ \but [previouspage] \symbol[previouspage] \\
+ \but [InvokeStepper] \StartBusy\symbol[PauseRendering]\StopBusy \\
+ \but [nextpage] \symbol[nextpage] \\
+ \but [lastpage] \symbol[lastpage] \\
+ \but [CloseDocument] \symbol[CloseDocument] \\
+\stopinteractionmenu
+
+% maybe in colo-sjk : \setupcolor[sjk]
+
+\definecolor [dark] [s=.4]
+\definecolor [bright] [s=.9]
+
+\definecolor [red] [r=.4,g=.2,b=.2]
+\definecolor [green] [r=.2,g=.4,b=.2]
+\definecolor [blue] [r=.2,g=.2,b=.4]
+
+\definecolor [cyan] [r=.2,g=.4,b=.4]
+\definecolor [magenta][r=.4,g=.2,b=.4]
+\definecolor [yellow] [r=.4,g=.4,b=.2]
+
+\definecolor [pagecolor] [dark]
+\definecolor [maincolor] [bright]
+\definecolor [textcolor] [red]
+
+\setupcolors
+ [state=start,
+ textcolor=maincolor]
+
+\setupbackgrounds
+ [page]
+ [background=page,
+ backgroundcolor=textcolor]
+
+\defineoverlay[page][\uniqueMPgraphic{page-\ifcase\realpageno\or one\else plus\fi}]
+
+\startuniqueMPgraphic{page-one}
+ StartPage ;
+ fill Page
+ enlarged 4pt
+ withcolor \MPcolor{pagecolor} ;
+ fill Field[Text][Text]
+ topenlarged (TopSpace +4pt)
+ leftenlarged (BackSpace+4pt)
+ rightenlarged (CutSpace +4pt)
+ withcolor OverlayColor ;
+ StopPage ;
+\stopuniqueMPgraphic
+
+\startuniqueMPgraphic{page-plus}
+ StartPage ;
+ fill Page
+ enlarged 4pt
+ withcolor \MPcolor{pagecolor} ;
+ fill Field[Text][Text]
+ leftenlarged (BackSpace+4pt)
+ rightenlarged (CutSpace+4pt)
+ withcolor OverlayColor ;
+ StopPage ;
+\stopuniqueMPgraphic
+
+\NormalizeFontHeight \HeadFont {\setstrut\strut\quad} {\headerheight} {SansBold}
+\NormalizeFontHeight \TitleFont {\setstrut\strut\quad} {2\headerheight} {SansBold}
+
+\setuphead
+ [chapter]
+ [placehead=empty,
+ after={\blank[big]},
+ color=maincolor,
+ placenumber=no,
+ style=\HeadFont]
+
+\setupheadertexts
+ [\doiftextelse{\placeheadtext[Topic]}
+ {\placeheadtext[Topic]}
+ {\placeheadtext[Nopic]}]
+ []
+
+\setuppagenumbering
+ [location=]
+
+\definesymbol[emdash][\emdash] \setupitemize[each][packed][symbol=emdash]
+
+\setupalign[broad,right]
+
+\def\TitlePage#1%
+ {\startstandardmakeup[headerstate=high]
+ \def\\{\endgraf\quad}\TitleFont\setstrut\setupinterlinespace\vfil#1\vfil\vfil
+ \stopstandardmakeup}
+
+\definehead[Topic][chapter]
+\definehead[Nopic][title]
+
+\def\Topics#1%
+ {\Nopic[topics]{#1}
+ \startcolumns
+ \placelist[Topic]
+ \stopcolumns}
+
+\setuplist
+ [Topic]
+ [alternative=f,
+ color=maincolor,
+ contrastcolor=maincolor,
+ criterium=all]
+
+\defineoverlay[topics][\overlaybutton{topics}]
+
+\setupbackgrounds
+ [bottom] [text]
+ [background=topics]
+
+\doifnotmode{demo}{\endinput}
+
+\TitlePage{Stepwise\\Refinement}
+
+\Topics{Topics}
+
+\Topic{Female Artists}
+
+\StartSteps
+
+\startitemize
+\item Tori Amos \FlushStep
+\item Kate Bush \FlushStep
+\item Heather Nova \FlushStep
+\item Alanis Morissette \FlushStep
+\item Suzanne Vega \FlushStep
+\stopitemize
+
+\StopSteps
+
+\Topic{Male Composers}
+
+\StartSteps
+
+\startitemize
+\item John Adams \FlushStep
+\item Steve Reich \FlushStep
+\item Louis Andriessen \FlushStep
+\item Olivier Messiaen \FlushStep
+\stopitemize
+
+\StopSteps
+
+\Topic{And Some More}
+
+\StartSteps
+
+\startitemize
+\item Mark Hollis \FlushStep
+\item Roger Waters \FlushStep
+\item David Gilmore \FlushStep
+\item Peter Gabriel \FlushStep
+\item Randy Newman \FlushStep
+\stopitemize
+
+\StopSteps
+
+\stoptext \ No newline at end of file
diff --git a/tex/context/base/setupb.tex b/tex/context/base/setupb.tex
index 279a07451..36877f432 100644
--- a/tex/context/base/setupb.tex
+++ b/tex/context/base/setupb.tex
@@ -1334,7 +1334,7 @@
[\v!ruim]
\variable
[\c!breedte]
- [\v!passend,\v!ruim,\v!vast,\c!dimension!]
+ [\v!passend,\v!ruim,\v!vast,\v!lokaal,\c!dimension!]
[\v!ruim]
\variable
[\c!offset]
@@ -1350,7 +1350,7 @@
[\v!geen]
\variable
[\c!strut]
- [\v!ja,\v!nee]
+ [\v!ja,\v!nee,\v!globaal,\v!lokaal]
[\v!ja]
\variable
[\c!uitlijnen]
diff --git a/tex/context/base/spec-def.tex b/tex/context/base/spec-def.tex
index cf9f64724..9fc3b76a5 100644
--- a/tex/context/base/spec-def.tex
+++ b/tex/context/base/spec-def.tex
@@ -918,6 +918,13 @@
\installspecial[\doinsertrenderingobject] [or] [4]
\installspecial[\doinsertrenderingobject] [or] [4]
+%D From now on, mapfile loading is also a special; we assume the
+%D more or less standard dvips syntax.
+
+\installspecial[\doresetmapfilelist] [and] [0]
+\installspecial[\doloadmapfile] [and] [2] % + - = | filename
+\installspecial[\doloadmapline] [and] [2] % + - = | fileline
+
%D We define a couple of backends:
\defineoutput [dvipsone] [dvi,ps,yy]
diff --git a/tex/context/base/spec-dpx.tex b/tex/context/base/spec-dpx.tex
index bce7d6cb1..61156e42c 100644
--- a/tex/context/base/spec-dpx.tex
+++ b/tex/context/base/spec-dpx.tex
@@ -8,7 +8,7 @@
%D copyright={Jin-Hwan Cho \& Hans Hagen}]
%C
%C DVIPDFMx is an eXtended version of the DVIPDFM, a DVI to PDF
-%C translator, still under construction by Jin-Hwan Cho and
+%C translator, still under construction by Jin-Hwan Cho and
%C Shunsaku Hirata.
%C
%C It supports multi-byte character encodings and large character
@@ -17,7 +17,7 @@
%C annotations with Chinese, Japanese, Korean characters, etc.
%C
%C DVIPDFMx (and information) can be downloaded from:
-%C
+%C
%C http://project.ktug.or.kr/dvipdfmx/
\unprotect
@@ -117,7 +117,7 @@
%D \macros
%D {doinsertsoundtrack}
%D
-%D Sounds are supported too.
+%D Sounds are supported too.
\definespecial\doinsertsoundtrack{\doPDFinsertsoundtrack}
@@ -131,7 +131,7 @@
%D implementation does not differ that much from the one
%D implemented in the \POSTSCRIPT\ driver.
-\def\doPDFovalbox#1#2#3#4#5#6#7% todo: \scratchdimen/\scatchbox
+\def\doPDFovalbox#1#2#3#4#5#6#7% todo: \scratchdimen/\scatchbox
{\bgroup
\dimen0=#4\divide\dimen0 2
\doPDFovalcalc{0pt}{+\dimen0}\xmin
@@ -392,11 +392,11 @@
\newif\ifsharePDFactions \sharePDFactionsfalse
\def\dodoPDFaction#1#2#3#4%
- {\ifcollectreferenceactions
+ {\ifcollectreferenceactions
\xdef\lastPDFaction{#4}%
\else
\bgroup
- % this is yet untested
+ % this is yet untested
%\ifsharePDFactions
% \ifcase\similarreference\relax
% \xdef\lastPDFaction{<<#4>>}%
@@ -405,7 +405,7 @@
% \special{pdf: object @PDF::sim:\the\nofPDFsimilar\space<<#4>>}%
% \xdef\lastPDFaction{@PDF::sim:\the\nofPDFsimilar}%
% \else
- % % leave \lastPDFaction untouched
+ % % leave \lastPDFaction untouched
% \fi
%\else
\xdef\lastPDFaction{<<#4>>}%
@@ -509,7 +509,7 @@
%D Done.
% %D 2. Modified codes from \type{spec-fdf}
-%
+%
% \definespecial\dostartgraphicgroup{\special{pdf: literal direct q}}
% \definespecial\dostopgraphicgroup {\special{pdf: literal direct Q}}
@@ -519,7 +519,7 @@
%D {dostartclipping,dostopclipping}
%D
%D Clipping in \PDFTEX\ is rather trivial. We can even hook
-%D in \METAPOST\ without problems.
+%D in \METAPOST\ without problems.
\definespecial\dostartclipping#1#2#3%
{\PointsToBigPoints{#2}\width
@@ -588,4 +588,4 @@
\stopspecials
-\protect \endinput
+\protect \endinput \ No newline at end of file
diff --git a/tex/context/base/spec-fdf.tex b/tex/context/base/spec-fdf.tex
index 1e1a6ec52..ac5151e99 100644
--- a/tex/context/base/spec-fdf.tex
+++ b/tex/context/base/spec-fdf.tex
@@ -610,6 +610,17 @@
\def\PDFgotonewwindow{\ifgotonewwindow\space/NewWindow true \fi}
+% optimization in tpd driver
+%
+% \edef\PDFdestination{(page:\the\scratchcounter)}%
+%
+% ==>
+%
+% \advance\scratchcounter 1
+% \edef\PDFdestination{[\pdfpageref \scratchcounter\space 0 R\space\PDFpageviewwrd]}%
+%
+% \doPDFgetpagedestination#1#2% pagenumber macro % % fuzzy hack
+
\def\doPDFstartgotorealpage#1#2#3#4#5% watch the R append trick
{\bgroup
\doifelsenothing{#3}% #1 = url
diff --git a/tex/context/base/spec-tpd.tex b/tex/context/base/spec-tpd.tex
index 47c887acf..bc8abcaa8 100644
--- a/tex/context/base/spec-tpd.tex
+++ b/tex/context/base/spec-tpd.tex
@@ -74,6 +74,11 @@
\writestatus{\m!systems}{please update your pdfTeX binaries}
\fi
+\ifnum\pdftexversion>19
+ \pdfhorigin=1 true in
+ \pdfvorigin=1 true in
+\fi
+
%D We default to 300 dots per inch image resolution.
\ifx\pdfimageresolution\undefined
@@ -171,6 +176,13 @@
\let\PDFcode\pdfliteral
%D \macros
+%D {everyPDFximage}
+%D
+%D This token register is flushed before an ximage is loaded.
+
+\newevery \everyPDFximage \relax
+
+%D \macros
%D {dosetuppaper}
%D
%D If we don't set the paper size, \PDFTEX\ will certainly do
@@ -181,6 +193,20 @@
\global\pdfpageheight#3\relax}
%D \macros
+%D {doloadmapfile,doloadmapline,doresetmapfilelist}
+
+\ifx\pdfmapfile\undefined \let\pdfmapfile\gobbletwoarguments \fi
+\ifx\pdfmapline\undefined \let\pdfmapline\gobbletwoarguments \fi
+
+\definespecial\doresetmapfilelist{\pdfmapfile{original-empty.map}}
+\definespecial\doloadmapfile #1#2{\pdfmapfile{#1#2}}
+\definespecial\doloadmapline #1#2{\pdfmapline{#1#2}}
+
+%D nasty but needed
+
+\appendtoksonce \loadallfontmapfiles \to \everyPDFximage
+
+%D \macros
%D {doinsertfile,dogetnofinsertpages}
%D
%D Graphics are not part of \TEX\ and therefore not part of the
@@ -282,6 +308,7 @@
\def\handlepdfimage#1#2#3#4#5#6#7#8#9%
{\bgroup
+ \the\everyPDFximage
\doifvalidpdfimagefileelse{#1}
{\checkpdfimagepagenumber{#9}%
\immediate\pdfximage
@@ -365,6 +392,7 @@
\fi\fi}
{\donefalse}%
\ifdone
+ \the\everyPDFximage
\checkpdfimagepagenumber{#3}%
\checkpdfimageattributes
\global\setbox\foundexternalfigure\vbox
@@ -1127,11 +1155,19 @@
% \def\doPDFgetobjectpage #1#2#3{..}
% \def\doPDFgetobjectpagereference#1#2#3{..}
-\def\doPDFgetpagereference % number macro
- {\installprogram{texutil --filter \jobname}%
- \gdef\doPDFgetpagereference##1% ##2
- {\doPDFgetobjectreference{PDFP}{\number##1}}% {##2}
- \doPDFgetpagereference}
+\ifx\pdfpageref\undefined
+
+ \def\doPDFgetpagereference % number macro
+ {\installprogram{texutil --filter \jobname}%
+ \gdef\doPDFgetpagereference##1{\doPDFgetobjectreference{PDFP}{\number##1}}% {##2}
+ \doPDFgetpagereference}
+
+\else
+
+ \def\doPDFgetpagereference#1#2% number macro
+ {\edef#2{\pdfpageref#1\space\space0 R}}
+
+\fi
%D \macros
%D {initializePDFnegative}
diff --git a/tex/context/base/supp-emp.tex b/tex/context/base/supp-emp.tex
index fd9f473c9..bd0736308 100644
--- a/tex/context/base/supp-emp.tex
+++ b/tex/context/base/supp-emp.tex
@@ -214,7 +214,7 @@
%D nothing happens since the \type {\csname...} will expand to
%D \type {\relax}.
-\def\EMsetcounters%
+\def\EMsetcounters
{\count0=0 \count2=0
\csname EM:\the\EMcounter\endcsname}
@@ -331,9 +331,16 @@
%D As a bonus, I will now provide a few macros that will make
%D this mechanism transparant to \DVI\ as well as \PDF\
-%D output. We will use \type {\pdfoutput} as trigger.
+%D output. We will use \type {\pdfiteral} as trigger.
+
+\ifx\pdfliteral\undefined
+ \def\EMpdfordvi#1#2{#2}
+\else\ifx\pdfoutput\undefined
+ \def\EMpdfordvi#1#2{#2}
+\else
+ \def\EMpdfordvi#1#2{\ifcase\pdfoutput#2\else#1\fi}
+\fi\fi
-\ifx\pdfoutput\undefined \chardef\pdfoutput=0 \fi
%D We save some of the macros we defined previously:
@@ -342,11 +349,11 @@
%D We now redefine them to support \DVI\ and \PDF.
-\def\EMmoveto{\ifcase\pdfoutput\special{em:moveto}\else\pdfEMmoveto\fi}
-\def\EMlineto{\ifcase\pdfoutput\special{em:lineto}\else\pdfEMlineto\fi}
+\def\EMmoveto{\EMpdfordvi\pdfEMmoveto{\special{em:moveto}}}
+\def\EMlineto{\EMpdfordvi\pdfEMlineto{\special{em:lineto}}}
-\def\startEMspecials{\ifcase\pdfoutput\else\pdfstartEMspecials\fi}
-\def\stopEMspecials {\ifcase\pdfoutput\else\pdfstopEMspecials \fi}
+\def\startEMspecials{\EMpdfordvi\pdfstartEMspecials\relax}
+\def\stopEMspecials {\EMpdfordvi\pdfstopEMspecials \relax}
%D If there is any real demand for this in \CONTEXT, I will
%D hook these macros in the special drivers, so that their
@@ -365,22 +372,19 @@
\dimen0=#1\relax
\count0=\dimen0
\divide\count0 65536
- \ifcase\pdfoutput
- \special{em:linewidth \the\dimen0}%
- \fi
+ \pdfordvi\relax{\special{em:linewidth \the\dimen0}}%
\xdef\EMlinewd{\the\count0}%
\egroup}
%D You may wonder to what extent positional tracking is
%D \PDFTEX\ specific. In \CONTEXT, we also support position
%D tracking in \DVI\ by using specials and analyzing the \DVI\
-%D file afterwards using a \PERL\ script created by Taco
-%D Hoekwater. Since many of the advanced \TEX\ features depend
-%D on some kind of back||end, we don't consider it to be a
-%D disadvantage. Of course, the \PDFTEX\ way is not only
-%D cleaner, but also faster. It was more out of curiosity than
-%D out of need that we provided the \DVI\ methods as well.
-%D Also, it is always good to have more roads to reach the same
-%D goal.
-
-\endinput
+%D file afterwards using \DVIPOS. Since many of the advanced
+%D \TEX\ features depend on some kind of back||end, we don't
+%D consider it to be a disadvantage. Of course, the \PDFTEX\
+%D way is not only cleaner, but also faster. It was more out
+%D of curiosity than out of need that we provided the \DVI\
+%D methods as well. Also, it is always good to have more roads
+%D to reach the same goal.
+
+\endinput \ No newline at end of file
diff --git a/tex/context/base/supp-fil.tex b/tex/context/base/supp-fil.tex
index 8d7655f06..c2da977dd 100644
--- a/tex/context/base/supp-fil.tex
+++ b/tex/context/base/supp-fil.tex
@@ -182,11 +182,13 @@
\catcode`\/=\@@active
\catcode`\:=\@@active
+\catcode`\~=\@@active
\gdef\sanitizefilename#1\to#2%
{\bgroup
\edef/{\string/}%
\edef:{\string:}%
+ \edef~{\string~}%
\expanded{\xdef\noexpand\sanitizedfilename{#1}}%
\egroup
\let#2\sanitizedfilename}
@@ -288,7 +290,12 @@
% \fi
% \next}
-\newconditional\trackfilenames \settrue\trackfilenames
+\newconditional\trackfilenames
+
+% We need to postpone loading, else we got frozen type-* files and so when
+% a format is generated on a source path.
+
+\appendtoks \settrue\trackfilenames \to \everyjob
\let\trackedfilename\empty
@@ -296,7 +303,7 @@
{\sanitizefilename#2\to\readfilename
\let\trackedfilename\readfilename
\ifconditional\trackfilenames
- \ifundefined{fn..\trackedfilename}\donetrue\else\donefalse\fi
+ \doifundefinedelse{fn..\trackedfilename}\donetrue\donefalse
\else
\donetrue
\fi
diff --git a/tex/context/base/supp-mis.tex b/tex/context/base/supp-mis.tex
index 2462140ba..8c3eec0c8 100644
--- a/tex/context/base/supp-mis.tex
+++ b/tex/context/base/supp-mis.tex
@@ -17,8 +17,6 @@
\ifx \undefined \writestatus \else \expandafter \endinput \fi
-\ifx \undefined \pdfoutput \chardef\pdfoutput=0 \fi
-
%D Because \LATEX\ has no safe package loading mechanism, we
%D need to take care of possible interference.
diff --git a/tex/context/base/supp-mps.tex b/tex/context/base/supp-mps.tex
index 91b6a9e03..80ff1fd6f 100644
--- a/tex/context/base/supp-mps.tex
+++ b/tex/context/base/supp-mps.tex
@@ -512,6 +512,36 @@
% \globallet\flushMPgraphics\closeMPgraphicfiles % \dodostopwritingMPgraphic
% \globallet\stopwritingMPgraphic=\dostopwritingMPgraphic}
+% \def\startwritingMPgraphic
+% {\blabelgroup
+% \global\advance\nofMPgraphics 1
+% \ifMPrun \else
+% \allocateMPslot\currentMPgraphic
+% \fi
+% \enableincludeMPgraphics
+% \xdef\MPgraphic{\the\currentMPgraphic}%
+% \the\everyMPgraphic
+% \ifrunMPgraphics
+% \openMPgraphicfile1{runtime}%
+% % no reset here !
+% \theMPinclusions
+% \@EA\expanded\@EA{\@EA\writeMPgraphic\@EA{\the\MPinitializations;}}%
+% \else
+% \openMPgraphicfile0{collected}%
+% % reset here ! global added (due to adding \blabelgroup)
+% \theMPinclusions
+% \global\let\theMPinclusions\relax
+% \fi
+% \flushMPTEXgraphic
+% \ifMPrun \else
+% \immediate\write\MPwrite{let mprunend = end ;}%
+% \immediate\write\MPwrite{beginfig(\the\currentMPgraphic);}%
+% \@EA\expanded\@EA{\@EA\writeMPgraphic\@EA{\the\MPinitializations;}}%
+% \fi
+% \globallet\flushMPgraphics\closeMPgraphicfiles % \dodostopwritingMPgraphic
+% \globallet\stopwritingMPgraphic=\dostopwritingMPgraphic}
+
+
\def\startwritingMPgraphic
{\blabelgroup
\global\advance\nofMPgraphics 1
@@ -525,7 +555,7 @@
\openMPgraphicfile1{runtime}%
% no reset here !
\theMPinclusions
-\@EA\expanded\@EA{\@EA\writeMPgraphic\@EA{\the\MPinitializations;}}%
+ \@EA\expanded\@EA{\@EA\writeMPgraphic\@EA{\the\MPinitializations;}}%
\else
\openMPgraphicfile0{collected}%
% reset here ! global added (due to adding \blabelgroup)
@@ -536,7 +566,9 @@
\ifMPrun \else
\immediate\write\MPwrite{let mprunend = end ;}%
\immediate\write\MPwrite{beginfig(\the\currentMPgraphic);}%
-\@EA\expanded\@EA{\@EA\writeMPgraphic\@EA{\the\MPinitializations;}}%
+ \ifrunMPgraphics \else
+ \@EA\expanded\@EA{\@EA\writeMPgraphic\@EA{\the\MPinitializations;}}%
+ \fi
\fi
\globallet\flushMPgraphics\closeMPgraphicfiles % \dodostopwritingMPgraphic
\globallet\stopwritingMPgraphic=\dostopwritingMPgraphic}
@@ -1667,7 +1699,7 @@
%D with.
%D
%D This is why we provide was to use a dedicate range if
-%D numbers for fixed graphcis. Such graphics will not en dup
+%D numbers for fixed graphcs. Such graphics will not en dup
%D in the text flow (at least their dimensions don't
%D contribute to the main vertical list, and thereby they
%D cannot interfere. We use a rather safe maximum of 4000
@@ -1680,7 +1712,11 @@
\def\allocateMPslot#1%
{\ifrunMPgraphics
- \ifcase\pdfoutput \recycleMPslotsfalse \fi
+ \ifx\pdfliteral\undefined
+ \recycleMPslotsfalse % quite certainly not pdftex
+ \else\ifcase\pdfoutput
+ \recycleMPslotsfalse % dvi mode or not pdftex (we need to handle dvipdfmx)
+ \fi\fi
\else
\recycleMPslotsfalse
\fi
diff --git a/tex/context/base/supp-pdf.tex b/tex/context/base/supp-pdf.tex
index 52df7a63c..8152f0e32 100644
--- a/tex/context/base/supp-pdf.tex
+++ b/tex/context/base/supp-pdf.tex
@@ -1,6 +1,6 @@
%D \module
%D [ file=supp-pdf,
-%D version=2003.08.12,
+%D version=2004.03.26,
%D title=\CONTEXT\ Support Macros,
%D subtitle=\METAPOST\ to \PDF\ conversion,
%D author=Hans Hagen,
@@ -33,26 +33,37 @@
% some optimizations are possible, but we need to be generic
-%D First we take care of non||\CONTEXT\ use:
+%D First we take care of non||\CONTEXT\ use (newlines needed,
+%D expandafter not -).
\ifx \undefined \writestatus \input supp-mis.tex \relax \fi
+
\ifx \undefined \convertMPtoPDF \else \expandafter \endinput \fi
+
\ifx \undefined \StartLatexHack \else \StartLatexHack \fi
%D This module handles some \PDF\ conversion and insertions
%D topics. By default, the macros use the \PDFTEX\ primitive
-%D \type{\pdfliteral} when available.
+%D \type{\pdfliteral} when available. Since \PDFTEX\ is now the
+%D default engine for \TEX\ distributions, we need a more complex
+%D test.
-\writestatus{loading}{Context Support Macros / PDF}
+\writestatus{loading}{Context Support Macros / PDF (2004.03.26)}
\unprotect
\ifx\PDFcode\undefined
\ifx\pdfliteral\undefined
\def\PDFcode#1{\special{PDF: #1}}
- \else
+ \else\ifx\pdfoutput\undefined
+ \def\PDFcode#1{\special{PDF: #1}}
+ \else\ifcase\pdfoutput
+ \def\PDFcode#1{\special{PDF: #1}}
+ \else % pdftex as well as in pdf mode
\let\PDFcode\pdfliteral
- \fi
+ \fi\fi\fi
+\else
+ % we probably use context
\fi
%D First we define a handy constant:
@@ -82,13 +93,13 @@
%D \pdfclippedimage <optional dimensions> {file} {l} {r} {t} {b}
%D \stoptypen
-\ifx\pdftexversion\undefined % no \m!systems for the sake of latex
- \writestatus{systems}{Why not use pdf(e)TeX binaries?}
- \protect
- \expandafter\endinput
-\fi
+% \ifx\pdftexversion\undefined % no \m!systems for the sake of latex
+% \writestatus{systems}{Why not use pdf(e)TeX binaries?}
+% \protect
+% \expandafter\endinput
+% \fi
-\ifnum\pdftexversion>13
+\ifx\pdftexversion\undefined \else \ifnum\pdftexversion>13
\def\pdfimage#1#%
{\dopdfimage{#1}}
@@ -129,6 +140,8 @@
\pdfrefxform\pdflastxform
\egroup}
+\fi \fi
+
%D If you want to save a few hash entries, you may prefer the
%D less readable alternatives, like:
%D
@@ -140,13 +153,16 @@
%D \pdfrefximage\pdflastximage\egroup}}
%D \stoptypen
-%D For old times sake: (will be removed some day)
+%D For old times sake we provide a few aliases. These will be
+%D removed some day.
+
+\ifx\pdftexversion\undefined \else \ifnum\pdftexversion>13
\let\pdfform =\pdfxform
\let\pdflastform=\pdflastxform
\let\pdfrefform =\pdfrefxform
-\fi
+\fi \fi
%D \macros
%D {convertPDFtoPDF}
@@ -203,61 +219,61 @@
%D dimensions. Beware: the user supplied values are not the
%D bounding box ones!
-% this will become obsolete
-
-\newif\ifPDFmediaboxprefered
-
-\def\setPDFboundingbox#1#2#3#4#5#6%
- {\dimen0=#1\dimen0=#5\dimen0
- \ScaledPointsToBigPoints{\number\dimen0}\PDFxoffset
- \dimen0=#3\dimen0=#5\dimen0
- \xdef\PDFwidth{\the\dimen0}%
- \dimen0=#2\dimen0=#6\dimen0
- \ScaledPointsToBigPoints{\number\dimen0}\PDFyoffset
- \dimen0=#4\dimen0=#6\dimen0
- \xdef\PDFheight{\the\dimen0}%
- \global\let\PDFxoffset\PDFxoffset
- \global\let\PDFyoffset\PDFyoffset}
-
-\def\setPDFmediabox#1[#2 #3 #4 #5]#6\done
- {\dimen2=#2bp\dimen2=-\dimen2 % \dimen2=-#2bp also works since tex handles --
- \dimen4=#3bp\dimen4=-\dimen4 % \dimen4=-#3bp also works since tex handles --
- \dimen6=#4bp\advance\dimen6 \dimen2
- \dimen8=#5bp\advance\dimen8 \dimen4
- \setPDFboundingbox{\dimen2}{\dimen4}{\dimen6}{\dimen8}\PDFxscale\PDFyscale}
-
-\def\checkPDFmediabox#1/MediaBox#2#3\done
- {\ifx#2\relax \else
- \message{mediabox}%
- \setPDFmediabox#2#3\done
- \fi}
+%D This code has become obsolete.
+
+% \newif\ifPDFmediaboxprefered
+
+% \def\setPDFboundingbox#1#2#3#4#5#6%
+% {\dimen0=#1\dimen0=#5\dimen0
+% \ScaledPointsToBigPoints{\number\dimen0}\PDFxoffset
+% \dimen0=#3\dimen0=#5\dimen0
+% \xdef\PDFwidth{\the\dimen0}%
+% \dimen0=#2\dimen0=#6\dimen0
+% \ScaledPointsToBigPoints{\number\dimen0}\PDFyoffset
+% \dimen0=#4\dimen0=#6\dimen0
+% \xdef\PDFheight{\the\dimen0}%
+% \global\let\PDFxoffset\PDFxoffset
+% \global\let\PDFyoffset\PDFyoffset}
+
+% \def\setPDFmediabox#1[#2 #3 #4 #5]#6\done
+% {\dimen2=#2bp\dimen2=-\dimen2 % \dimen2=-#2bp also works since tex handles --
+% \dimen4=#3bp\dimen4=-\dimen4 % \dimen4=-#3bp also works since tex handles --
+% \dimen6=#4bp\advance\dimen6 \dimen2
+% \dimen8=#5bp\advance\dimen8 \dimen4
+% \setPDFboundingbox{\dimen2}{\dimen4}{\dimen6}{\dimen8}\PDFxscale\PDFyscale}
+
+% \def\checkPDFmediabox#1/MediaBox#2#3\done
+% {\ifx#2\relax \else
+% \message{mediabox}%
+% \setPDFmediabox#2#3\done
+% \fi}
%D We use the general macro \type{\doprocessfile} and feed this
%D with a line handling macro that changes it's behavior when
%D the stream operators are encountered.
-\def\handlePDFline
- {\ifx\@@PDFstream@@\fileline
- \let\doprocessPDFline\copyPDFobject
- \startPDFtoPDF
- \else\ifPDFmediaboxprefered
- \expandafter\checkPDFmediabox\fileline/MediaBox\relax\done
- \fi\fi}
-
-\def\copyPDFobject
- {\ifx\@@PDFendstream@@\fileline
- \ifPDFmediaboxprefered
- \let\doprocessPDFline\findPDFmediabox
- \else
- \let\doprocessPDFline\relax
- \fi
- \else
- \advance\scratchcounter 1
- \PDFcode{\fileline}%
- \fi}
+% \def\handlePDFline
+% {\ifx\@@PDFstream@@\fileline
+% \let\doprocessPDFline\copyPDFobject
+% \startPDFtoPDF
+% \else\ifPDFmediaboxprefered
+% \expandafter\checkPDFmediabox\fileline/MediaBox\relax\done
+% \fi\fi}
+
+% \def\copyPDFobject
+% {\ifx\@@PDFendstream@@\fileline
+% \ifPDFmediaboxprefered
+% \let\doprocessPDFline\findPDFmediabox
+% \else
+% \let\doprocessPDFline\relax
+% \fi
+% \else
+% \advance\scratchcounter 1
+% \PDFcode{\fileline}%
+% \fi}
-\def\findPDFmediabox
- {\expandafter\checkPDFmediabox\fileline/MediaBox\relax\done}
+% \def\findPDFmediabox
+% {\expandafter\checkPDFmediabox\fileline/MediaBox\relax\done}
%D The main conversion macro wraps the \PDF\ codes in a box
%D that is output as an object. The graphics are embedded
@@ -336,14 +352,14 @@
\else
\let\doprocessPDFline\findPDFmediabox
\fi\fi}%
- \def\findPDFtypepage%
+ \def\findPDFtypepage
{\expandafter\checkPDFtypepage\fileline/Type /Page\relax\done}%
\def\checkPDFmediabox##1/MediaBox##2##3\done%
{\ifx##2\relax \else
\setPDFmediabox##2##3\done
\fileprocessedtrue
\fi}%
- \def\findPDFmediabox%
+ \def\findPDFmediabox
{\expandafter\checkPDFmediabox\fileline/MediaBox\relax\done}%
\let\doprocessPDFline\findPDFtypepage
\doprocessfile\scratchread{#1}\doprocessPDFline
@@ -580,6 +596,7 @@
\catcode`\]=\@@active
\catcode`\{=\@@active
\catcode`\}=\@@active
+ \lccode`\-=0 | latex sets this to `\-
\lccode`\%=`\% | otherwise it's seen as a number
\def\(B\char40\relax E|
\def\)B\char41\relax E|
@@ -1882,9 +1899,15 @@
\def\finishMPgraphic
{\stopMPresources
\egroup
- \ifx\pdftexversion\undefined\else\ifnum\pdftexversion<14 % for the moment
- \chardef\makeMPintoPDFobject0
- \fi\fi
+ % we go simple when in doubt, this macro will get a proper
+ % context counterpart so that we can also cover dvipdfmx
+ \ifx\pdfxform\undefined
+ \chardef\makeMPintoPDFobject0 % no pdftex at all
+ \else\ifx\pdftexversion\undefined
+ \chardef\makeMPintoPDFobject0 % no pdftex at all
+ \else\ifnum\pdftexversion<14
+ \chardef\makeMPintoPDFobject0 % no resource support
+ \fi\fi\fi
\ifcase\makeMPintoPDFobject\or\or\ifx\currentPDFresources\empty\else
\chardef\makeMPintoPDFobject1
\fi\fi
diff --git a/tex/context/base/symb-eur.tex b/tex/context/base/symb-eur.tex
index 89ec60c9a..f5edb3b8b 100644
--- a/tex/context/base/symb-eur.tex
+++ b/tex/context/base/symb-eur.tex
@@ -11,6 +11,8 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
+\loadmapfile [original-adobe-euro.map]
+
\definefontsynonym [EuroSerif] [eurose]
\definefontsynonym [EuroSerifBold] [euroseb]
\definefontsynonym [EuroSerifItalic] [eurosei]
@@ -32,8 +34,6 @@
\definefontsynonym [EuroMonoBoldItalic] [euromobi]
\definefontsynonym [EuroMonoBoldSlanted] [euromobi]
-\loadmapfile [original-adobe-euro.map]
-
\definesymbol [euro] [\getglyph{Euro}{\char160}]
\startencoding[default]
diff --git a/tex/context/base/symb-glm.tex b/tex/context/base/symb-glm.tex
index 43d729e5a..b673a8e4a 100644
--- a/tex/context/base/symb-glm.tex
+++ b/tex/context/base/symb-glm.tex
@@ -11,43 +11,46 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-%D Watch the \type {met} instead of \type {mot}!
-
-\loadmapfile [pl0-ams-cmr]
-
-\definefontsynonym [GuilSerif] [plr10] [encoding=pl0]
-\definefontsynonym [GuilSerifBold] [plbx10] [encoding=pl0]
-\definefontsynonym [GuilSerifItalic] [plti10] [encoding=pl0]
-\definefontsynonym [GuilSerifSlanted] [plsl10] [encoding=pl0]
-\definefontsynonym [GuilSerifBoldItalic] [plbxti10] [encoding=pl0]
-\definefontsynonym [GuilSerifBoldSlanted] [plbxsl10] [encoding=pl0]
-
-\definefontsynonym [GuilSans] [plss10] [encoding=pl0]
-\definefontsynonym [GuilSansBold] [plssbx10] [encoding=pl0]
-\definefontsynonym [GuilSansItalic] [plssi10] [encoding=pl0]
-\definefontsynonym [GuilSansSlanted] [plssi10] [encoding=pl0]
-\definefontsynonym [GuilSansBoldItalic] [plssbi10] [encoding=pl0]
-\definefontsynonym [GuilSansBoldSlanted] [plssbi10] [encoding=pl0]
-
-\definefontsynonym [GuilMono] [pltt10] [encoding=pl0]
-%definefontsynonym [GuilMonoBold] [pltt10] [encoding=pl0]
-%definefontsynonym [GuilMonoSlanted] [pltt10] [encoding=pl0]
-%definefontsynonym [GuilMonoItalic] [pltt10] [encoding=pl0]
-%definefontsynonym [GuilMonoBoldItalic] [pltt10] [encoding=pl0]
-%definefontsynonym [GuilMonoBoldSlanted] [pltt10] [encoding=pl0]
-
-\definesymbol [leftguillemet] [\getglyph{Guil}{\char174}]
-\definesymbol [rightguillemet] [\getglyph{Guil}{\char175}]
+%D Watch the \type {x} before the local symbols.
+
+\loadmapfile [ec-public-lm.map]
+
+\definefontsynonym [GuilSerif] [plr10] [encoding=ec]
+\definefontsynonym [GuilSerifBold] [plbx10] [encoding=ec]
+\definefontsynonym [GuilSerifItalic] [plti10] [encoding=ec]
+\definefontsynonym [GuilSerifSlanted] [plsl10] [encoding=ec]
+\definefontsynonym [GuilSerifBoldItalic] [plbxti10] [encoding=ec]
+\definefontsynonym [GuilSerifBoldSlanted] [plbxsl10] [encoding=ec]
+
+\definefontsynonym [GuilSans] [plss10] [encoding=ec]
+\definefontsynonym [GuilSansBold] [plssbx10] [encoding=ec]
+\definefontsynonym [GuilSansItalic] [plssi10] [encoding=ec]
+\definefontsynonym [GuilSansSlanted] [plssi10] [encoding=ec]
+\definefontsynonym [GuilSansBoldItalic] [plssbi10] [encoding=ec]
+\definefontsynonym [GuilSansBoldSlanted] [plssbi10] [encoding=ec]
+
+\definefontsynonym [GuilMono] [pltt10] [encoding=ec]
+%definefontsynonym [GuilMonoBold] [pltt10] [encoding=ec]
+%definefontsynonym [GuilMonoSlanted] [pltt10] [encoding=ec]
+%definefontsynonym [GuilMonoItalic] [pltt10] [encoding=ec]
+%definefontsynonym [GuilMonoBoldItalic] [pltt10] [encoding=ec]
+%definefontsynonym [GuilMonoBoldSlanted] [pltt10] [encoding=ec]
+
+\definesymbol [xleftguillemot] [\getglyph{Guil}{\char19}]
+\definesymbol [xrightguillemot] [\getglyph{Guil}{\char20}]
+
+\definesymbol [xguilsingleleft] [\getglyph{Guil}{\char14}]
+\definesymbol [xguilsingleright] [\getglyph{Guil}{\char15}]
%D A strange place, but okay:
\startencoding [default]
- \definecharacter leftguillemot {\symbol[leftguillemet]}
- \definecharacter rightguillemot {\symbol[rightguillemet]}
+ \definecharacter leftguillemot {\symbol[xleftguillemot]}
+ \definecharacter rightguillemot {\symbol[xrightguillemot]}
- \definecharacter guilsingleleft {\symbol[leftguillemet]}
- \definecharacter guilsingleright {\symbol[rightguillemet]}
+ \definecharacter guilsingleleft {\symbol[xguilsingleleft]}
+ \definecharacter guilsingleright {\symbol[xguilsingleright]}
\stopencoding
diff --git a/tex/context/base/symb-ini.tex b/tex/context/base/symb-ini.tex
index b365ae771..9b514415b 100644
--- a/tex/context/base/symb-ini.tex
+++ b/tex/context/base/symb-ini.tex
@@ -8,18 +8,18 @@
%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.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
%D The macros described here used to be part of the \type
-%D {core-con} module. I decided to move them here when
-%D symbolsets saw the light. Let their light shine.
+%D {core-con} module. I decided to move them here when
+%D symbolsets saw the light. Let their light shine.
\writestatus{loading}{Context Symbol Libraries / Initialization}
\unprotect
-% TOBIAS
+% TOBIAS
\startmessages dutch library: symbols
title: symbolen
@@ -33,12 +33,12 @@
\startmessages german library: symbols
title: Symbole
- 1: Lade Symboldatei --
+ 1: Lade Symboldatei --
\stopmessages
\startmessages czech library: symbols
title: symboly
- 1: nacita se soubor symbolu --
+ 1: nacita se soubor symbolu --
\stopmessages
\startmessages italian library: symbols
@@ -58,29 +58,29 @@
%D \macros
%D {definesymbol, symbol}
-%D
+%D
%D Converting numbers or levels into a character, romannumeral,
%D symbol or something else, is supported by many \CONTEXT\
%D commands. Therefore we need a mechanism for linking such
-%D numbers to their counterparts.
-%D
+%D numbers to their counterparts.
+%D
%D First we take care of symbols. These are for instance used
-%D in enumerations and itemizations. We have:
-%D
-%D \showsetup{\y!definesymbol}
-%D \showsetup{\y!symbol}
-%D
+%D in enumerations and itemizations. We have:
+%D
+%D \showsetup{\y!definesymbol}
+%D \showsetup{\y!symbol}
+%D
%D Symbols are simply linked to a tag. Such tags can be numbers
-%D or strings.
-%D
+%D or strings.
+%D
%D \starttypen
%D \definesymbol [1] [$\bullet$]
%D \definesymbol [level 5] [$\star$]
%D \stoptypen
-% ss:tag -> symbol
-% ss:set:tag -> symbol out of set
-% sstag -> list of symbols in set
+% ss:tag -> symbol
+% ss:set:tag -> symbol out of set
+% sstag -> list of symbols in set
% \def\dodefinesymbol[#1][#2]%
% {\ifx\currentsymboldef\empty
@@ -105,37 +105,37 @@
\def\definesymbol
{\dodoubleargument\dodefinesymbol}
-\unexpanded\def\symbol % This one always gobbles spaces,
+\unexpanded\def\symbol % This one always gobbles spaces,
{\dodoubleempty\dosymbol} % so never change it again!
-%D Since symbols are used frequently in interactive
-%D documents, we speed up this one.
+%D Since symbols are used frequently in interactive
+%D documents, we speed up this one.
\newif\ifnosymbol \newtoks\everysymbol
-\def\dodosymbol#1% \relax's prevent lookahead problems
+\def\dodosymbol#1% \relax's prevent lookahead problems
{\nosymbolfalse{\the\everysymbol\csname\??ss:#1\endcsname\relax}\relax}
-\beginTEX
+\beginTEX
\def\dosymbol[#1][#2]%
- {\nosymboltrue
+ {\nosymboltrue
\ifsecondargument \@EA\ifx\csname\??ss:#1:#2\endcsname\relax\else
\dodosymbol{#1:#2}%
- \fi \fi
+ \fi \fi
\ifnosymbol
\edef\currentsymbol{#1}%
\the\symbolsetups
- \ifnosymbol
+ \ifnosymbol
\redosymbol\currentsymbol
\fi
\fi}
\def\fetchsymbol#1%
- {\ifnosymbol
+ {\ifnosymbol
\@EA\ifx\csname\??ss:#1:\currentsymbol\endcsname\relax\else
\dodosymbol{#1:\currentsymbol}%
- \fi
+ \fi
\fi}
\def\redosymbol#1%
@@ -146,23 +146,23 @@
\beginETEX \ifcsname
\def\dosymbol[#1][#2]%
- {\nosymboltrue
+ {\nosymboltrue
\ifsecondargument \ifcsname\??ss:#1:#2\endcsname
\dodosymbol{#1:#2}%
- \fi \fi
+ \fi \fi
\ifnosymbol
\edef\currentsymbol{#1}%
\the\symbolsetups
- \ifnosymbol
+ \ifnosymbol
\redosymbol\currentsymbol
\fi
\fi}
\def\fetchsymbol#1%
- {\ifnosymbol
+ {\ifnosymbol
\ifcsname\??ss:#1:\currentsymbol\endcsname
\dodosymbol{#1:\currentsymbol}%
- \fi
+ \fi
\fi}
\def\redosymbol#1%
@@ -178,10 +178,10 @@
%D
%D To simplify defining figure symbols, we offer:
%D
-%D \showsetup{\y!definefiguresymbol}
+%D \showsetup{\y!definefiguresymbol}
%D
%D By default, such symbols scale along the current bodyfont
-%D size or running font size (which is better).
+%D size or running font size (which is better).
\def\defaultsymbolfactor{10}
\def\defaultsymbolheight{1.25ex}
@@ -189,7 +189,7 @@
\def\figuresymbol
{\dodoubleempty\dofiguresymbol}
-\def\dofiguresymbol[#1][% #2]%
+\def\dofiguresymbol[#1][% #2]%
{\externalfigure
[#1]
[\c!reset=\v!ja,
@@ -209,7 +209,7 @@
\fi}
% but for the moment we keep it here
-% % % % % %
+% % % % % %
%\def\objectsymbol[#1]%
% {\dopresetfieldsymbol{#1}\dogetfieldsymbol{#1}}
@@ -217,15 +217,15 @@
%D \macros
%D {doifsymboldefinedelse}
%D
-%D A handy private one:
+%D A handy private one:
\beginTEX
\def\xfetchsymbol#1%
- {\ifnosymbol
+ {\ifnosymbol
\@EA\ifx\csname\??ss:#1:\currentsymbol\endcsname\relax\else
\nosymbolfalse
- \fi
+ \fi
\fi}
\def\xredosymbol#1%
@@ -236,8 +236,8 @@
\beginETEX
\def\xfetchsymbol#1%
- {\ifnosymbol
- \ifcsname\??ss:#1:\currentsymbol\endcsname\nosymbolfalse\fi
+ {\ifnosymbol
+ \ifcsname\??ss:#1:\currentsymbol\endcsname\nosymbolfalse\fi
\fi}
\def\xredosymbol#1%
@@ -250,11 +250,11 @@
\edef\currentsymbol{#1}%
\let\fetchsymbol\xfetchsymbol
%\let\redosymbol \xredosymbol
- \nosymboltrue
+ \nosymboltrue
\the\symbolsetups
- \ifnosymbol
- %\redosymbol\currentsymbol
- \xredosymbol\currentsymbol
+ \ifnosymbol
+ %\redosymbol\currentsymbol
+ \xredosymbol\currentsymbol
\ifnosymbol
\egroup\@EAEAEA\secondoftwoarguments
\else
@@ -266,33 +266,33 @@
%D \macros
%D {setupsymbolset,startsymbolset}
-%D
+%D
%D From these macro definitions one can deduce that symbols can
-%D be grouped in symbol sets:
-%D
+%D be grouped in symbol sets:
+%D
%D \starttypen
%D \startsymbolset [navigation 1]
-%D \definefiguresymbol [Next] [mp-symb.1]
+%D \definefiguresymbol [Next] [mp-symb.1]
%D \definefiguresymbol [Prev] [mp-symb.2]
%D \stopsymbolset
%D \stoptypen
-%D
+%D
%D Such a symbol can be typeset with:
-%D
+%D
%D \starttypen
%D \setupsymbolset[navigation 1]\symbol[Next]
%D \stoptypen
-%D
+%D
%D or simply:
-%D
+%D
%D \starttypen
%D \symbol[navigation 1][Next]
%D \stoptypen
-%D
+%D
%D Formally:
-%D
-%D \showsetup{\y!setupsymbolset}
-%D \showsetup{\y!startsymbolset}
+%D
+%D \showsetup{\y!setupsymbolset}
+%D \showsetup{\y!startsymbolset}
\let\currentsymboldef\empty
@@ -316,11 +316,11 @@
%D \macros
%D {showsymbolset}
%D
-%D \showsetup{\y!showsymbolset}
+%D \showsetup{\y!showsymbolset}
\fetchruntimecommand \showsymbolset {\f!symbolprefix\s!run}
-%D \macros
+%D \macros
%D {usesymbols}
%D
%D \showsetup{\y!usesymbols}
@@ -335,9 +335,9 @@
\def\usesymbols[#1]%
{\processcommalist[#1]\dousesymbols}
-%D As longs as symbols are linked to levels or numbers, we can
-%D also use the conversion mechanism, but in for instance the
-%D itemization macros, we prefer symbols because they can more
-%D easier be (partially) redefined.
+%D As longs as symbols are linked to levels or numbers, we can
+%D also use the conversion mechanism, but in for instance the
+%D itemization macros, we prefer symbols because they can more
+%D easier be (partially) redefined.
-\protect \endinput
+\protect \endinput \ No newline at end of file
diff --git a/tex/context/base/symb-mvs.tex b/tex/context/base/symb-mvs.tex
index eb1c4c842..83e499c7e 100644
--- a/tex/context/base/symb-mvs.tex
+++ b/tex/context/base/symb-mvs.tex
@@ -1,6 +1,6 @@
% Insert this in font-fil.tex ( I would think):
-% tobias: what is the original and what the berry name?
+% tobias: what is the original and what the berry name?
%D \module
%D [ file=symb-mvs,
@@ -12,42 +12,42 @@
%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.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
%D This module implements the Martin Vogel Symbole font
%D (marvosym). The names are derived from the \LaTeXe\ package
%D \type {marvosym} of Thomas Henlich. The symbols are
%D available as Type~1 font and are included in \TETEX\ and
-%D \FPTEX\ distributions.
-%D
+%D \FPTEX\ distributions.
+%D
%D This symbol font offers the signs of the zodiac, four
%D alternative the euro signs, some general office signs and
-%D some more.
-%D
+%D some more.
+%D
%D The font was designed by Martin Vogel who can be reached at
%D \hyphenatedurl {martin.vogel@fh-bochum.de}. More information
%D can be found at \hyphenatedurl
%D {http://www.fh-bochum.de/fb1/vogel/marvosym.html}. The
%D conversion to Type~1 font was done by Thomas Henlich, who
%D can be reached at \hyphenatedurl
-%D {thenlich@rcs.urz.tu-dresden.de}.
-%D
+%D {thenlich@rcs.urz.tu-dresden.de}.
+%D
%D This module is based on the current \CTAN\ version (as of
%D March 30, 2000) and is older than the TrueType version at
%D Martin Vogel's Homepage. The definitions in this module
%D reflect the \CTAN\ version. The font conversion was done by
%D Thomas Henlich using \type {ttf2pt1}, a program that can be
%D found at \hyphenatedurl
-%D {http://www.netspace.net.au/~mheath/ttf2pt1/}.
-%D
+%D {http://www.netspace.net.au/~mheath/ttf2pt1/}.
+%D
%D Using the new version of \type {marvosymb}, the MVzero will
%D has a slash and the FHBOLOGO, (wo)manface, and (wo)manfront
-%D are replaced by other symbols.
+%D are replaced by other symbols.
-\definefontsynonym [MartinVogel] [fmvr8x]
+\loadmapfile[original-base.map] % \loadmapfile[original-vogel-symbol]
-\loadmapfile[original-vogel-symbol]
+\definefontsynonym [MartinVogel] [fmvr8x]
\def\MartinVogelSymbol#1{\getglyph{MartinVogel}{\char#1}}
@@ -101,7 +101,7 @@
\definecharacter texteuro {\symbol[europe][EUR]}
-\stopencoding
+\stopencoding
\unexpanded\def\euro{\doiftextelse{\texteuro}{\texteuro}{\symbol[europe][EUR]}}
@@ -143,7 +143,7 @@
\definesymbol [TTsteel] [\MartinVogelSymbol{154}]
\definesymbol [Circpipe] [\MartinVogelSymbol{155}]
\definesymbol [Tsteel] [\MartinVogelSymbol{156}]
-
+
\definesymbol [Stopsign] [\MartinVogelSymbol {33}]
\definesymbol [Beam] [\MartinVogelSymbol {34}]
\definesymbol [Bearing] [\MartinVogelSymbol {35}]
@@ -155,28 +155,28 @@
\definesymbol [Lineload] [\MartinVogelSymbol {41}]
\definesymbol [Circles] [\MartinVogelSymbol {46}]
\definesymbol [Squaredot] [\MartinVogelSymbol{247}]
-
+
\definesymbol [Correspondes] [\MartinVogelSymbol {61}]
\definesymbol [Vectorarrowhigh] [\MartinVogelSymbol {80}]
\definesymbol [Vectorarrow] [\MartinVogelSymbol{112}]
\definesymbol [Rightarrow] [\MartinVogelSymbol {62}]
\definesymbol [Lightning] [\MartinVogelSymbol {69}]
-
+
\definesymbol [Snowflake] [\MartinVogelSymbol {42}]
\definesymbol [Kross] [\MartinVogelSymbol {43}]
\definesymbol [Cross] [\MartinVogelSymbol{134}]
\definesymbol [Celtcross] [\MartinVogelSymbol{135}]
\definesymbol [Ankh] [\MartinVogelSymbol{136}]
\definesymbol [Yingyang] [\MartinVogelSymbol {77}]
-
- \definesymbol [Pickup] [\MartinVogelSymbol {0}] % ?
- \definesymbol [Letter] [\MartinVogelSymbol {66}] % ?
+
+ \definesymbol [Pickup] [\MartinVogelSymbol {0}] % ?
+ \definesymbol [Letter] [\MartinVogelSymbol {66}] % ?
\definesymbol [Mobilephone] [\MartinVogelSymbol {72}]
\definesymbol [Telephone] [\MartinVogelSymbol {84}]
\definesymbol [fax] [\MartinVogelSymbol{116}]
\definesymbol [FAX] [\MartinVogelSymbol{117}]
\definesymbol [Faxmachine] [\MartinVogelSymbol{118}]
-
+
\definesymbol [Clocklogo] [\MartinVogelSymbol {85}]
\definesymbol [Industry] [\MartinVogelSymbol {73}]
\definesymbol [Coffeecup] [\MartinVogelSymbol {75}]
@@ -185,12 +185,12 @@
\definesymbol [Frowny] [\MartinVogelSymbol{167}]
\definesymbol [Smiley] [\MartinVogelSymbol{169}]
\definesymbol [Bicycle] [\MartinVogelSymbol{174}]
-
+
\definesymbol [Rightscissors] [\MartinVogelSymbol {81}]
\definesymbol [Leftscissors] [\MartinVogelSymbol {83}]
\definesymbol [Cutright] [\MartinVogelSymbol{113}]
\definesymbol [Cutleft] [\MartinVogelSymbol{115}]
- \definesymbol [Kutline] [\MartinVogelSymbol {82}] % K ?
+ \definesymbol [Kutline] [\MartinVogelSymbol {82}] % K ?
\definesymbol [Cutline] [\MartinVogelSymbol{114}]
\stopsymbolset
@@ -218,4 +218,4 @@
%D \showsymbolset[martinvogel 2]
%D \showsymbolset[martinvogel 3]
-\endinput
+\endinput
diff --git a/tex/context/base/symb-nav.tex b/tex/context/base/symb-nav.tex
index 161fa5dad..765a9bd73 100644
--- a/tex/context/base/symb-nav.tex
+++ b/tex/context/base/symb-nav.tex
@@ -13,9 +13,9 @@
\unprotect
-\definefontsynonym [ContextNavigation] [contnav]
+\loadmapfile[original-base.map] % \loadmapfile [original-context-symbol.map]
-\loadmapfile [original-context-symbol.map]
+\definefontsynonym [ContextNavigation] [contnav]
% \def\ContextNavigationGlyph#1{\getglyph{ContextNavigation}{\char#1}}
diff --git a/tex/context/base/syst-etx.tex b/tex/context/base/syst-etx.tex
index da0d6e269..adb98ba09 100644
--- a/tex/context/base/syst-etx.tex
+++ b/tex/context/base/syst-etx.tex
@@ -253,4 +253,4 @@
\endTEX
-\protect \endinput
+\protect \endinput \ No newline at end of file
diff --git a/tex/context/base/syst-ext.tex b/tex/context/base/syst-ext.tex
index 2f99824f1..f86bff57b 100644
--- a/tex/context/base/syst-ext.tex
+++ b/tex/context/base/syst-ext.tex
@@ -3409,14 +3409,26 @@
%D dimension is advanced accordingly, otherwise it gets the
%D value.
+% \def\doadaptdimension#1#2\\#3\\%
+% {\if#1+%
+% \dodoglobal\advance#3 #1#2\relax
+% \else\if#1-%
+% \dodoglobal\advance#3 #1#2\relax
+% \else
+% \dodoglobal#3=#1#2\relax
+% \fi\fi}
+%
+% more fuzzy but also more efficient
+
\def\doadaptdimension#1#2\\#3\\%
{\if#1+%
- \dodoglobal\advance#3 #1#2\relax
+ \dodoglobal\advance
\else\if#1-%
- \dodoglobal\advance#3 #1#2\relax
+ \dodoglobal\advance
\else
- \dodoglobal#3=#1#2\relax
- \fi\fi}
+ \dodoglobal
+ \fi\fi
+ #3 #1#2\relax}
\def\adaptdimension#1#2%
{\expandafter\doadaptdimension#2\\#1\\}
@@ -3644,21 +3656,59 @@
%D The magic factor $72/72.27$ can be found in most \TEX\
%D related books.
-\def\ScaledPointsToBigPoints #1{\PointsToBigPoints {#1sp}}
-\def\ScaledPointsToWholeBigPoints#1{\PointsToWholeBigPoints{#1sp}}
+% \def\ScaledPointsToBigPoints #1{\PointsToBigPoints {#1sp}}
+% \def\ScaledPointsToWholeBigPoints#1{\PointsToWholeBigPoints{#1sp}}
+%
+% \def\PointsToBigPoints#1#2%
+% {\scratchdimen#1%
+% \scratchdimen.996264\scratchdimen
+% \edef#2{\withoutpt\the\scratchdimen}}
+%
+% \def\PointsToWholeBigPoints#1#2%
+% {\scratchdimen#1%
+% \scratchdimen.996264\scratchdimen
+% \scratchcounter\scratchdimen
+% \advance\scratchcounter \medcard
+% \divide\scratchcounter \maxcard
+% \edef#2{\the\scratchcounter}}
+
+% \PointsToBigPoints{10.53940pt}\test \test
+% \PointsToBigPoints{10.53941pt}\test \test
+% \PointsToBigPoints{10.53942pt}\test \test
+
+% \PointsToWholeBigPoints{10.53940pt}\test \test
+% \PointsToWholeBigPoints{10.53941pt}\test \test
+% \PointsToWholeBigPoints{10.53942pt}\test \test
-\def\PointsToBigPoints#1#2%
- {\scratchdimen#1%
- \scratchdimen.996264\scratchdimen
- \edef#2{\withoutpt\the\scratchdimen}}
+\beginTEX
-\def\PointsToWholeBigPoints#1#2%
- {\scratchdimen#1%
- \scratchdimen.996264\scratchdimen
- \scratchcounter\scratchdimen
- \advance\scratchcounter \medcard
- \divide\scratchcounter \maxcard
- \edef#2{\the\scratchcounter}}
+ \def\PointsToBigPoints#1#2%
+ {\scratchdimen#1%
+ \scratchdimen.996264\scratchdimen
+ \edef#2{\withoutpt\the\scratchdimen}}
+
+ \def\PointsToWholeBigPoints#1#2%
+ {\scratchdimen#1%
+ \scratchdimen.996264\scratchdimen
+ \scratchcounter\scratchdimen
+ \advance\scratchcounter \medcard
+ \divide\scratchcounter \maxcard
+ \edef#2{\the\scratchcounter}}
+
+\endTEX
+
+\beginETEX \dimexpr \numexpr
+
+ \def\PointsToBigPoints#1#2%
+ {\edef#2{\withoutpt\the\dimexpr(.996264\dimexpr(#1))}}
+
+ \def\PointsToWholeBigPoints#1#2%
+ {\edef#2{\the\numexpr(\numexpr(\dimexpr(.996264\dimexpr(#1)))/\maxcard)}}
+
+\endETEX
+
+\def\ScaledPointsToBigPoints #1{\PointsToBigPoints {\number#1\scaledpoint}}
+\def\ScaledPointsToWholeBigPoints#1{\PointsToWholeBigPoints{\number#1\scaledpoint}}
%D \macros
%D {PointsToReal}
@@ -4003,18 +4053,22 @@
\beginTEX
-\def\twodigitrounding#1{#1}
+ \def\twodigitrounding#1{#1}
\endTEX
-\beginETEX
+\beginETEX \dimexpr
+
+ \def\dotwodigitrounding#1.#2#3#4\relax%
+ {\ifx#2*#1\else#1.#2#3\fi}
-\def\dotwodigitrounding#1.#2#3#4\relax%
- {\ifx#2*#1\else#1.#2#3\fi}
+ % \def\twodigitrounding#1%
+ % {\@EA\@EA\@EA\dotwodigitrounding\@EA\WITHOUTPT
+ % \the\dimexpr#1pt+.005pt\relax000.*00\relax}
-\def\twodigitrounding#1%
- {\@EA\@EA\@EA\dotwodigitrounding\@EA\WITHOUTPT
- \the\dimexpr#1pt+.005pt\relax000.*00\relax}
+ \def\twodigitrounding#1%
+ {\@EA\@EA\@EA\dotwodigitrounding\@EA\WITHOUTPT
+ \the\dimexpr#1\points+.005\points\relax000.*00\relax}
\endETEX
diff --git a/tex/context/base/type-akb.tex b/tex/context/base/type-akb.tex
index 937e67ac0..af2ba760c 100644
--- a/tex/context/base/type-akb.tex
+++ b/tex/context/base/type-akb.tex
@@ -3,7 +3,7 @@
%D version=2001.07.08,
%D title=\CONTEXT\ Typescript Macros,
%D subtitle=Adobe's Famous Gang of Fonts,
-%D author=Patrick Gundlach,
+%D author=Patrick Gundlach,
%D date=\currentdate,
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
@@ -13,18 +13,18 @@
%D Last Change: Tue Mar 18 16:01:03 2003
-%D This module is written by Patrick Gundlach (patrick@gundla.ch)
-%D and maps to the standard postscript fonts conforming the
-%D psnfss system as used by \LaTeX.
-%D
+%D This module is written by Patrick Gundlach (patrick@gundla.ch)
+%D and maps to the standard postscript fonts conforming the
+%D psnfss system as used by \LaTeX.
+%D
%D \starttypen
%D \setupencoding[default=texnansi]
%D \usetypescript[adobekb][\defaultencoding]
%D \stoptypen
%D
-%D The following is not needed since the file is already
+%D The following is not needed since the file is already
%D registered:
-%D
+%D
%D \starttypen
%D \usetypescriptfile[akb]
%D \stoptypen
@@ -199,4 +199,4 @@
\stoptypescript
-\endinput
+\endinput \ No newline at end of file
diff --git a/tex/context/base/type-buy.tex b/tex/context/base/type-buy.tex
index b87dfe6e9..c53beb489 100644
--- a/tex/context/base/type-buy.tex
+++ b/tex/context/base/type-buy.tex
@@ -48,10 +48,193 @@
\stoptypescript
+% Lucida Bright : Biggelow and Holmes
+
+\starttypescript [all] [lucida] [ec,8r,texnansi]
+ \loadmapfile [\typescriptthree-bh-lucida.map]
+\stoptypescript
+
+
+\starttypescript [serif] [lucida] [name]
+ \definefontsynonym [Serif] [LucidaBright]
+ \definefontsynonym [SerifBold] [LucidaBright-Demi]
+ \definefontsynonym [SerifItalic] [LucidaBright-Italic]
+ \definefontsynonym [SerifSlanted] [LucidaBright-Oblique]
+ \definefontsynonym [SerifBoldItalic] [LucidaBright-DemiItalic]
+ \definefontsynonym [SerifBoldSlanted] [LucidaBright-DemiItalic]
+ \definefontsynonym [SerifCaps] [LucidaBrightSmallcaps]
+ \definefontsynonym [OldStyle] [MathItalic]
+\stoptypescript
+
+\starttypescript [sans] [lucida] [name]
+ \definefontsynonym [Sans] [LucidaSans]
+ \definefontsynonym [SansBold] [LucidaSans-Demi]
+ \definefontsynonym [SansItalic] [LucidaSans-Italic]
+ \definefontsynonym [SansSlanted] [LucidaSans-Italic]
+ \definefontsynonym [SansBoldItalic] [LucidaSans-DemiItalic]
+ \definefontsynonym [SansBoldSlanted] [LucidaSans-DemiItalic]
+ \definefontsynonym [SansCaps] [LucidaSans]
+\stoptypescript
+
+\starttypescript [mono] [lucida] [name]
+ \definefontsynonym [Mono] [LucidaSans-Typewriter]
+ \definefontsynonym [MonoBold] [LucidaSans-TypewriterBold]
+ \definefontsynonym [MonoItalic] [LucidaSans-TypewriterOblique]
+ \definefontsynonym [MonoSlanted] [LucidaSans-TypewriterOblique]
+ \definefontsynonym [MonoBoldItalic] [LucidaSans-TypewriterBoldOblique]
+ \definefontsynonym [MonoBoldSlanted] [LucidaSans-TypewriterBoldOblique]
+ \definefontsynonym [MonoCaps] [LucidaSans-Typewriter]
+\stoptypescript
+
+\starttypescript [math] [lucida] [name]
+ \definefontsynonym [MathRoman] [LucidaBright]
+ \definefontsynonym [MathExtension] [LucidaNewMath-Extension]
+ \definefontsynonym [MathItalic] [LucidaNewMath-AltItalic]
+ \definefontsynonym [MathSymbol] [LucidaNewMath-Symbol]
+ \definefontsynonym [MathAlpha] [LucidaNewMath-Arrows]
+ \definefontsynonym [MathBeta] [LucidaNewMath-Roman]
+\stoptypescript
+
+ \definefontsynonym [LucidaNewMath-AltDemiItalic] [lbmdo]
+ \definefontsynonym [LucidaNewMath-Arrows-Demi] [lbmad]
+ \definefontsynonym [LucidaNewMath-Extension] [lbme]
+ \definefontsynonym [LucidaNewMath-Demibold] [lbmd]
+ \definefontsynonym [LucidaNewMath-DemiItalic] [lbmdi]
+ \definefontsynonym [LucidaNewMath-Symbol-Demi] [lbmsd]
+
+\starttypescript [boldmath] [lucida] [name]
+ \definefontsynonym [MathRoman] [LucidaBright-Demi]
+ \definefontsynonym [MathExtension] [LucidaNewMath-Extension]
+ \definefontsynonym [MathItalic] [LucidaNewMath-AltDemiItalic]
+ \definefontsynonym [MathSymbol] [LucidaNewMath-Symbol-Demi]
+ \definefontsynonym [MathAlpha] [LucidaNewMath-Arrows-Demi]
+ \definefontsynonym [MathBeta] [LucidaNewMath-DemiBold]
+\stoptypescript
+
+\starttypescript [bfmath] [lucida] [name]
+ \definefontsynonym [MathRomanBold] [LucidaNewMath-Demibold]
+ \definefontsynonym [MathExtensionBold] [LucidaNewMath-Extension]
+ \definefontsynonym [MathItalicBold] [LucidaNewMath-AltDemiItalic]
+ \definefontsynonym [MathSymbolBold] [LucidaNewMath-Symbol-Demi]
+ \definefontsynonym [MathAlphaBold] [LucidaNewMath-Arrows-Demi]
+ \definefontsynonym [MathBetaBold] [LucidaNewMath-DemiBold] % ??
+\stoptypescript
+
+\starttypescript [handwriting] [lucida] [name]
+ \definefontsynonym [Handwriting] [LucidaHandwriting-Italic]
+\stoptypescript
+
+\starttypescript [calligraphy] [lucida] [name]
+ \definefontsynonym [Calligraphy] [LucidaCalligraphy-Italic]
+\stoptypescript
+
+\starttypescript [serif] [lucida] [texnansi,ec,8r]
+ \definefontsynonym [LucidaBright] [\typescriptthree-lbr] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaBright-Demi] [\typescriptthree-lbd] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaBright-DemiItalic] [\typescriptthree-lbdi] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaBright-Italic] [\typescriptthree-lbi] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaBrightSmallcaps] [\typescriptthree-lbrsc] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaBrightSmallcaps-Demi] [\typescriptthree-lbdsc] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaBright-Oblique] [\typescriptthree-lbsl] [encoding=\typescriptthree]
+\stoptypescript
+
+\starttypescript [sans] [lucida] [texnansi,ec,8r]
+ \definefontsynonym [LucidaSans] [\typescriptthree-lsr] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaSans-Demi] [\typescriptthree-lsd] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaSans-DemiItalic] [\typescriptthree-lsdi] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaSans-Italic] [\typescriptthree-lsi] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaSans-Bold] [\typescriptthree-lsb] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaSans-BoldItalic] [\typescriptthree-lsbi] [encoding=\typescriptthree]
+\stoptypescript
+
+\starttypescript [mono] [lucida] [texnansi,ec,8r]
+ \definefontsynonym [LucidaSans-Typewriter] [\typescriptthree-lstr] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaSans-TypewriterBold] [\typescriptthree-lstb] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaSans-TypewriterBoldOblique] [\typescriptthree-lstbo] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaSans-TypewriterOblique] [\typescriptthree-lsto] [encoding=\typescriptthree]
+\stoptypescript
+
+\starttypescript [math] [lucida] [texnansi,ec,8r]
+ \definefontsynonym [LucidaBright] [\typescriptthree-lbr] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaNewMath-AltItalic] [lbmo]
+ \definefontsynonym [LucidaNewMath-Arrows] [lbma]
+ \definefontsynonym [LucidaNewMath-Extension] [lbme]
+ \definefontsynonym [LucidaNewMath-Roman] [lbmr]
+ \definefontsynonym [LucidaNewMath-Italic] [lbmi]
+ \definefontsynonym [LucidaNewMath-Symbol] [lbms]
+ \definefontsynonym [LucidaBlackletter] [lbl]
+\stoptypescript
+
+\starttypescript [boldmath,bfmath] [lucida] [texnansi,ec,8r]
+ \definefontsynonym [LucidaNewMath-AltDemiItalic] [lbmdo]
+ \definefontsynonym [LucidaNewMath-Arrows-Demi] [lbmad]
+ \definefontsynonym [LucidaNewMath-Extension] [lbme]
+ \definefontsynonym [LucidaNewMath-DemiBold] [lbmd]
+ \definefontsynonym [LucidaNewMath-DemiItalic] [lbmdi]
+ \definefontsynonym [LucidaNewMath-Symbol-Demi] [lbmsd]
+\stoptypescript
+
+\starttypescript [calligraphy] [lucida] [texnansi,ec,8r]
+ \definefontsynonym [LucidaCalligraphy-Italic] [\typescriptthree-lbc] [encoding=\typescriptthree]
+\stoptypescript
+
+\starttypescript [casual] [lucida] [texnansi,ec,8r]
+ \definefontsynonym [LucidaCasual] [\typescriptthree-lbkr] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaCasual-Italic] [\typescriptthree-lbki] [encoding=\typescriptthree]
+\stoptypescript
+
+\starttypescript [handwriting] [lucida] [texnansi,ec,8r]
+ \definefontsynonym [LucidaHandwriting-Italic] [\typescriptthree-lbh] [encoding=\typescriptthree]
+\stoptypescript
+
+\starttypescript [fax] [lucida] [texnansi,ec,8r]
+ \definefontsynonym [LucidaFax] [\typescriptthree-lfr] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaFax-Demi] [\typescriptthree-lfd] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaFax-DemiItalic] [\typescriptthree-lfdi] [encoding=\typescriptthree]
+ \definefontsynonym [LucidaFax-Italic] [\typescriptthree-lfi] [encoding=\typescriptthree]
+\stoptypescript
+
+% Informal : Vulis
+
+\starttypescript [all] [informal] [default]
+ \loadmapfile[original-micropress-informal.map]
+\stoptypescript
+
+\starttypescript [casual] [informal] [name]
+ \definefontsynonym [Serif] [Informal-Regular]
+ \definefontsynonym [SerifBold] [Informal-Bold]
+ \definefontsynonym [SerifSlanted] [Informal-Oblique]
+ \definefontsynonym [SerifItalic] [Informal-Oblique]
+ \definefontsynonym [SerifBoldSlanted] [Informal-BoldOblique]
+ \definefontsynonym [SerifBoldItalic] [Informal-BoldOblique]
+ \definefontsynonym [SerifCaps] [Informal-Regular]
+\stoptypescript
+
+\starttypescript [math] [informal] [name]
+ \definefontsynonym [MathRoman] [Informal-Regular]
+ \definefontsynonym [MathExtension] [Informal-MathExtendedSymbols]
+ \definefontsynonym [MathItalic] [Informal-MathItalics]
+ \definefontsynonym [MathSymbol] [Informal-MathSymbols]
+\stoptypescript
+
+\starttypescript [casual] [informal] [default]
+ \definefontsynonym [Informal-Regular] [ifrm10cm]
+ \definefontsynonym [Informal-Bold] [ifrb10cm]
+ \definefontsynonym [Informal-Oblique] [ifro10cm]
+ \definefontsynonym [Informal-BoldOblique] [ifbo10cm]
+\stoptypescript
+
+\starttypescript [math] [informal] [default]
+ \definefontsynonym [Informal-Regular] [ifrm10cm]
+ \definefontsynonym [Informal-MathExtendedSymbols] [ifex10]
+ \definefontsynonym [Informal-MathItalics] [ifmi10]
+ \definefontsynonym [Informal-MathSymbols] [ifsy10]
+\stoptypescript
+
% ITC Officina
-\starttypescript [map] [ec,8r,texnansi]
- \loadmapfile [\typefaceencoding-itc-officina]
+\starttypescript [all] [officina] [ec,8r,texnansi]
+ \loadmapfile [\typescriptthree-itc-officina.map]
\stoptypescript
\starttypescript [serif] [officina] [name]
@@ -80,34 +263,34 @@
\starttypescript [serif] [officina] [texnansi,ec,8r]
- \definefontsynonym [OfficinaSerif-Book] [\typefaceencoding-ovbk] [encoding=\typefaceencoding]
- \definefontsynonym [OfficinaSerif-BookItalic] [\typefaceencoding-ovwi] [encoding=\typefaceencoding]
- \definefontsynonym [OfficinaSerif-Bold] [\typefaceencoding-ovb] [encoding=\typefaceencoding]
- \definefontsynonym [OfficinaSerif-BoldItalic] [\typefaceencoding-ovbi] [encoding=\typefaceencoding]
+ \definefontsynonym [OfficinaSerif-Book] [\typescriptthree-ovbk] [encoding=\typescriptthree]
+ \definefontsynonym [OfficinaSerif-BookItalic] [\typescriptthree-ovwi] [encoding=\typescriptthree]
+ \definefontsynonym [OfficinaSerif-Bold] [\typescriptthree-ovb] [encoding=\typescriptthree]
+ \definefontsynonym [OfficinaSerif-BoldItalic] [\typescriptthree-ovbi] [encoding=\typescriptthree]
- \definefontsynonym [OfficinaSerif-BookSlanted][\typefaceencoding-ovbk-slanted-167] [encoding=\typefaceencoding]
- \definefontsynonym [OfficinaSerif-BoldSlanted][\typefaceencoding-ovb-slanted-167] [encoding=\typefaceencoding]
- \definefontsynonym [OfficinaSerif-Caps] [\typefaceencoding-ovbk-capitalized-800] [encoding=\typefaceencoding]
+ \definefontsynonym [OfficinaSerif-BookSlanted][\typescriptthree-ovbk-slanted-167] [encoding=\typescriptthree]
+ \definefontsynonym [OfficinaSerif-BoldSlanted][\typescriptthree-ovb-slanted-167] [encoding=\typescriptthree]
+ \definefontsynonym [OfficinaSerif-Caps] [\typescriptthree-ovbk-capitalized-800] [encoding=\typescriptthree]
\stoptypescript
\starttypescript [sans] [officina] [texnansi,ec,8r]
- \definefontsynonym [OfficinaSans-Book] [\typefaceencoding-owbk] [encoding=\typefaceencoding]
- \definefontsynonym [OfficinaSans-BookItalic] [\typefaceencoding-owwi] [encoding=\typefaceencoding]
- \definefontsynonym [OfficinaSans-Bold] [\typefaceencoding-owb] [encoding=\typefaceencoding]
- \definefontsynonym [OfficinaSans-BoldItalic] [\typefaceencoding-owbi] [encoding=\typefaceencoding]
+ \definefontsynonym [OfficinaSans-Book] [\typescriptthree-owbk] [encoding=\typescriptthree]
+ \definefontsynonym [OfficinaSans-BookItalic] [\typescriptthree-owwi] [encoding=\typescriptthree]
+ \definefontsynonym [OfficinaSans-Bold] [\typescriptthree-owb] [encoding=\typescriptthree]
+ \definefontsynonym [OfficinaSans-BoldItalic] [\typescriptthree-owbi] [encoding=\typescriptthree]
- \definefontsynonym [OfficinaSans-BookSlanted][\typefaceencoding-owbk-slanted-167] [encoding=\typefaceencoding]
- \definefontsynonym [OfficinaSans-BoldSlanted][\typefaceencoding-owb-slanted-167] [encoding=\typefaceencoding]
- \definefontsynonym [OfficinaSans-Caps] [\typefaceencoding-owbk-capitalized-800] [encoding=\typefaceencoding]
+ \definefontsynonym [OfficinaSans-BookSlanted][\typescriptthree-owbk-slanted-167] [encoding=\typescriptthree]
+ \definefontsynonym [OfficinaSans-BoldSlanted][\typescriptthree-owb-slanted-167] [encoding=\typescriptthree]
+ \definefontsynonym [OfficinaSans-Caps] [\typescriptthree-owbk-capitalized-800] [encoding=\typescriptthree]
\stoptypescript
% FontFont Meta
-\starttypescript [map] [ec,8r,texnansi]
- \loadmapfile [\typefaceencoding-fontfont-meta]
+\starttypescript [all] [meta] [ec,8r,texnansi]
+ \loadmapfile [\typescriptthree-fontfont-meta.map]
\stoptypescript
\starttypescript [sans] [meta] [name]
@@ -134,104 +317,104 @@
\starttypescript [sans] [meta,meta-book] [texnansi,ec,8r]
- \definefontsynonym [MetaBook-Roman] [\typefaceencoding-mtbk] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBook-Italic] [\typefaceencoding-mtbki] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBook-Caps] [\typefaceencoding-mtbkc] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBook-ItalicCaps] [\typefaceencoding-mtbkic] [encoding=\typefaceencoding]
+ \definefontsynonym [MetaBook-Roman] [\typescriptthree-mtbk] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBook-Italic] [\typescriptthree-mtbki] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBook-Caps] [\typescriptthree-mtbkc] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBook-ItalicCaps] [\typescriptthree-mtbkic] [encoding=\typescriptthree]
\stoptypescript
\starttypescript [sans] [meta-lf,meta-book-lf] [texnansi,ec,8r]
- \definefontsynonym [MetaBookLF-Roman] [\typefaceencoding-mtbkf] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBookLF-Italic] [\typefaceencoding-mtbkfi] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBookLF-Caps] [\typefaceencoding-mtbkfc] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBookLF-ItalicCaps] [\typefaceencoding-mtbkfic] [encoding=\typefaceencoding]
+ \definefontsynonym [MetaBookLF-Roman] [\typescriptthree-mtbkf] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBookLF-Italic] [\typescriptthree-mtbkfi] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBookLF-Caps] [\typescriptthree-mtbkfc] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBookLF-ItalicCaps] [\typescriptthree-mtbkfic] [encoding=\typescriptthree]
\stoptypescript
\starttypescript [sans] [meta,meta-bold] [texnansi,ec,8r]
- \definefontsynonym [MetaBold-Roman] [\typefaceencoding-mtbd] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBold-Italic] [\typefaceencoding-mtbdi] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBold-Caps] [\typefaceencoding-mtbdc] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBold-ItalicCaps] [\typefaceencoding-mtbdic] [encoding=\typefaceencoding]
+ \definefontsynonym [MetaBold-Roman] [\typescriptthree-mtbd] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBold-Italic] [\typescriptthree-mtbdi] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBold-Caps] [\typescriptthree-mtbdc] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBold-ItalicCaps] [\typescriptthree-mtbdic] [encoding=\typescriptthree]
\stoptypescript
\starttypescript [sans] [meta-lf,meta-bold-lf] [texnansi,ec,8r]
- \definefontsynonym [MetaBoldLF-Roman] [\typefaceencoding-mtbdf] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBoldLF-Italic] [\typefaceencoding-mtbdfi] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBoldLF-Caps] [\typefaceencoding-mtbdfc] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBoldLF-ItalicCaps] [\typefaceencoding-mtbdfic] [encoding=\typefaceencoding]
+ \definefontsynonym [MetaBoldLF-Roman] [\typescriptthree-mtbdf] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBoldLF-Italic] [\typescriptthree-mtbdfi] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBoldLF-Caps] [\typescriptthree-mtbdfc] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBoldLF-ItalicCaps] [\typescriptthree-mtbdfic] [encoding=\typescriptthree]
\stoptypescript
\starttypescript [sans] [meta-normal] [texnansi,ec,8r]
- \definefontsynonym [MetaNormal-Roman] [\typefaceencoding-mtn] [encoding=\typefaceencoding]
- \definefontsynonym [MetaNormal-Italic] [\typefaceencoding-mtni] [encoding=\typefaceencoding]
- \definefontsynonym [MetaNormal-Caps] [\typefaceencoding-mtnc] [encoding=\typefaceencoding]
- \definefontsynonym [MetaNormal-ItalicCaps] [\typefaceencoding-mtnic] [encoding=\typefaceencoding]
+ \definefontsynonym [MetaNormal-Roman] [\typescriptthree-mtn] [encoding=\typescriptthree]
+ \definefontsynonym [MetaNormal-Italic] [\typescriptthree-mtni] [encoding=\typescriptthree]
+ \definefontsynonym [MetaNormal-Caps] [\typescriptthree-mtnc] [encoding=\typescriptthree]
+ \definefontsynonym [MetaNormal-ItalicCaps] [\typescriptthree-mtnic] [encoding=\typescriptthree]
\stoptypescript
\starttypescript [sans] [meta-normal-lf] [texnansi,ec,8r]
- \definefontsynonym [MetaNormalLF-Roman] [\typefaceencoding-mtnf] [encoding=\typefaceencoding]
- \definefontsynonym [MetaNormalLF-Italic] [\typefaceencoding-mtnfi] [encoding=\typefaceencoding]
- \definefontsynonym [MetaNormalLF-Caps] [\typefaceencoding-mtnfc] [encoding=\typefaceencoding]
- \definefontsynonym [MetaNormalLF-ItalicCaps] [\typefaceencoding-mtnfic] [encoding=\typefaceencoding]
+ \definefontsynonym [MetaNormalLF-Roman] [\typescriptthree-mtnf] [encoding=\typescriptthree]
+ \definefontsynonym [MetaNormalLF-Italic] [\typescriptthree-mtnfi] [encoding=\typescriptthree]
+ \definefontsynonym [MetaNormalLF-Caps] [\typescriptthree-mtnfc] [encoding=\typescriptthree]
+ \definefontsynonym [MetaNormalLF-ItalicCaps] [\typescriptthree-mtnfic] [encoding=\typescriptthree]
\stoptypescript
\starttypescript [sans] [meta-medium] [texnansi,ec,8r]
- \definefontsynonym [MetaMedium-Roman] [\typefaceencoding-mtm] [encoding=\typefaceencoding]
- \definefontsynonym [MetaMedium-Italic] [\typefaceencoding-mtmi] [encoding=\typefaceencoding]
- \definefontsynonym [MetaMedium-Caps] [\typefaceencoding-mtmc] [encoding=\typefaceencoding]
- \definefontsynonym [MetaMedium-ItalicCaps] [\typefaceencoding-mtmic] [encoding=\typefaceencoding]
+ \definefontsynonym [MetaMedium-Roman] [\typescriptthree-mtm] [encoding=\typescriptthree]
+ \definefontsynonym [MetaMedium-Italic] [\typescriptthree-mtmi] [encoding=\typescriptthree]
+ \definefontsynonym [MetaMedium-Caps] [\typescriptthree-mtmc] [encoding=\typescriptthree]
+ \definefontsynonym [MetaMedium-ItalicCaps] [\typescriptthree-mtmic] [encoding=\typescriptthree]
\stoptypescript
\starttypescript [sans] [meta-medium-lf] [texnansi,ec,8r]
- \definefontsynonym [MetaMediumLF-Roman] [\typefaceencoding-mtmf] [encoding=\typefaceencoding]
- \definefontsynonym [MetaMediumLF-Italic] [\typefaceencoding-mtmfi] [encoding=\typefaceencoding]
- \definefontsynonym [MetaMediumLF-Caps] [\typefaceencoding-mtmfc] [encoding=\typefaceencoding]
- \definefontsynonym [MetaMediumLF-ItalicCaps] [\typefaceencoding-mtmfic] [encoding=\typefaceencoding]
+ \definefontsynonym [MetaMediumLF-Roman] [\typescriptthree-mtmf] [encoding=\typescriptthree]
+ \definefontsynonym [MetaMediumLF-Italic] [\typescriptthree-mtmfi] [encoding=\typescriptthree]
+ \definefontsynonym [MetaMediumLF-Caps] [\typescriptthree-mtmfc] [encoding=\typescriptthree]
+ \definefontsynonym [MetaMediumLF-ItalicCaps] [\typescriptthree-mtmfic] [encoding=\typescriptthree]
\stoptypescript
\starttypescript [sans] [meta-black] [texnansi,ec,8r]
- \definefontsynonym [MetaBlack-Roman] [\typefaceencoding-mtbl] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBlack-Italic] [\typefaceencoding-mtbli] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBlack-Caps] [\typefaceencoding-mtblc] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBlack-ItalicCaps] [\typefaceencoding-mtblic] [encoding=\typefaceencoding]
+ \definefontsynonym [MetaBlack-Roman] [\typescriptthree-mtbl] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBlack-Italic] [\typescriptthree-mtbli] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBlack-Caps] [\typescriptthree-mtblc] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBlack-ItalicCaps] [\typescriptthree-mtblic] [encoding=\typescriptthree]
\stoptypescript
\starttypescript [sans] [meta-black-lf] [texnansi,ec,8r]
- \definefontsynonym [MetaBlackLF-Roman] [\typefaceencoding-mtblf] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBlackLF-Italic] [\typefaceencoding-mtblfi] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBlackLF-Caps] [\typefaceencoding-mtblfc] [encoding=\typefaceencoding]
- \definefontsynonym [MetaBlackLF-ItalicCaps] [\typefaceencoding-mtblfic] [encoding=\typefaceencoding]
+ \definefontsynonym [MetaBlackLF-Roman] [\typescriptthree-mtblf] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBlackLF-Italic] [\typescriptthree-mtblfi] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBlackLF-Caps] [\typescriptthree-mtblfc] [encoding=\typescriptthree]
+ \definefontsynonym [MetaBlackLF-ItalicCaps] [\typescriptthree-mtblfic] [encoding=\typescriptthree]
\stoptypescript
-\starttypescript [expert] [meta] % incomplete
+\starttypescript [expert] [meta] % incomplete
- \definefontsynonym [MetaNormal-Expert] [mtnx]
+ \definefontsynonym [MetaNormal-Expert] [mtnx]
\stoptypescript
-%D Linotype Univers
+%D Linotype Univers
-\starttypescript [map] [all] % [texnansi]
- \loadmapfile[texnansi-linotype-univers.map]
+\starttypescript [all] [univers] [texnansi]
+ \loadmapfile[\typescriptthree-linotype-univers.map]
\stoptypescript
\starttypescript [sans] [univers,univers-light,univers-black] [name]
@@ -261,23 +444,23 @@
\starttypescript [sans] [univers,univers-black,univers-light] [texnansi,ec,8r]
- \definefontsynonym [Univers-Light] [\typefaceencoding-lt50136] [encoding=\typefaceencoding]
- \definefontsynonym [Univers-LightOblique] [\typefaceencoding-lt50137] [encoding=\typefaceencoding]
+ \definefontsynonym [Univers-Light] [\typescriptthree-lt50136] [encoding=\typescriptthree]
+ \definefontsynonym [Univers-LightOblique] [\typescriptthree-lt50137] [encoding=\typescriptthree]
- \definefontsynonym [Univers] [\typefaceencoding-lt50138] [encoding=\typefaceencoding]
- \definefontsynonym [Univers-Oblique] [\typefaceencoding-lt50139] [encoding=\typefaceencoding]
- \definefontsynonym [Univers-Bold] [\typefaceencoding-lt50140] [encoding=\typefaceencoding]
- \definefontsynonym [Univers-BoldOblique] [\typefaceencoding-lt50141] [encoding=\typefaceencoding]
+ \definefontsynonym [Univers] [\typescriptthree-lt50138] [encoding=\typescriptthree]
+ \definefontsynonym [Univers-Oblique] [\typescriptthree-lt50139] [encoding=\typescriptthree]
+ \definefontsynonym [Univers-Bold] [\typescriptthree-lt50140] [encoding=\typescriptthree]
+ \definefontsynonym [Univers-BoldOblique] [\typescriptthree-lt50141] [encoding=\typescriptthree]
- \definefontsynonym [Univers-Black] [\typefaceencoding-lt50142] [encoding=\typefaceencoding]
- \definefontsynonym [Univers-BlackOblique] [\typefaceencoding-lt50143] [encoding=\typefaceencoding]
+ \definefontsynonym [Univers-Black] [\typescriptthree-lt50142] [encoding=\typescriptthree]
+ \definefontsynonym [Univers-BlackOblique] [\typescriptthree-lt50143] [encoding=\typescriptthree]
\stoptypescript
% mendoza
-\starttypescript [all]
- \loadmapfile[texnansi-itc-mendoza.map]
+\starttypescript [all] [mendoza] [ec,8r,texnansi]
+ \loadmapfile[\typescriptthree-itc-mendoza.map]
\stoptypescript
\starttypescript [serif] [mendoza] [name]
@@ -292,21 +475,21 @@
\stoptypescript
-\starttypescript [serif] [mendoza] [texnansi]
+\starttypescript [serif] [mendoza] [ec,8r,texnansi]
- \definefontsynonym[MendozaRoman-Bold] [texnansi-zab] [encoding=texnansi]
- \definefontsynonym[MendozaRoman-BoldItalic] [texnansi-zabi][encoding=texnansi]
- \definefontsynonym[MendozaRoman-Medium] [texnansi-zam] [encoding=texnansi]
- \definefontsynonym[MendozaRoman-MediumItalic][texnansi-zami][encoding=texnansi]
- \definefontsynonym[MendozaRoman-Book] [texnansi-zaw] [encoding=texnansi]
- \definefontsynonym[MendozaRoman-BookItalic] [texnansi-zawi][encoding=texnansi]
+ \definefontsynonym[MendozaRoman-Bold] [\typescriptthree-zab] [encoding=\typescriptthree]
+ \definefontsynonym[MendozaRoman-BoldItalic] [\typescriptthree-zabi][encoding=\typescriptthree]
+ \definefontsynonym[MendozaRoman-Medium] [\typescriptthree-zam] [encoding=\typescriptthree]
+ \definefontsynonym[MendozaRoman-MediumItalic][\typescriptthree-zami][encoding=\typescriptthree]
+ \definefontsynonym[MendozaRoman-Book] [\typescriptthree-zaw] [encoding=\typescriptthree]
+ \definefontsynonym[MendozaRoman-BookItalic] [\typescriptthree-zawi][encoding=\typescriptthree]
\stoptypescript
-% frutiger
+% frutiger
-\starttypescript [all]
- \loadmapfile[texnansi-adobe-frutiger.map]
+\starttypescript [all] [frutiger] [ec,8r,texnansi]
+ \loadmapfile[\typescriptthree-adobe-frutiger.map]
\stoptypescript
\starttypescript [sans] [frutiger] [name]
@@ -321,62 +504,34 @@
\stoptypescript
-\starttypescript [sans] [frutiger] [texnansi]
-
- \definefontsynonym[Frutiger-Bold] [texnansi-ftb] [encoding=texnansi]
- \definefontsynonym[Frutiger-BoldItalic] [texnansi-ftbi] [encoding=texnansi]
- \definefontsynonym[Frutiger-Black] [texnansi-ftbl] [encoding=texnansi]
- \definefontsynonym[Frutiger-BlackItalic][texnansi-ftbli][encoding=texnansi]
- \definefontsynonym[Frutiger-Italic] [texnansi-fti] [encoding=texnansi]
- \definefontsynonym[Frutiger-Light] [texnansi-ftl] [encoding=texnansi]
- \definefontsynonym[Frutiger-LightItalic][texnansi-ftli] [encoding=texnansi]
- \definefontsynonym[Frutiger-Roman] [texnansi-ftr] [encoding=texnansi]
- \definefontsynonym[Frutiger-UltraBlack] [texnansi-ftubl][encoding=texnansi]
-
-\stoptypescript
-
-% utopia (already in other files)
-%
-% \starttypescript [map] [ec,8r,texnansi]
-% \loadmapfile [\typefaceencoding-adobe-utopia]
-% \stoptypescript
-%
-% \starttypescript [serif] [utopia] [name]
-%
-% \definefontsynonym [Serif] [Utopia-Regular]
-% \definefontsynonym [SerifItalic] [Utopia-Italic]
-% \definefontsynonym [SerifSlanted] [Utopia-Slanted]
-% \definefontsynonym [SerifBold] [Utopia-Bold]
-% \definefontsynonym [SerifBoldItalic] [Utopia-BoldItalic]
-% \definefontsynonym [SerifBoldSlanted][Utopia-BoldSlanted]
-%
-% \stoptypescript
-%
-% \starttypescript [serif] [utopia] [texnansi]
-%
-% \definefontsynonym [Utopia-Regular] [texnansi-utrg] [encoding=texnansi]
-% \definefontsynonym [Utopia-Italic] [texnansi-uti] [encoding=texnansi]
-% \definefontsynonym [Utopia-Slanted] [texnansi-uti] [encoding=texnansi]
-% \definefontsynonym [Utopia-Bold] [texnansi-utb] [encoding=texnansi]
-% \definefontsynonym [Utopia-BoldItalic] [texnansi-utbi] [encoding=texnansi]
-% \definefontsynonym [Utopia-BoldSlanted] [texnansi-utbi] [encoding=texnansi]
-%
-% \stoptypescript
-
-% kabel
-
- \starttypescript [map] [ec,8r,texnansi]
- \loadmapfile [\typefaceencoding-itc-kabel]
- \stoptypescript
-
- \starttypescript [sans] [kabel] [texnansi]
-
- \definefontsynonym [ItcKabel-Bold] [texnansi-kbb] [encoding=texnansi]
- \definefontsynonym [ItcKabel-Demi] [texnansi-kbd] [encoding=texnansi]
- \definefontsynonym [ItcKabel-Medium] [texnansi-kbm] [encoding=texnansi]
- \definefontsynonym [ItcKabel-Ultra] [texnansi-kbu] [encoding=texnansi]
- \definefontsynonym [ItcKabel-Book] [texnansi-kbw] [encoding=texnansi]
-
- \stoptypescript
-
-\endinput
+\starttypescript [sans] [frutiger] [ec,8r,texnansi]
+
+ \definefontsynonym[Frutiger-Bold] [\typescriptthree-ftb] [encoding=\typescriptthree]
+ \definefontsynonym[Frutiger-BoldItalic] [\typescriptthree-ftbi] [encoding=\typescriptthree]
+ \definefontsynonym[Frutiger-Black] [\typescriptthree-ftbl] [encoding=\typescriptthree]
+ \definefontsynonym[Frutiger-BlackItalic][\typescriptthree-ftbli][encoding=\typescriptthree]
+ \definefontsynonym[Frutiger-Italic] [\typescriptthree-fti] [encoding=\typescriptthree]
+ \definefontsynonym[Frutiger-Light] [\typescriptthree-ftl] [encoding=\typescriptthree]
+ \definefontsynonym[Frutiger-LightItalic][\typescriptthree-ftli] [encoding=\typescriptthree]
+ \definefontsynonym[Frutiger-Roman] [\typescriptthree-ftr] [encoding=\typescriptthree]
+ \definefontsynonym[Frutiger-UltraBlack] [\typescriptthree-ftubl][encoding=\typescriptthree]
+
+\stoptypescript
+
+% kabel
+
+\starttypescript [all] [kabel] [ec,8r,texnansi]
+ \loadmapfile [\typescriptthree-itc-kabel.map]
+\stoptypescript
+
+\starttypescript [sans] [kabel] [ec,8r,texnansi]
+
+ \definefontsynonym [ItcKabel-Bold] [\typescriptthree-kbb] [encoding=\typescriptthree]
+ \definefontsynonym [ItcKabel-Demi] [\typescriptthree-kbd] [encoding=\typescriptthree]
+ \definefontsynonym [ItcKabel-Medium] [\typescriptthree-kbm] [encoding=\typescriptthree]
+ \definefontsynonym [ItcKabel-Ultra] [\typescriptthree-kbu] [encoding=\typescriptthree]
+ \definefontsynonym [ItcKabel-Book] [\typescriptthree-kbw] [encoding=\typescriptthree]
+
+\stoptypescript
+
+\endinput
diff --git a/tex/context/base/type-enc.tex b/tex/context/base/type-enc.tex
index 16eaff96f..1ecd20247 100644
--- a/tex/context/base/type-enc.tex
+++ b/tex/context/base/type-enc.tex
@@ -28,9 +28,7 @@
%
% \starttext \showfont[Serif] \stoptext
-\starttypescript [all] [latin-modern] [texnansi,qx]
-
- \loadmapfile[\typescriptthree-lm.map]
+\starttypescript [all] [latin-modern] [texnansi,ec,qx]
% Regular
@@ -111,89 +109,6 @@
\stoptypescript
-\starttypescript [all] [latin-modern] [ec]
-
- \loadmapfile[cork-lm.map]
-
- % Regular
-
- \definefontsynonym [cmr5] [cork-lmr5] [encoding=ec]
- \definefontsynonym [cmr6] [cork-lmr6] [encoding=ec]
- \definefontsynonym [cmr7] [cork-lmr7] [encoding=ec]
- \definefontsynonym [cmr8] [cork-lmr8] [encoding=ec]
- \definefontsynonym [cmr9] [cork-lmr9] [encoding=ec]
- \definefontsynonym [cmr10] [cork-lmr10] [encoding=ec]
- \definefontsynonym [cmr12] [cork-lmr12] [encoding=ec]
- \definefontsynonym [cmr17] [cork-lmr17] [encoding=ec]
-
- \definefontsynonym [cmbx5] [cork-lmbx5] [encoding=ec]
- \definefontsynonym [cmbx6] [cork-lmbx6] [encoding=ec]
- \definefontsynonym [cmbx7] [cork-lmbx7] [encoding=ec]
- \definefontsynonym [cmbx8] [cork-lmbx8] [encoding=ec]
- \definefontsynonym [cmbx9] [cork-lmbx9] [encoding=ec]
- \definefontsynonym [cmbx10] [cork-lmbx10] [encoding=ec]
- \definefontsynonym [cmbx12] [cork-lmbx12] [encoding=ec]
-
- \definefontsynonym [cmsl10] [cork-lmro10] [encoding=ec]
- \definefontsynonym [cmsl12] [cork-lmro12] [encoding=ec]
- \definefontsynonym [cmsl8] [cork-lmro8] [encoding=ec]
- \definefontsynonym [cmsl9] [cork-lmro9] [encoding=ec]
-
- \definefontsynonym [cmti7] [cork-lmri7] [encoding=ec]
- \definefontsynonym [cmti8] [cork-lmri8] [encoding=ec]
- \definefontsynonym [cmti9] [cork-lmri9] [encoding=ec]
- \definefontsynonym [cmti10] [cork-lmri10] [encoding=ec]
- \definefontsynonym [cmti12] [cork-lmri12] [encoding=ec]
-
- \definefontsynonym [cmb10] [cork-lmb10] [encoding=ec]
- \definefontsynonym [cmbsl10] [cork-lmbo10] [encoding=ec]
- \definefontsynonym [cmbxsl10] [cork-lmbxo10] [encoding=ec]
- \definefontsynonym [cmbxti10] [cork-lmbxi10] [encoding=ec]
-
- \definefontsynonym [cmcsc10] [cork-lmcsc10] [encoding=ec]
- \definefontsynonym [cmcscsl10][cork-lmcsco10] [encoding=ec]
-
- % Mono
-
- \definefontsynonym [cmtt8] [cork-lmtt8] [encoding=ec]
- \definefontsynonym [cmtt9] [cork-lmtt9] [encoding=ec]
- \definefontsynonym [cmtt10] [cork-lmtt10] [encoding=ec]
- \definefontsynonym [cmtt12] [cork-lmtt12] [encoding=ec]
-
- \definefontsynonym [cmitt10] [cork-lmtti10] [encoding=ec]
- \definefontsynonym [cmsltt10] [cork-lmtto10] [encoding=ec]
-
- \definefontsynonym [cmvtt10] [cork-lmvtt10] [encoding=ec]
- \definefontsynonym [cmvtti10] [cork-lmvtto] [encoding=ec]
-
- \definefontsynonym [cmcsc10] [cork-lmcsc10] [encoding=ec]
-
- % Sans
-
- \definefontsynonym [cmss8] [cork-lmss8] [encoding=ec]
- \definefontsynonym [cmss9] [cork-lmss9] [encoding=ec]
- \definefontsynonym [cmss10] [cork-lmss10] [encoding=ec]
- \definefontsynonym [cmss12] [cork-lmss12] [encoding=ec]
- \definefontsynonym [cmss17] [cork-lmss17] [encoding=ec]
-
- \definefontsynonym [cmssi10] [cork-lmsso10] [encoding=ec]
- \definefontsynonym [cmssi12] [cork-lmsso12] [encoding=ec]
- \definefontsynonym [cmssi17] [cork-lmsso17] [encoding=ec]
- \definefontsynonym [cmssi8] [cork-lmsso8] [encoding=ec]
- \definefontsynonym [cmssi9] [cork-lmsso9] [encoding=ec]
-
- \definefontsynonym [cmssq8] [cork-lmssq8] [encoding=ec]
- \definefontsynonym [cmssqb8] [cork-lmssqbx8] [encoding=ec]
- \definefontsynonym [cmssqbi8] [cork-lmssqbo8] [encoding=ec]
- \definefontsynonym [cmssqi8] [cork-lmssqo8] [encoding=ec]
-
- \definefontsynonym [cmssbx10] [cork-lmssbx10] [encoding=ec]
- \definefontsynonym [cmssdc10] [cork-lmssdc10] [encoding=ec]
- \definefontsynonym [cmssbi10] [cork-lmssbo10] [encoding=ec]
- \definefontsynonym [cmssdi10] [cork-lmssdo10] [encoding=ec]
-
-\stoptypescript
-
\starttypescript [all] [computer-modern] [ec] % will become ae
\definefontsynonym [cmb10] [aeb10] [encoding=ec,handling=glm]
\definefontsynonym [cmbx10] [aebx10] [encoding=ec,handling=glm]
@@ -940,6 +855,22 @@
\definefontsynonym [Courier-BoldOblique] [\typefaceencoding-ucrbo8a] [encoding=\typefaceencoding]
\stoptypescript
+% alternative 1
+%
+% \definefontsynonym[qx-ucrr8a] [qcrr]
+% \definefontsynonym[qx-ucrb8a] [qcrb]
+% \definefontsynonym[qx-ucrr08a] [qcrri]
+% \definefontsynonym[qx-ucrbo8a] [qcrbi]
+%
+% alternative 2
+
+\starttypescript [mono] [courier] [qx]
+ \definefontsynonym [Courier] [qcrr] [encoding=qx]
+ \definefontsynonym [Courier-Bold] [qcrb] [encoding=qx]
+ \definefontsynonym [Courier-Oblique] [qcrri] [encoding=qx]
+ \definefontsynonym [Courier-BoldOblique] [qcrbi] [encoding=qx]
+\stoptypescript
+
% Helvetica (URW)
\starttypescript [sans] [helvetica] [texnansi,ec,8r]
@@ -951,6 +882,15 @@
\definefontsynonym [Helvetica-BoldOblique] [\typefaceencoding-uhvbo8a] [encoding=\typefaceencoding]
\stoptypescript
+\starttypescript [sans] [helvetica] [qx] % narrow
+ \definefontsynonym [Helvetica] [qhvr] [encoding=qx] % qhvcr
+ \definefontsynonym [Helvetica-Italic] [qhvri] [encoding=qx] % qhvcri
+ \definefontsynonym [Helvetica-Oblique] [qhvri] [encoding=qx] % qhvcri
+ \definefontsynonym [Helvetica-Bold] [qhvb] [encoding=qx] % qhvcb
+ \definefontsynonym [Helvetica-BoldItalic] [qhvbi] [encoding=qx] % qhvcbi
+ \definefontsynonym [Helvetica-BoldOblique] [qhvbi] [encoding=qx] % qhvcbi
+\stoptypescript
+
% Times Roman (URW)
\starttypescript [serif] [times] [texnansi,ec,8r]
@@ -965,6 +905,18 @@
\definefontsynonym [Times] [Times-Roman]
\stoptypescript
+\starttypescript [serif] [times] [qx]
+ \definefontsynonym [Times-Roman] [qtmr] [encoding=qx]
+ \definefontsynonym [Times-Italic] [qtmri] [encoding=qx]
+ \definefontsynonym [Times-Bold] [qtmb] [encoding=qx]
+ \definefontsynonym [Times-BoldItalic] [qtmbi] [encoding=qx]
+
+ \definefontsynonym [Times-Slanted] [Times-Italic]
+ \definefontsynonym [Times-BoldSlanted] [Times-BoldItalic]
+
+ \definefontsynonym [Times] [Times-Roman]
+\stoptypescript
+
% Math Times (tx)
\starttypescript [math] [times] [all]
@@ -1015,6 +967,17 @@
\definefontsynonym [Palatino-Caps] [\typefaceencoding-uplr8a-capitalized-800] [encoding=\typefaceencoding]
\stoptypescript
+\starttypescript [serif] [palatino] [qx]
+ \definefontsynonym [Palatino] [qplr] [encoding=qx]
+ \definefontsynonym [Palatino-Italic] [qplri] [encoding=qx]
+ \definefontsynonym [Palatino-Bold] [qplb] [encoding=qx]
+ \definefontsynonym [Palatino-BoldItalic] [qplbi] [encoding=qx]
+
+ \definefontsynonym [Palatino-Slanted] [Palatino-Italic]
+ \definefontsynonym [Palatino-BoldSlanted] [Palatino-BoldItalic]
+ \definefontsynonym [Palatino-Caps] [Palatino]
+\stoptypescript
+
% Palatino Math (PX)
\starttypescript [math] [palatino] [all]
@@ -1048,12 +1011,27 @@
\definefontsynonym [Bookman-Light-Caps] [\typefaceencoding-ubkl8a-capitalized-800] [encoding=\typefaceencoding]
\stoptypescript
+\starttypescript [serif] [bookman] [qx]
+ \definefontsynonym [Bookman-Light] [qbkr] [encoding=qx]
+ \definefontsynonym [Bookman-LightItalic] [qbkri] [encoding=qx]
+ \definefontsynonym [Bookman-DemiBold] [qbkb] [encoding=qx]
+ \definefontsynonym [Bookman-DemiBoldItalic] [qbkbi] [encoding=qx]
+
+ \definefontsynonym [Bookman-LightSlanted] [Bookman-LightItalic]
+ \definefontsynonym [Bookman-DemiBoldSlanted] [Bookman-DemiBoldItalic]
+ \definefontsynonym [Bookman-Light-Caps] [Bookman-Light]
+\stoptypescript
+
% Chancery (URW)
\starttypescript [calligraphy] [chancery] [ec,texnansi,8r]
\definefontsynonym [Chancery] [\typefaceencoding-uzcmi8a] [encoding=\typefaceencoding]
\stoptypescript
+\starttypescript [calligraphy] [chancery] [qx]
+ \definefontsynonym [Chancery] [qzcmi] [encoding=qx]
+\stoptypescript
+
% New Century Schoolbook (URW)
\starttypescript [serif] [schoolbook] [ec,texnansi,8r]
@@ -1100,94 +1078,6 @@
\definefontsynonym [MartinVogel] [fmvr8x]
\stoptypescript
-% Commercial fonts / still to be sorted out
-
-% Informal (VTEX)
-
-\starttypescript [casual] [informal] [default]
- \definefontsynonym [Informal-Regular] [ifrm10cm]
- \definefontsynonym [Informal-Bold] [ifrb10cm]
- \definefontsynonym [Informal-Oblique] [ifro10cm]
- \definefontsynonym [Informal-BoldOblique] [ifbo10cm]
-\stoptypescript
-
-% Informal Math (VTEX)
-
-\starttypescript [math] [informal] [default]
- \definefontsynonym [Informal-Regular] [ifrm10cm]
- \definefontsynonym [Informal-MathExtendedSymbols] [ifex10]
- \definefontsynonym [Informal-MathItalics] [ifmi10]
- \definefontsynonym [Informal-MathSymbols] [ifsy10]
-\stoptypescript
-
-% Lucida Bright (BH)
-
-\starttypescript [serif] [lucida] [texnansi,ec,8r]
- \definefontsynonym [LucidaBright] [\typefaceencoding-lbr] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaBright-Demi] [\typefaceencoding-lbd] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaBright-DemiItalic] [\typefaceencoding-lbdi] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaBright-Italic] [\typefaceencoding-lbi] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaBrightSmallcaps] [\typefaceencoding-lbrsc] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaBrightSmallcaps-Demi] [\typefaceencoding-lbdsc] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaBright-Oblique] [\typefaceencoding-lbsl] [encoding=\typefaceencoding]
-\stoptypescript
-
-\starttypescript [sans] [lucida] [texnansi,ec,8r]
- \definefontsynonym [LucidaSans] [\typefaceencoding-lsr] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaSans-Demi] [\typefaceencoding-lsd] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaSans-DemiItalic] [\typefaceencoding-lsdi] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaSans-Italic] [\typefaceencoding-lsi] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaSans-Bold] [\typefaceencoding-lsb] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaSans-BoldItalic] [\typefaceencoding-lsbi] [encoding=\typefaceencoding]
-\stoptypescript
-
-\starttypescript [mono] [lucida] [texnansi,ec,8r]
- \definefontsynonym [LucidaSans-Typewriter] [\typefaceencoding-lstr] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaSans-TypewriterBold] [\typefaceencoding-lstb] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaSans-TypewriterBoldOblique] [\typefaceencoding-lstbo] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaSans-TypewriterOblique] [\typefaceencoding-lsto] [encoding=\typefaceencoding]
-\stoptypescript
-
-\starttypescript [math] [lucida] [texnansi,ec,8r]
- \definefontsynonym [LucidaBright] [\typefaceencoding-lbr] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaNewMath-AltItalic] [lbmo]
- \definefontsynonym [LucidaNewMath-Arrows] [lbma]
- \definefontsynonym [LucidaNewMath-Extension] [lbme]
- \definefontsynonym [LucidaNewMath-Roman] [lbmr]
- \definefontsynonym [LucidaNewMath-Italic] [lbmi]
- \definefontsynonym [LucidaNewMath-Symbol] [lbms]
- \definefontsynonym [LucidaBlackletter] [lbl]
-\stoptypescript
-
-\starttypescript [boldmath,bfmath] [lucida] [texnansi,ec,8r]
- \definefontsynonym [LucidaNewMath-AltDemiItalic] [lbmdo]
- \definefontsynonym [LucidaNewMath-Arrows-Demi] [lbmad]
- \definefontsynonym [LucidaNewMath-Extension] [lbme]
- \definefontsynonym [LucidaNewMath-DemiBold] [lbmd]
- \definefontsynonym [LucidaNewMath-DemiItalic] [lbmdi]
- \definefontsynonym [LucidaNewMath-Symbol-Demi] [lbmsd]
-\stoptypescript
-
-\starttypescript [calligraphy] [lucida] [texnansi,ec,8r]
- \definefontsynonym [LucidaCalligraphy-Italic] [\typefaceencoding-lbc] [encoding=\typefaceencoding]
-\stoptypescript
-
-\starttypescript [casual] [lucida] [texnansi,ec,8r]
- \definefontsynonym [LucidaCasual] [\typefaceencoding-lbkr] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaCasual-Italic] [\typefaceencoding-lbki] [encoding=\typefaceencoding]
-\stoptypescript
-
-\starttypescript [handwriting] [lucida] [texnansi,ec,8r]
- \definefontsynonym [LucidaHandwriting-Italic] [\typefaceencoding-lbh] [encoding=\typefaceencoding]
-\stoptypescript
-
-\starttypescript [fax] [lucida] [texnansi,ec,8r]
- \definefontsynonym [LucidaFax] [\typefaceencoding-lfr] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaFax-Demi] [\typefaceencoding-lfd] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaFax-DemiItalic] [\typefaceencoding-lfdi] [encoding=\typefaceencoding]
- \definefontsynonym [LucidaFax-Italic] [\typefaceencoding-lfi] [encoding=\typefaceencoding]
-\stoptypescript
-
%D For those who want to use the existing tfm and vf files we
%D provide:
diff --git a/tex/context/base/type-exa.tex b/tex/context/base/type-exa.tex
index 46d1811cc..cbd55abd5 100644
--- a/tex/context/base/type-exa.tex
+++ b/tex/context/base/type-exa.tex
@@ -77,6 +77,7 @@
\definetypeface [lucida] [ss] [sans] [lucida] [default] [encoding=\typescripttwo]
\definetypeface [lucida] [tt] [mono] [lucida] [default] [encoding=\typescripttwo]
\definetypeface [lucida] [hw] [handwriting] [lucida] [default] [encoding=\typescripttwo]
+ %definetypeface [lucida] [cg] [calligraphy] [lucida] [default] [encoding=\typescripttwo]
\stoptypescript
diff --git a/tex/context/base/type-ini.tex b/tex/context/base/type-ini.tex
index 48e67009b..580dde7e4 100644
--- a/tex/context/base/type-ini.tex
+++ b/tex/context/base/type-ini.tex
@@ -58,8 +58,7 @@
\pushmacro\typescriptthree
\pushmacro\stoptypescript
\typescriptfoundfalse
- \writestatus\m!fonts
- {[\@@typescriptone] [\@@typescripttwo] [\@@typescriptthree]}%
+ \writestatus\m!fonts{[\@@typescriptone] [\@@typescripttwo] [\@@typescriptthree]}%
\processcommacommand[\typescriptfiles]\dododousetypescript
\firsttypescriptpassfalse % testen
\popmacro\stoptypescript
@@ -299,9 +298,11 @@
% \expanded{\processcommalist[#1]}\docommando
% \ifproductionrun \loadallfontmapfiles \fi}
+% this mechanism will be adapted to the new pdftex features
+
\def\dopreloadmapfile#1%
{\doifinstringelse{.}{#1}
- {\writestatus{pdftex}{compensate map file: #1}%
+ {\writestatus\m!fonts{assuming map file: #1}%
\setxvalue{#1 \c!status}{3}%
\doglobal\removefromcommalist{#1}\allfontmapsfiles}
{\expanded{\dopreloadmapfile{#1.\f!fontmapextension}}}}
@@ -309,59 +310,88 @@
\def\preloadmapfile[#1]%
{\expanded{\processcommalist[#1]}\dopreloadmapfile}
-\def\doloadmapfile#1%
- {\doifinstringelse{.}{#1}
- {\doglobal\pretocommalist{#1}\allfontmapsfiles}
- {\expanded{\doloadmapfile{#1.\f!fontmapextension}}}}
-
-\def\loadmapfile[#1]% last added first !
- {\expanded{\processcommalist[#1]}\doloadmapfile
- \ifproductionrun \loadallfontmapfiles \fi}
-
-\def\doloadfontmapfile#1% will be special
- {\doifundefined{#1 \c!status}
- {\ifnum\realpageno>\plusone
- \writestatus{pdftex}{too late for map file: #1}%
- \else
- \writestatus{pdftex}{using map file: #1}%
- \fi
- \doiffileelse{#1}{\pdfmapfile{+#1}}\donothing
- \setxvalue{#1 \c!status}{1}}}
+\def\loadmapfile[#1]%
+ {\expanded{\processcommalist[#1]}\loadthemapfile}
+
+% too soon, no driver known, \ifproductionrun \loadallfontmapfiles \fi}
+
+% temp hack, will become just \addto
+
+\ifx\pdftexversion\undefined
+
+ \def\loadthemapfile#1%
+ {\doifinstringelse{.}{#1}
+ {\doglobal\addtocommalist{#1}\allfontmapsfiles}
+ {\expanded{\loadthemapfile{#1.\f!fontmapextension}}}}
+
+\else\ifnum\pdftexversion<200
+
+ \def\loadthemapfile#1%
+ {\doifinstringelse{.}{#1}
+ {\doglobal\pretocommalist{#1}\allfontmapsfiles}
+ {\expanded{\loadthemapfile{#1.\f!fontmapextension}}}}
+
+\else
+
+ \def\loadthemapfile#1%
+ {\doifinstringelse{.}{#1}
+ %{\doglobal\pretocommalist{#1}\allfontmapsfiles}
+ {\doglobal\addtocommalist{#1}\allfontmapsfiles}
+ {\expanded{\loadthemapfile{#1.\f!fontmapextension}}}}
+
+
+\fi \fi
+
+\def\doloadfontmapfile#1%
+ {\ifundefined{#1 \c!status}%
+ \writestatus\m!fonts{using map file: #1}%
+ \doloadmapfile{+}{#1}%
+ \setxvalue{#1 \c!status}{1}%
+ \fi}
\def\doreportfontmapfile#1%
- {\doifundefined{#1 \c!status}
- {\writestatus{pdftex}{needs map file: #1}%
- \setxvalue{#1 \c!status}{2}}}
+ {\ifundefined{#1 \c!status}%
+ \writestatus\m!fonts{needs map file: #1}%
+ \setxvalue{#1 \c!status}{2}%
+ \fi}
\def\loadallfontmapfiles
{%\message{[\allfontmapsfiles]}%
+ \ifconditional\resettingmapfile
+ \doresetmapfilelist
+ \global\setfalse\resettingmapfile
+ \fi
\ifx\allfontmapsfiles\empty \else
\ifautoloadmapfiles
- \ifcase\pdfoutput \else \ifx\pdfmapfile\undefined \else
- \processcommacommand[\allfontmapsfiles]\doloadfontmapfile
- \forgetmapfiles
- \fi \fi
+ \processcommacommand[\allfontmapsfiles]\doloadfontmapfile
\else
\processcommacommand[\allfontmapsfiles]\doreportfontmapfile
- \forgetmapfiles
\fi
+ \forgetmapfiles
\fi}
-\appendtoks \loadallfontmapfiles \to \everyjob
+% since this is driver dependent, and since we may set map files
+% before an output format is defined, we need to postpone it
+
+%appendtoks \loadallfontmapfiles \to \everyPDFximage
\appendtoks \loadallfontmapfiles \to \everystarttext
\appendtoks \loadallfontmapfiles \to \everybeforepagebody
\newif\ifautoloadmapfiles
+\let\allfontmapsfiles\empty
+
\def\forgetmapfiles
- {\global\let\allfontmapsfiles\empty}
+ {\globallet\allfontmapsfiles\empty}
+
+\newconditional\resettingmapfile
-\forgetmapfiles
+\def\resetmapfiles
+ {\global\settrue\resettingmapfile}
\def\disablemapfiles
- {\ifcase\pdfoutput \else \ifx\pdfmapfile\undefined \else
- \pdfmapfile{}% this will (kind of reset) the map file loading
- \fi \fi}
+ {\resetmapfiles
+ \forgetmapfiles}
% \definetypeface [#1:joke] [#2:rm]
% \definetypeface [#1:joke] [#2:rm] [#3:...]
@@ -384,10 +414,10 @@
\def\dodefinetypeface[#1][#2][#3][#4][#5][#6]%
{\dododefinetypeface[#1][#2]
\iffifthargument % sixth is optional
- % \getparameters[\??ts][rscale=1,\s!encoding=\defaultencoding,#6]
- % we need to expand since in #6 there can be a \typescripttwo
-\expanded{\getparameters[\??ts][\s!rscale=1,\s!encoding=\defaultencoding,#6]}%
-% toch niet \expanded{\getparameters[\??ts][\s!rscale=1,\s!encoding=\s!default,#6]}%
+ % \getparameters[\??ts][rscale=1,\s!encoding=\defaultencoding,#6]
+ % we need to expand since in #6 there can be a \typescripttwo
+ \expanded{\getparameters[\??ts][\s!rscale=1,\s!encoding=\defaultencoding,#6]}%
+ % toch niet \expanded{\getparameters[\??ts][\s!rscale=1,\s!encoding=\s!default,#6]}%
\pushmacro\relativefontsize
\pushmacro\typefaceencoding
\pushmacro\fontclass
@@ -398,7 +428,7 @@
%\writestatus{typeface}{[#1] [#2] [#3] [#4]}
\writestatus\m!fonts{[#1] [#2] [#3] [#4]}
\usetypescript[map][\typefaceencoding]
- \usetypescript[#3][#4][name,default,\typefaceencoding,special]
+ \usetypescript[#3,map][#4][name,default,\typefaceencoding,special]
\usetypescript[#3][#5][size]
\popmacro\fontclass
\popmacro\typefaceencoding
diff --git a/tex/context/base/type-map.tex b/tex/context/base/type-map.tex
index bea38ec32..471d7897a 100644
--- a/tex/context/base/type-map.tex
+++ b/tex/context/base/type-map.tex
@@ -11,107 +11,125 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-%D Beware, this may change to run time loading once pdftex can do
-%D that per page.
+%D This one plays safe:
+
+\starttypescript [map] [base] [all]
+ \loadmapfile[original-base.map]
+ \loadmapfile[ec-base.map]
+ \loadmapfile[8r-base.map]
+ \loadmapfile[qx-base.map]
+ \loadmapfile[texnansi-base.map]
+ \loadmapfile[original-ams-cmr.map]
+ \loadmapfile[original-ams-euler.map]
+ \loadmapfile[original-public-lm.map]
+ \loadmapfile[original-public-plr.map]
+ \loadmapfile[original-public-csr.map]
+\stoptypescript
-%D We cannot be too clever here since loading the mapfile is
-%D a time sensitive operation. Better to load a couple more
-%D then to run into problems.
+% This is the base map file, load it to be sure.
-\starttypescript [map] [all]
+\starttypescript [map] [all] [ec,8r,texnansi]
+ \loadmapfile[original-base.map]
+ \loadmapfile[\typescriptthree-base.map]
+\stoptypescript
+
+% if we were in full control, we could have
+%
+% \starttypescript [berry] [ec]
+% \loadmapfile[ec-base.map]
+% \stoptypescript
+
+% cmr and related
+
+\starttypescript [all] [cmr]
\loadmapfile[original-ams-cmr.map]
\loadmapfile[original-ams-euler.map]
\stoptypescript
-\starttypescript [map] [lm]
- \loadmapfile[original-ams-lmr.map]
+\starttypescript [all] [il2,csr]
+ \loadmapfile[original-public-csr.map]
\stoptypescript
-\starttypescript [map] [il2]
- \loadmapfile[il2-ams-cmr.map]
+\starttypescript [all] [pl0,plr]
+ \loadmapfile[original-public-plr.map]
\stoptypescript
-\starttypescript [map] [pl0]
- \loadmapfile[pl0-ams-cmr.map]
+\starttypescript [all] [lm,lmr]
+ \loadmapfile[original-public-lm.map]
\stoptypescript
-% beware, this one will not handle \usetypescript [map] [x,y]
-%
-% \starttypescript [map] [ec,texnansi,8r]
-% \loadmapfile[\typescripttwo-urw-times.map]
-% \loadmapfile[\typescripttwo-urw-helvetica.map]
-% \stoptypescript
+% latin modern
-\starttypescript [map] [8r]
- \loadmapfile[8r-adobe-utopia.map]
- \loadmapfile[8r-bitstrea-charter.map]
- \loadmapfile[8r-public-antp.map]
- \loadmapfile[8r-public-antt.map]
- \loadmapfile[8r-urw-bookman.map]
- \loadmapfile[8r-urw-courier.map]
- \loadmapfile[8r-urw-helvetica.map]
- \loadmapfile[8r-urw-palatino.map]
- \loadmapfile[8r-urw-times.map]
- \loadmapfile[8r-urw-zapfchan.map]
- \loadmapfile[8r-urw-ncntrsbk.map]
-\stoptypescript
-
-\starttypescript [map] [ec]
- \loadmapfile[ec-adobe-utopia.map]
- \loadmapfile[ec-bitstrea-charter.map]
- \loadmapfile[ec-public-antp.map]
- \loadmapfile[ec-public-antt.map]
- \loadmapfile[ec-urw-bookman.map]
- \loadmapfile[ec-urw-courier.map]
- \loadmapfile[ec-urw-helvetica.map]
- \loadmapfile[ec-urw-palatino.map]
- \loadmapfile[ec-urw-times.map]
- \loadmapfile[ec-urw-zapfchan.map]
- \loadmapfile[ec-urw-ncntrsbk.map]
-\stoptypescript
-
-\starttypescript [map] [texnansi]
- \loadmapfile[texnansi-adobe-utopia.map]
- \loadmapfile[texnansi-bitstrea-charter.map]
- \loadmapfile[texnansi-public-antp.map]
- \loadmapfile[texnansi-public-antt.map]
- \loadmapfile[texnansi-urw-bookman.map]
- \loadmapfile[texnansi-urw-courier.map]
- \loadmapfile[texnansi-urw-helvetica.map]
- \loadmapfile[texnansi-urw-palatino.map]
- \loadmapfile[texnansi-urw-times.map]
- \loadmapfile[texnansi-urw-zapfchan.map]
- \loadmapfile[texnansi-urw-ncntrsbk.map]
-\stoptypescript
-
-\starttypescript [map] [ec,texnansi,8r]
- \loadmapfile[original-youngryu-px.map]
- \loadmapfile[original-youngryu-tx.map]
+\starttypescript [all] [latin-modern] [ec,texnansi,qx]
+ \loadmapfile[\typescriptthree-public-lm.map]
\stoptypescript
-% to do
+\starttypescript [var] [latin-modern] [ec,texnansi,qx]
+ \loadmapfile[\typescriptthree-var-exclusive-public-lm.map]
+\stoptypescript
-\starttypescript [map] [default]
- \loadmapfile[original-micropress-informal.map]
+% the next applies to texfont generated metrics
+
+\starttypescript [all] [utopia] [ec,8r,texnansi]
+ \loadmapfile[\typescriptthree-adobe-utopia.map]
\stoptypescript
-\starttypescript [map] [texnansi]
- \loadmapfile[texnansi-bh-lucida.map]
+\starttypescript [all] [charter] [ec,8r,texnansi]
+ \loadmapfile[\typescriptthree-bitstrea-charter.map]
\stoptypescript
-\starttypescript [map] [ec]
- \loadmapfile[ec-bh-lucida.map]
- % this may change to original-*.map
- \loadmapfile[fourier.map]
- \loadmapfile[fourier-utopia-expert.map]
+\starttypescript [all] [antykwa-torunska] [ec,8r,texnansi]
+ \loadmapfile[\typescriptthree-public-antt.map]
+\stoptypescript
+
+\starttypescript [all] [antykwa-poltawskiego] [ec,8r,texnansi]
+ \loadmapfile[\typescriptthree-public-antp.map]
+\stoptypescript
+
+\starttypescript [all] [bookman] [ec,8r,texnansi]
+ \loadmapfile[\typescriptthree-urw-bookman.map]
\stoptypescript
-\starttypescript [map] [8r]
- \loadmapfile[8r-bh-lucida.map]
+\starttypescript [all] [courier] [ec,8r,texnansi]
+ \loadmapfile[\typescriptthree-urw-courier.map]
\stoptypescript
-%\starttypescript [math] [helvetica] [all]
-% \loadmapfile[original-micropress-helvetica.map]
-%\stoptypescript
+\starttypescript [all] [helvetica] [ec,8r,texnansi]
+ \loadmapfile[\typescriptthree-urw-helvetica.map]
+\stoptypescript
+
+\starttypescript [all] [palatino] [ec,8r,texnansi]
+ \loadmapfile[\typescriptthree-urw-palatino.map]
+\stoptypescript
+
+\starttypescript [all] [times] [ec,8r,texnansi]
+ \loadmapfile[\typescriptthree-urw-times.map]
+\stoptypescript
+
+\starttypescript [all] [chancery] [ec,8r,texnansi]
+ \loadmapfile[\typescriptthree-urw-zapfchan.map]
+\stoptypescript
+
+\starttypescript [all] [schoolbook] [ec,8r,texnansi]
+ \loadmapfile[\typescriptthree-urw-ncntrsbk.map]
+\stoptypescript
+
+% once i can be sure that the map files are in the tree, i will
+% use those instead of original (too many variants anyway)
+
+\starttypescript [all] [palatino] [default,ec,texnansi,8r]
+ \loadmapfile[original-youngryu-px.map]
+\stoptypescript
+
+\starttypescript [all] [times] [default,ec,texnansi,8r]
+ \loadmapfile[original-youngryu-tx.map]
+\stoptypescript
+
+% to do: maybe original, maybe not
+
+\starttypescript [all] [fourier] [ec]
+ \loadmapfile[fourier.map]
+ \loadmapfile[fourier-utopia-expert.map]
+\stoptypescript
\endinput \ No newline at end of file
diff --git a/tex/context/base/type-syn.tex b/tex/context/base/type-syn.tex
index ca05e6827..d8a7d458a 100644
--- a/tex/context/base/type-syn.tex
+++ b/tex/context/base/type-syn.tex
@@ -111,100 +111,6 @@
\definefontsynonym [MathBeta] [AMS-SymbolB]
\stoptypescript
-% Lucida Bright : Biggelow and Holmes
-
-\starttypescript [serif] [lucida] [name]
- \definefontsynonym [Serif] [LucidaBright]
- \definefontsynonym [SerifBold] [LucidaBright-Demi]
- \definefontsynonym [SerifItalic] [LucidaBright-Italic]
- \definefontsynonym [SerifSlanted] [LucidaBright-Oblique]
- \definefontsynonym [SerifBoldItalic] [LucidaBright-DemiItalic]
- \definefontsynonym [SerifBoldSlanted] [LucidaBright-DemiItalic]
- \definefontsynonym [SerifCaps] [LucidaBrightSmallcaps]
- \definefontsynonym [OldStyle] [MathItalic]
-\stoptypescript
-
-\starttypescript [sans] [lucida] [name]
- \definefontsynonym [Sans] [LucidaSans]
- \definefontsynonym [SansBold] [LucidaSans-Demi]
- \definefontsynonym [SansItalic] [LucidaSans-Italic]
- \definefontsynonym [SansSlanted] [LucidaSans-Italic]
- \definefontsynonym [SansBoldItalic] [LucidaSans-DemiItalic]
- \definefontsynonym [SansBoldSlanted] [LucidaSans-DemiItalic]
- \definefontsynonym [SansCaps] [LucidaSans]
-\stoptypescript
-
-\starttypescript [mono] [lucida] [name]
- \definefontsynonym [Mono] [LucidaSans-Typewriter]
- \definefontsynonym [MonoBold] [LucidaSans-TypewriterBold]
- \definefontsynonym [MonoItalic] [LucidaSans-TypewriterOblique]
- \definefontsynonym [MonoSlanted] [LucidaSans-TypewriterOblique]
- \definefontsynonym [MonoBoldItalic] [LucidaSans-TypewriterBoldOblique]
- \definefontsynonym [MonoBoldSlanted] [LucidaSans-TypewriterBoldOblique]
- \definefontsynonym [MonoCaps] [LucidaSans-Typewriter]
-\stoptypescript
-
-\starttypescript [math] [lucida] [name]
- \definefontsynonym [MathRoman] [LucidaBright]
- \definefontsynonym [MathExtension] [LucidaNewMath-Extension]
- \definefontsynonym [MathItalic] [LucidaNewMath-AltItalic]
- \definefontsynonym [MathSymbol] [LucidaNewMath-Symbol]
- \definefontsynonym [MathAlpha] [LucidaNewMath-Arrows]
- \definefontsynonym [MathBeta] [LucidaNewMath-Roman]
-\stoptypescript
-
- \definefontsynonym [LucidaNewMath-AltDemiItalic] [lbmdo]
- \definefontsynonym [LucidaNewMath-Arrows-Demi] [lbmad]
- \definefontsynonym [LucidaNewMath-Extension] [lbme]
- \definefontsynonym [LucidaNewMath-Demibold] [lbmd]
- \definefontsynonym [LucidaNewMath-DemiItalic] [lbmdi]
- \definefontsynonym [LucidaNewMath-Symbol-Demi] [lbmsd]
-
-\starttypescript [boldmath] [lucida] [name]
- \definefontsynonym [MathRoman] [LucidaBright-Demi]
- \definefontsynonym [MathExtension] [LucidaNewMath-Extension]
- \definefontsynonym [MathItalic] [LucidaNewMath-AltDemiItalic]
- \definefontsynonym [MathSymbol] [LucidaNewMath-Symbol-Demi]
- \definefontsynonym [MathAlpha] [LucidaNewMath-Arrows-Demi]
- \definefontsynonym [MathBeta] [LucidaNewMath-DemiBold]
-\stoptypescript
-
-\starttypescript [bfmath] [lucida] [name]
- \definefontsynonym [MathRomanBold] [LucidaNewMath-Demibold]
- \definefontsynonym [MathExtensionBold] [LucidaNewMath-Extension]
- \definefontsynonym [MathItalicBold] [LucidaNewMath-AltDemiItalic]
- \definefontsynonym [MathSymbolBold] [LucidaNewMath-Symbol-Demi]
- \definefontsynonym [MathAlphaBold] [LucidaNewMath-Arrows-Demi]
- \definefontsynonym [MathBetaBold] [LucidaNewMath-DemiBold] % ??
-\stoptypescript
-
-\starttypescript [handwriting] [lucida] [name]
- \definefontsynonym [Handwriting] [LucidaHandwriting-Italic]
-\stoptypescript
-
-\starttypescript [calligraphy] [lucida] [name]
- \definefontsynonym [Calligraphy] [LucidaCalligraphy-Italic]
-\stoptypescript
-
-% Informal : Vulis
-
-\starttypescript [casual] [informal] [name]
- \definefontsynonym [Serif] [Informal-Regular]
- \definefontsynonym [SerifBold] [Informal-Bold]
- \definefontsynonym [SerifSlanted] [Informal-Oblique]
- \definefontsynonym [SerifItalic] [Informal-Oblique]
- \definefontsynonym [SerifBoldSlanted] [Informal-BoldOblique]
- \definefontsynonym [SerifBoldItalic] [Informal-BoldOblique]
- \definefontsynonym [SerifCaps] [Informal-Regular]
-\stoptypescript
-
-\starttypescript [math] [informal] [name]
- \definefontsynonym [MathRoman] [Informal-Regular]
- \definefontsynonym [MathExtension] [Informal-MathExtendedSymbols]
- \definefontsynonym [MathItalic] [Informal-MathItalics]
- \definefontsynonym [MathSymbol] [Informal-MathSymbols]
-\stoptypescript
-
% Antykwa Torunska :
\starttypescript [serif] [antykwa-torunska] [name]
@@ -269,7 +175,7 @@
\definefontsynonym [Calligraphy] [Chancery]
\stoptypescript
-% schoolbook :
+% Schoolbook :
\starttypescript [serif] [schoolbook] [name]
\definefontsynonym [Serif] [Schoolbook-Roman]
diff --git a/tex/context/base/unic-000.tex b/tex/context/base/unic-000.tex
index 329dc4e6c..047814cb8 100644
--- a/tex/context/base/unic-000.tex
+++ b/tex/context/base/unic-000.tex
@@ -121,102 +121,102 @@
\startunicodevector 0
\expandafter\strippedcsname
\ifcase\numexpr(#1-159)!\@@unknownchar\or
- \unknownchar \or % NO-BREAK SPACE
- \exclamdown \or
- \textcent \or
- \textsterling \or
- \textcurrency \or
- \textyen \or
- \textbrokenbar \or
- \sectionmark \or
- \textdiaeresis \or
- \copyright \or
- \ordfeminine \or % FEMININE ORDINAL INDICATOR
- \unknownchar \or % LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- \textlognot \or
- \softhyphen \or
- \registered \or
- \textmacron \or
- \textdegree \or
- \textpm \or
- \unknownchar \or % SUPERSCRIPT TWO
- \unknownchar \or % SUPERSCRIPT THREE
- \textacute \or
- \unknownchar \or % MICRO SIGN
- \unknownchar \or % PILCROW SIGN
- \unknownchar \or % MIDDLE DOT
- \textcedilla \or
- \unknownchar \or % SUPERSCRIPT ONE
- \ordmasculine \or % MASCULINE ORDINAL INDICATOR
- \unknownchar \or % RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- \unknownchar \or % VULGAR FRACTION ONE QUARTER
- \unknownchar \or % VULGAR FRACTION ONE HALF
- \unknownchar \or % VULGAR FRACTION THREE QUARTERS
- \questiondown \or
- \Agrave \or
- \Aacute \or
- \Acircumflex \or
- \Atilde \or
- \Adiaeresis \or
- \Aring \or
- \AEligature \or
- \Ccedilla \or
- \Egrave \or
- \Eacute \or
- \Ecircumflex \or
- \Ediaeresis \or
- \Igrave \or
- \Iacute \or
- \Icircumflex \or
- \Idiaeresis \or
- \unknownchar \or % \Eth \or
- \Ntilde \or
- \Ograve \or
- \Oacute \or
- \Ocircumflex \or
- \Otilde \or
- \Odiaeresis \or
- \unknownchar \or
- \Ostroke \or
- \Ugrave \or
- \Uacute \or
- \Ucircumflex \or
- \Udiaeresis \or
- \Yacute \or
- \Thorn \or
- \ssharp \or
- \agrave \or
- \aacute \or
- \acircumflex \or
- \atilde \or
- \adiaeresis \or
- \aring \or
- \aeligature \or
- \ccedilla \or
- \egrave \or
- \eacute \or
- \ecircumflex \or
- \ediaeresis \or
- \igrave \or
- \iacute \or
- \icircumflex \or
- \idiaeresis \or
- \unknownchar \or % \eth \or
- \ntilde \or
- \ograve \or
- \oacute \or
- \ocircumflex \or
- \ohungarumlaut \or
- \odiaeresis \or
- \unknownchar \or
- \ostroke \or
- \ugrave \or
- \uacute \or
- \ucircumflex \or
- \udiaeresis \or
- \yacute \or
- \thorn \or
- \ydiaeresis \else
+ \nonbreakablespace \or
+ \exclamdown \or
+ \textcent \or
+ \textsterling \or
+ \textcurrency \or
+ \textyen \or
+ \textbrokenbar \or
+ \sectionmark \or
+ \textdiaeresis \or
+ \copyright \or
+ \ordfeminine \or % FEMININE ORDINAL INDICATOR
+ \unknownchar \or % LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ \textlognot \or
+ \softhyphen \or
+ \registered \or
+ \textmacron \or
+ \textdegree \or
+ \textpm \or
+ \twosuperior \or
+ \threesuperior \or
+ \textacute \or
+ \unknownchar \or % MICRO SIGN
+ \unknownchar \or % PILCROW SIGN
+ \periodcentered \or
+ \textcedilla \or
+ \onesuperior \or
+ \ordmasculine \or % MASCULINE ORDINAL INDICATOR
+ \unknownchar \or % RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ \onequarter \or
+ \onehalf \or
+ \threequarter \or
+ \questiondown \or
+ \Agrave \or
+ \Aacute \or
+ \Acircumflex \or
+ \Atilde \or
+ \Adiaeresis \or
+ \Aring \or
+ \AEligature \or
+ \Ccedilla \or
+ \Egrave \or
+ \Eacute \or
+ \Ecircumflex \or
+ \Ediaeresis \or
+ \Igrave \or
+ \Iacute \or
+ \Icircumflex \or
+ \Idiaeresis \or
+ \unknownchar \or % \Eth \or
+ \Ntilde \or
+ \Ograve \or
+ \Oacute \or
+ \Ocircumflex \or
+ \Otilde \or
+ \Odiaeresis \or
+ \unknownchar \or
+ \Ostroke \or
+ \Ugrave \or
+ \Uacute \or
+ \Ucircumflex \or
+ \Udiaeresis \or
+ \Yacute \or
+ \Thorn \or
+ \ssharp \or
+ \agrave \or
+ \aacute \or
+ \acircumflex \or
+ \atilde \or
+ \adiaeresis \or
+ \aring \or
+ \aeligature \or
+ \ccedilla \or
+ \egrave \or
+ \eacute \or
+ \ecircumflex \or
+ \ediaeresis \or
+ \igrave \or
+ \iacute \or
+ \icircumflex \or
+ \idiaeresis \or
+ \unknownchar \or % \eth \or
+ \ntilde \or
+ \ograve \or
+ \oacute \or
+ \ocircumflex \or
+ \ohungarumlaut \or
+ \odiaeresis \or
+ \unknownchar \or
+ \ostroke \or
+ \ugrave \or
+ \uacute \or
+ \ucircumflex \or
+ \udiaeresis \or
+ \yacute \or
+ \thorn \or
+ \ydiaeresis \else
\unknownchar
\fi
\stopunicodevector
diff --git a/tex/context/base/verb-ini.tex b/tex/context/base/verb-ini.tex
index 029964154..617a9314e 100644
--- a/tex/context/base/verb-ini.tex
+++ b/tex/context/base/verb-ini.tex
@@ -8,11 +8,11 @@
%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.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
-%D Today I would implement the pretty handler slightly
-%D different, using stack and intermediate flushing. Maybe
+%D Today I would implement the pretty handler slightly
+%D different, using stack and intermediate flushing. Maybe
%D even without active chars. So, someday \unknown
%D Because this module is quite independant of system macros,
@@ -25,8 +25,8 @@
%D lines of verbatim blocks are kept together. The second
%D adaption is due to the fact that I wanted to support pretty
%D printing not only for \TEX\ sources, but also for \PERL,
-%D \METAPOST\ and probably more. The \JAVASCRIPT\ module is
-%D closely related to \PERL, so we will not mention that one
+%D \METAPOST\ and probably more. The \JAVASCRIPT\ module is
+%D closely related to \PERL, so we will not mention that one
%D again.
\ifx \undefined \writestatus \input supp-mis.tex \fi
@@ -112,7 +112,7 @@
\def\obeyedpage {\vfill\eject}
%D Because we will introduce a status variable, we can define
-%D a better \type {\obeyedspace}.
+%D a better \type {\obeyedspace}.
\def\obeyedspace {\ifprocessingverbatim\hbox{ }\else\space\fi}
@@ -143,7 +143,7 @@
\catcode`\^^L=\@@active \def^^L{\par}
-%D The following indirect definitions enable us to implement
+%D The following indirect definitions enable us to implement
%D all kind of \type{\obeyed} handlers.
\bgroup
@@ -161,11 +161,11 @@
\gdef\ignorepages {\catcode`\^^L=\@@ignore} % \@@active\def^^L{\obeyedline}}
\gdef\ignoreeofs {\catcode`\^^Z=\@@ignore}
-%D For testing (see digit parser) we need an indirect macro
+%D For testing (see digit parser) we need an indirect macro
%D in order to compare the next (\type {\next}) token
-%D (possibly \type {^^M}) being \type {\obeyedline}.
+%D (possibly \type {^^M}) being \type {\obeyedline}.
-\gdef\nextobeyedline{\obeyedline}
+\gdef\nextobeyedline{\obeyedline}
\egroup
@@ -199,14 +199,14 @@
%D \macros
%D {processingverbatim}
-%D
+%D
%D Typesetting a file in most cases results in more than one
%D page. Because we don't want problems with files that are
%D read in during the construction of the page, we set \type
%D {\ifprocessingverbatim}, so the output routine can adapt
%D its behavior. Originally we used \type {\scratchread}, but
%D because we want to support nesting, we decided to use a
-%D separate input file.
+%D separate input file.
\newif\ifprocessingverbatim
@@ -247,11 +247,11 @@
\def\setverbatimspaceskip
{\setbox\scratchbox\hbox{x}%
- \spaceskip\wd\scratchbox
+ \spaceskip\wd\scratchbox
\xspaceskip\spaceskip}
\def\setupinlineverbatim
- {\verbatimfont
+ {\verbatimfont
\setverbatimspaceskip
\let\obeytabs\ignoretabs
\let\obeylines\ignorelines
@@ -336,11 +336,11 @@
%D
%D \egroup
%D
-%D The long ones are \type{\nobreaks} and the short ones
+%D The long ones are \type{\nobreaks} and the short ones
%D \type{\goodbreaks}. And this is how it's done:
\def\doverbatimnobreak
- {\ifoptimizeverbatim\penalty500\fi}
+ {\ifoptimizeverbatim\penalty500\fi}
\def\doverbatimgoodbreak
{\ifoptimizeverbatim\penalty\linepenalty\fi}
@@ -357,8 +357,8 @@
% \else
% \global\chardef\verbatimstatus=1
% \fi}
-%
-% more efficient
+%
+% more efficient
\global\chardef\verbatimstatus0
@@ -464,7 +464,7 @@
\escapechar=-1
\xdef\verbatimname{\string#1}%
\egroup
- \def\endofdisplayverbatim{\csname\verbatimname\endcsname}%
+ \def\endofdisplayverbatim{\csname\verbatimname\endcsname}%
\bgroup
\parindent\zeropoint
\ifdim\lastskip<\parskip
@@ -477,9 +477,9 @@
\expandafter\let\csname\verbatimname\endcsname\relax
\edef\endofverbatimcommand{\csname\verbatimname\endcsname}%
\edef\endofverbatimcommand{\meaning\endofverbatimcommand}%
- \verbatimfont
+ \verbatimfont
\setverbatimspaceskip
- \global\linepartrue % needed for paragraph numbering
+ \global\linepartrue % needed for paragraph numbering
\setupcopyverbatim
\initializeverbatimline
\copyverbatimline}
@@ -523,7 +523,7 @@
%D characters with special meanings. This macro is not used
%D in the verbatim macros, but is best defined in this module.
-\def\doprocesscatcodes#1% using a toks does not speed this up
+\def\doprocesscatcodes#1% using a toks does not speed this up
{\scratchcounter\ifeightbitcharacters 255\else 127\fi\relax
\loop
\savecatcode
@@ -550,10 +550,10 @@
\def\setcatcodes#1%
{\doprocesscatcodes{\catcode\scratchcounter=#1}}
-\def\uncatcodeallcharacters % slow one, with restore
+\def\uncatcodeallcharacters % slow one, with restore
{\setcatcodes\@@letter}
-\def\uncatcodecharacters % quick one
+\def\uncatcodecharacters % quick one
{\setnaturalcatcodes}
\newtoks\everycommoncatcodes
@@ -563,25 +563,25 @@
\def\setcommoncatcodes
{\catcode`\!\@@other \catcode`\?\@@other \catcode`\@\@@other
\catcode`\=\@@other \catcode`\<\@@other \catcode`\>\@@other
- \catcode`\*\@@other \catcode`\/\@@other
+ \catcode`\*\@@other \catcode`\/\@@other
\catcode`\-\@@other \catcode`\+\@@other
\catcode`\:\@@other \catcode`\;\@@other
- \catcode`\.\@@other \catcode`\,\@@other
+ \catcode`\.\@@other \catcode`\,\@@other
\catcode`\'\@@other \catcode`\"\@@other \catcode`\`\@@other
\catcode`\(\@@other \catcode`\)\@@other
\the\everycommoncatcodes}
-\def\setnaturalcatcodes % see elsewhere, merge 'm
+\def\setnaturalcatcodes % see elsewhere, merge 'm
{\setcommoncatcodes
\uncatcodespacetokens
- \catcode`\#\@@other
- \catcode`\$\@@other
- \catcode`\%\@@other
- \catcode`\&\@@other
- \catcode`\\\@@other
- \catcode`\^\@@other
+ \catcode`\#\@@other
+ \catcode`\$\@@other
+ \catcode`\%\@@other
+ \catcode`\&\@@other
+ \catcode`\\\@@other
+ \catcode`\^\@@other
\catcode`\_\@@other
- \catcode`\{\@@other
+ \catcode`\{\@@other
\catcode`\|\@@other
\catcode`\}\@@other
\catcode`\~\@@other
@@ -590,16 +590,16 @@
\def\setnormalcatcodes
{\setcommoncatcodes
\uncatcodespacetokens
- \catcode`\#\@@parameter
- \catcode`\$\@@mathshift
+ \catcode`\#\@@parameter
+ \catcode`\$\@@mathshift
\catcode`\%\@@comment
- \catcode`\&\@@alignment
- \catcode`\\\@@escape
- \catcode`\^\@@superscript
- \catcode`\_\@@subscript
- \catcode`\{\@@begingroup
- \catcode`\|\@@active
- \catcode`\}\@@endgroup
+ \catcode`\&\@@alignment
+ \catcode`\\\@@escape
+ \catcode`\^\@@superscript
+ \catcode`\_\@@subscript
+ \catcode`\{\@@begingroup
+ \catcode`\|\@@active
+ \catcode`\}\@@endgroup
\catcode`\~\@@active
\the\everynormalcatcodes}
@@ -642,9 +642,9 @@
\saverestoreactivecatcode
{\@EA\let\@EA~\csname\@@aa@@\the\scratchcounter\endcsname}}
-%D Especially when we enable pretty printing, we need to
-%D restore the meaning of active characters too. Just think of
-%D using \type{||} in headers and footers.
+%D Especially when we enable pretty printing, we need to
+%D restore the meaning of active characters too. Just think of
+%D using \type{||} in headers and footers.
\def\saverestoreactivecatcode#1%
{\edef\saveduccode{\the\uccode`~}%
@@ -678,18 +678,18 @@
\let\endrestorecatcodes \egroup
\fi}
-%D \macros
+%D \macros
%D {makeallother}
%D
-%D With \type {\makeallother} each character ($>0$) gets the
-%D category code 12.
+%D With \type {\makeallother} each character ($>0$) gets the
+%D category code 12.
%D
-%D The next alternative was okay when memory was still low.
+%D The next alternative was okay when memory was still low.
%D
%D \starttypen
%D \def\makeallother%
%D {\dorecurse{255}{\catcode\recurselevel=\@@other}}
-%D \stoptypen
+%D \stoptypen
%D
%D Today we prebuild a token list:
@@ -702,7 +702,7 @@
\def\makeallother{\the\makeallothertoks}
-\fi
+\fi
%D The main copying routine of display verbatim does an
%D ordinary string||compare on the saved closing command and
@@ -761,7 +761,7 @@
\let\endverbatimline \relax
\long\def\dodoverbatimline#1% we don't want to group
- {\bgroup % due to pretty status
+ {\bgroup % due to pretty status
\iflinepar\else\EveryPar{}\fi
\leavevmode
\xdef\dokeepverbatimlinedata
@@ -783,10 +783,10 @@
%D \macros
%D {flushrestofverbatimline}
%D
-%D Some pretty drivers will collect tokens for the sake of
-%D testing on keywords. This collected string needs to be
+%D Some pretty drivers will collect tokens for the sake of
+%D testing on keywords. This collected string needs to be
%D flushed. The \type {\relax} can serve as signal that there
-%D is nothing more to be interpreted.
+%D is nothing more to be interpreted.
\let\flushrestofverbatimline\empty
@@ -874,20 +874,20 @@
\advance\scratchcounter \plusone
\@EA\doprocesstabskip
\else\ifnum\scratchcounter>\spacespertab
- % nothing
+ % nothing
\else
\advance\scratchcounter \plusone
\@EAEAEA\doprocesstabskip
\fi\fi}
-\let\endoftabskipping=\relax % will become obsolete
+\let\endoftabskipping=\relax % will become obsolete
% \def\doprocesstabskipline#1%
% {\bgroup
% \scratchcounter1
% \dodoprocesstabskipline#1\relax\endoftabskipping
% \egroup}
-%
+%
% \def\dodoprocesstabskipline#1#2\endoftabskipping
% {\ifnum\scratchcounter>\spacespertab
% \scratchcounter\plusone
@@ -906,7 +906,7 @@
\def\doprocesstabskipline#1%
{\bgroup
\scratchcounter\plusone
- \dodoprocesstabskipline#1\relax
+ \dodoprocesstabskipline#1\relax
\egroup}
\def\dodoprocesstabskipline#1%
@@ -915,28 +915,28 @@
\fi \scratchcounter \plusone
\ifx#1\relax \else
\ifcase\tabskipmode
- % can't happen
- \or
- % go on
+ % can't happen
+ \or
+ % go on
\else\ifnum`#1<128
- % ok, no special character
+ % ok, no special character
\else\ifnum\catcode`#1=\active
- % quits parsing, else utf lookahead problems
+ % quits parsing, else utf lookahead problems
\chardef\tabskipmode\zerocount
\fi\fi\fi
- \ifcase\tabskipmode
+ \ifcase\tabskipmode
\@EAEAEA#1%
\else
\@EAEAEA#1\@EAEAEA\dodoprocesstabskipline
\fi
\fi}
-
-% ^ will be replaced
+
+% ^ will be replaced
\chardef\tabskipmode=1 % 0=quit 1=no test 2=test on active>128
%
-
+
\def\processverbatimline#1{#1} % remove the fake grouping
%D \macros
@@ -966,7 +966,7 @@
\processingverbatimtrue
\global\verbatimlinenumber0
\global\linepartrue
- \beginofverbatimlines
+ \beginofverbatimlines
\bgroup
\parindent\zeropoint
\ifdim\lastskip<\parskip
@@ -975,7 +975,7 @@
\fi
\parskip\zeropoint
\uncatcodecharacters
- \verbatimfont
+ \verbatimfont
\setverbatimspaceskip
\frenchspacing
\obeyspaces
@@ -984,13 +984,13 @@
\obeypages
\obeycharacters
\ignoreeofs
- \catcode`\^^M=\@@ignore % \par is already taken care of
+ \catcode`\^^M=\@@ignore % \par is already taken care of
\openin\verbatiminput=#1\relax
\skipfirstverbatimlinefalse
\initializeverbatimline
\def\readline%
{\ifeof\verbatiminput \else
- \ifx\firstverbatimfileline\empty
+ \ifx\firstverbatimfileline\empty
\global\advance\verbatimlinenumber\plusone
\read\verbatiminput to \verbatimline
\else
@@ -999,12 +999,12 @@
\fi
\fi
\ifeof\verbatiminput
- \ifx\lastverbatimfileline\empty
+ \ifx\lastverbatimfileline\empty
\presetlastverbatimline
\let\readline\relax
- \else % we will re-enter the \ifeof branch twice
+ \else % we will re-enter the \ifeof branch twice
\presetnormalverbatimline
- \def\readline%
+ \def\readline%
{\let\verbatimline\lastverbatimfileline
\let\lastverbatimfileline\empty}%
\fi
@@ -1024,11 +1024,11 @@
\fi
\closein\verbatiminput
\egroup
- \endofverbatimlines
+ \endofverbatimlines
\egroup
\ignorespaces}
-%D Something new:
+%D Something new:
\def\processfilelinesverbatim#1#2#3%
{\bgroup
@@ -1046,21 +1046,21 @@
\processfileverbatim{#1}%
\egroup}
-%D \macros
+%D \macros
%D {firstverbatimfileline, lastverbatimfileline}
%D
-%D The following two macros can be set to achieve special
+%D The following two macros can be set to achieve special
%D effects, like:
%D
%D \starttypen
%D \convertargument\StartFake{something}\to\firstverbatimfileline
%D \convertargument\StopFake\to\firstverbatimfileline
-%D \stoptypen
+%D \stoptypen
%D
-%D These hooks were needed for typesetting flowchart
-%D definitions verbatim, since the temporary files does not
-%D have the start and stop commands embedded.
-
+%D These hooks were needed for typesetting flowchart
+%D definitions verbatim, since the temporary files does not
+%D have the start and stop commands embedded.
+
\let\firstverbatimfileline\empty
\let\lastverbatimfileline \empty
@@ -1081,7 +1081,7 @@
%D character(s) without much expansion problems and/or
%D increasing run time.
-%D By the way, \TEX\ defines \type{\+} as an outer macro, so we
+%D By the way, \TEX\ defines \type{\+} as an outer macro, so we
%D have to redefine this one to keep ourselves out of complaints.
\def\+{\tabalign}
@@ -1239,10 +1239,10 @@
%D
%D \typebuffer
%D
-%D along with:
-%D
+%D along with:
+%D
%D \typebuffer[pretty]
-%D
+%D
%D When needed, one can use grouping.
%D
%D \startbuffer
@@ -1254,7 +1254,7 @@
%D
%D \typebuffer
%D
-%D Here we tell the visualizer that the \type +{+ should be
+%D Here we tell the visualizer that the \type +{+ should be
%D treated like a \type +[+ so we get:
%D
%D {\newprettytrue\typebuffer}
@@ -1282,7 +1282,7 @@
%D {\newprettytrue\typebuffer}
%D
%D \egroup
-%D
+%D
%D Don't forget to set:
\newif\ifnewpretty
@@ -1309,12 +1309,12 @@
\installnewpretty P \setupprettyPLtype
\installnewpretty T \setupprettyTEXtype
-%D \macros
+%D \macros
%D {ifnaturaltextext}
%D
-%D When one uses \ETEX, switching to normal \TEX\ is possible
-%D too. We also introduce a switch that can be used in the
-%D drivers and set in higher level shell macros.
+%D When one uses \ETEX, switching to normal \TEX\ is possible
+%D too. We also introduce a switch that can be used in the
+%D drivers and set in higher level shell macros.
\newif\ifnaturaltextext
@@ -1339,20 +1339,20 @@
\installnewpretty N \naturaltextext
-%D When seen in action this gives:
-%D
+%D When seen in action this gives:
+%D
%D \startbuffer
%D \startTEX
%D \def\mathematics#1% %%\ N usage: \type {\mathematics{x^2}}
%D {\ifmmode#1\else$#1$\fi} %%\ N becomes: \mathematics{X^2}
%D \stopTEX
%D \stopbuffer
-%D
-%D \haalbuffer
-%D
-%D This is keyed in as:
-%D
-%D \typebuffer
+%D
+%D \haalbuffer
+%D
+%D This is keyed in as:
+%D
+%D \typebuffer
%D This means that when the interpreter modules support this
%D mechanism, by default we have some keys already available.
@@ -1401,7 +1401,7 @@
%D main reason for this is that in \JAVA\ we have to deal with
%D \type{//}. Personally I prefer the double \type{%%} because
%D is stands out and is more symmetrical with the double
-%D slash.
+%D slash.
\bgroup
\catcode`\|=\@@escape
@@ -1504,12 +1504,12 @@
\def\doifprettyidentifierelse#1%
{\doifincsnameelse{\space#1\space}}
-%D \macros
+%D \macros
%D {prettyidentifierfont,prettyvariablefont,prettynaturalfont}
%D
-%D When one want to typeset identifiers and system variables
-%D in a different typeface, one has to set the next two
-%D variables.
+%D When one want to typeset identifiers and system variables
+%D in a different typeface, one has to set the next two
+%D variables.
\let\prettyidentifierfont=\relax
\let\prettyvariablefont =\relax
@@ -1538,14 +1538,14 @@
%D
%D Although for pretty printing \PERL\ and \JAVASCRIPT\ code
%D one has to implement a bit more clever mechanism, the next
-%D switches can be used to turn off pretty printing. The
-%D boolean turns on this feature.
+%D switches can be used to turn off pretty printing. The
+%D boolean turns on this feature.
\newif\ifdisablepretty \disableprettyfalse
\newif\ifprettydisabled \prettydisabledfalse
\def\disableprettynow
- {\ifdisablepretty\ifprettydisabled\else
+ {\ifdisablepretty\ifprettydisabled\else
\let\prettyidentifierfont\relax
\let\prettyvariablefont\relax
\let\prettycomment\relax
@@ -1562,20 +1562,20 @@
\def\enableprettynow
{\prettydisabledfalse
\let\prettyidentifierfont\normalprettyidentifierfont
- \let\prettyvariablefont \normalprettyvariablefont
- \let\prettynaturalfont \normalprettynaturalfont
+ \let\prettyvariablefont \normalprettyvariablefont
+ \let\prettynaturalfont \normalprettynaturalfont
\let\beginofpretty \normalbeginofpretty
\let\endofpretty \normalendofpretty}
-%D This feature is hooked into the verbatim line handling
+%D This feature is hooked into the verbatim line handling
%D routine with:
\def\beginverbatimline
{\prettydisabledfalse
- \ifnewpretty\else\let\handlenewpretty\empty\fi % moved
+ \ifnewpretty\else\let\handlenewpretty\empty\fi % moved
\let\normalprettyidentifierfont\prettyidentifierfont
- \let\normalprettyvariablefont \prettyvariablefont
- \let\normalprettynaturalfont \prettynaturalfont
+ \let\normalprettyvariablefont \prettyvariablefont
+ \let\normalprettynaturalfont \prettynaturalfont
\let\normalbeginofpretty \beginofpretty
\let\normalendofpretty \endofpretty}
@@ -1614,11 +1614,11 @@
%D
%D Here is the implementation:
-\newif\ifcontrolspace
-\newif\ifverbatimtabs
-\newif\ifprettyverbatim
+\newif\ifcontrolspace
+\newif\ifverbatimtabs
+\newif\ifprettyverbatim
-\ifCONTEXT \else
+\ifCONTEXT \else
\def\presettyping
{\ifcontrolspace \let\obeyspace \setcontrolspace \fi
@@ -1901,7 +1901,7 @@
%D macros, which of course are not available in a stand alone
%D application of this module.
-\ifCONTEXT
+\ifCONTEXT
\let\doifendofverbatim=\doifelse
@@ -1926,9 +1926,9 @@
% \expandafter\let\csname\verbatimname\endcsname=\relax
% \expandafter\convertargument\csname\verbatimname\endcsname
% \to\endofverbatimcommand
-% \verbatimfont
+% \verbatimfont
% \setverbatimspaceskip
-% \global\linepartrue % needed for paragraph numbering
+% \global\linepartrue % needed for paragraph numbering
% \setupcopyverbatim
% \initializeverbatimline
% \copyverbatimline}
@@ -1949,7 +1949,7 @@
\copyverbatimline}}
%D As a bonus, we provide the next alternative, which takes
-%D end tags like \type {Hello World!}.
+%D end tags like \type {Hello World!}.
% \def\processtaggeddisplayverbatim#1%
% {\par
@@ -1963,9 +1963,9 @@
% \fi
% \parskip\zeropoint
% \processingverbatimtrue
-% \verbatimfont
+% \verbatimfont
% \setverbatimspaceskip
-% \global\linepartrue % needed for paragraph numbering
+% \global\linepartrue % needed for paragraph numbering
% \setupcopyverbatim
% \initializeverbatimline
% \copyverbatimline}
@@ -1996,9 +1996,9 @@
\expandafter\convertargument\csname\verbatimname\endcsname
\to\endofverbatimcommand
\fi
- \verbatimfont
+ \verbatimfont
\setverbatimspaceskip
- \global\linepartrue % needed for paragraph numbering
+ \global\linepartrue % needed for paragraph numbering
\setupcopyverbatim
\initializeverbatimline
\copyverbatimline}
@@ -2011,8 +2011,8 @@
%D \macros
%D {installprettyescape}
%D
-%D The next feature is dedicated to Fabrice Popineau who
-%D wanted math inside verbatim.
+%D The next feature is dedicated to Fabrice Popineau who
+%D wanted math inside verbatim.
\def\prettyescapecnt{255}
@@ -2034,7 +2034,7 @@
\def\dodoinstallprettyescape#1#2#3%
{\unexpanded\setgvalue{PRETTY@#1@\prettyescapecnt}##1##2#2{#3{##2}}%
- \expanded % we need to freeze the counter
+ \expanded % we need to freeze the counter
{\doglobal\noexpand\appendtoks
\noexpand\doif{#1}\noexpand\prettyidentifier
{\noexpand\setpretty`\string#2=\prettyescapecnt
@@ -2042,7 +2042,7 @@
}\to \everysetupverbatim
\egroup}
-%D An example of its usage is:
+%D An example of its usage is:
%D
%D \startbuffer
%D \def\xverbatimmath#1#2{\naturaltextext\mathematics{#1}\relax}
@@ -2057,7 +2057,7 @@
%D if $x>10$ :
%D $x := 20$
%D ~x := 20~
-%D *x := 20*
+%D *x := 20*
%D end
%D \stopMP
%D \stopbuffer
diff --git a/tex/context/base/xtag-ini.tex b/tex/context/base/xtag-ini.tex
index 9ea384ad7..fd545cd78 100644
--- a/tex/context/base/xtag-ini.tex
+++ b/tex/context/base/xtag-ini.tex
@@ -699,8 +699,19 @@
\fi
\fi}
+% \long\def\docleanupXMLarguments#1/ #2\relax % space added earlier
+% {\edef\currentXMLarguments{#1}}
+%
+% \startbuffer
+% <xsl:value-of select="map[@att=$variable]/@att2"/>
+% \stopbuffer
+%
+% \showXMLbuffer
+%
+% No \type {\edef} in the following, else \showXMLbuffer fails:
+
\long\def\docleanupXMLarguments#1/ #2\relax % space added earlier
- {\edef\currentXMLarguments{#1}}
+ {\def\currentXMLarguments{#1}} % no \edef, goes wrong in \showXML
\def\executeXMLelementA % no fallback
{\ifcsname\@@XMLelement:\currentXMLfullidentifier\endcsname
@@ -1330,10 +1341,24 @@
%
% The next speed optimization is suggested by Taco. Since we
% are dealing with validated code, we can grab larger chunks.
+%
+% \long\def\doparseXMLarguments#1% space goes ok
+% {\if#1>%
+% \let\dodoparseXMLarguments\empty
+% \else\if#1/%
+% \chardef\kindofXMLelement\emptyXMLtag
+% \else
+% \XMLtoks{#1}%
+% \let\dodoparseXMLarguments\dodoparseXMLargumentsX
+% \fi\fi
+% \dodoparseXMLarguments}
+%
+% we squeeze out one more assignment
\long\def\doparseXMLarguments#1% space goes ok
{\if#1>%
- \let\dodoparseXMLarguments\empty
+ %\let\dodoparseXMLarguments\empty
+ \expandafter\gobbleoneargument % speedup
\else\if#1/%
\chardef\kindofXMLelement\emptyXMLtag
\else
@@ -1342,6 +1367,27 @@
\fi\fi
\dodoparseXMLarguments}
+% slightly faster:
+%
+% \long\def\doparseXMLarguments#1% space goes ok
+% {\if#1>%
+% \@EA\gobbleoneargument
+% \else\if#1/%
+% \chardef\kindofXMLelement\emptyXMLtag
+% \@EAEAEA\gobbletwoarguments
+% \else
+% \@EAEAEA\dodoparseXMLargumentsX
+% \fi\fi#1}
+%
+% \def\dodoparseXMLargumentsX#1=#2%
+% {\def\@@XMLname{#1}%
+% \getXMLNSSSS#1:\relax
+% \if#2"%
+% \expandafter\dodoparseXMLargumentsD
+% \else
+% \expandafter\dodoparseXMLargumentsS
+% \fi}
+
\def\dodoparseXMLargumentsX#1=#2%
{\edef\@@XMLname{\the\XMLtoks#1}%
\@EA\getXMLNSSSS\@@XMLname:\relax
@@ -1810,10 +1856,17 @@
%D Arguments (attributes) \unknown
+% \long\def\setXMLarguments#1#2#3% element [tag] settings
+% {\doifassignmentelse{#2}
+% {\long\setvalue{\@@XMLpars:#1}{\getrawparameters[\@@XMLvariable:#1:][#2]}}
+% {\long\setvalue{\@@XMLmap :#1}{#2}% later we can init vars by this name
+% \doifsomething{#3}{\long\setvalue{\@@XMLpars:#1}{\getrawparameters[#2][#3]}}}}
+
\long\def\setXMLarguments#1#2#3% element [tag] settings
{\doifassignmentelse{#2}
- {\long\setvalue{\@@XMLpars:#1}{\getrawparameters[\@@XMLvariable:#1:][#2]}}
- {\long\setvalue{\@@XMLmap :#1}{#2}% later we can init vars by this name
+ {\letbeundefined{\@@XMLmap:#1}%
+ \long\setvalue{\@@XMLpars:#1}{\getrawparameters[\@@XMLvariable:#1:][#2]}}
+ {\long\setvalue{\@@XMLmap:#1}{#2}% later we can init vars by this name
\doifsomething{#3}{\long\setvalue{\@@XMLpars:#1}{\getrawparameters[#2][#3]}}}}
\def\presetXMLarguments#1%
diff --git a/tex/context/sample/demo-mps.tex b/tex/context/sample/demo-mps.tex
new file mode 100644
index 000000000..57bb690c0
--- /dev/null
+++ b/tex/context/sample/demo-mps.tex
@@ -0,0 +1,23 @@
+% interface=en
+
+\starttext
+
+\setupcolors
+ [state=start]
+
+\startMPpage
+ path p ; color c[] ;
+ p := fullsquare scaled 4cm ;
+ c[0] := transparent(1,.5,red) ;
+ c[1] := transparent(1,.5,green) ;
+ c[2] := transparent(1,.5,blue) ;
+ for i = 0 upto 2 :
+ fill p rotated (i*30) withcolor white ;
+ endfor ;
+ for i = 0 upto 2 :
+ fill p rotated (i*30) withcolor c[i] ;
+ endfor ;
+ addbackground withcolor transparent(1,.5,cmyk(0,0,1,0)) ;
+\stopMPpage
+
+\stoptext \ No newline at end of file
diff --git a/tex/context/sample/demo-tex.tex b/tex/context/sample/demo-tex.tex
new file mode 100644
index 000000000..309a0acfc
--- /dev/null
+++ b/tex/context/sample/demo-tex.tex
@@ -0,0 +1,23 @@
+% interface=en
+
+\setuppapersize
+ [S6][S6]
+
+\setuplayout
+ [width=middle,
+ height=middle]
+
+\setuphead
+ [chapter]
+ [header=high,
+ style=\bfc,
+ alternative=middle]
+
+\starttext
+
+\title{Peter D. Ward} \processfile{ward}
+\title{Hermann Zapf} \processfile{zapf}
+\title{Bill Bryson} \processfile{bryson}
+\title{Edward R. Tufte} \processfile{tufte}
+
+\stoptext \ No newline at end of file
diff --git a/tex/context/sample/demo-xml.tex b/tex/context/sample/demo-xml.tex
new file mode 100644
index 000000000..bf527a747
--- /dev/null
+++ b/tex/context/sample/demo-xml.tex
@@ -0,0 +1,53 @@
+% interface=en
+
+\defineXMLargument
+ [title] [label=]
+ {\title[\XMLop{label}]}
+
+\defineXMLenvironment
+ [itemize] [packed=]
+ {\doifelseXMLop{packed}{yes}
+ {\startitemize[packed]}
+ {\startitemize}}
+ {\stopitemize}
+
+\defineXMLenvironment
+ [item]
+ {\item}
+ {\par}
+
+\defineXMLenvironment
+ [p]
+ {\ignorespaces}
+ {\par}
+
+\starttext
+
+\startXMLdata
+<title label="example">Just an Example</title>
+
+<p>There are three items:</p>
+
+<itemize packed="yes">
+ <item>Number One</item>
+ <item>Number Two</item>
+ <item>Number Three</item>
+</itemize>
+
+<p>And tree more</p>
+
+<itemize>
+ <item>First Line</item>
+ <item>Second Line</item>
+ <item>Third Line</item>
+</itemize>
+\stopXMLdata
+
+Instead of putting the data in here you can put it in a file, say
+\type {sample.xml} and load that file using:
+
+\starttyping
+\processXMLfilegrouped{sample.xml}
+\stoptyping
+
+\stoptext \ No newline at end of file
diff --git a/tex/context/user/cont-sys.rme b/tex/context/user/cont-sys.rme
index 5e2adef31..1f9bd0dc2 100644
--- a/tex/context/user/cont-sys.rme
+++ b/tex/context/user/cont-sys.rme
@@ -8,97 +8,112 @@
%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.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
\unprotect
-% Occasionally we will support both A4 and letter in
-% styles. If you want letter size paper to be the default,
+% Occasionally we will support both A4 and letter in
+% styles. If you want letter size paper to be the default,
% uncomment:
%
% \enablemode[\systemmodeprefix letter]
%
% If you always want to default to letter, you may uncomment
% the following line, but beware: it makes your documents less
-% portable:
+% portable:
%
% \setuppapersize[letter][letter]
-%
-% If you want some extras, just uncomment the following
+
+% If you want some extras, just uncomment the following
% line:
%
-% \usemodule[plus] % experimental code
-%
-% Here you can take care of overloading some (style)
-% defaults. What goes here, depends on your local system.
+% \usemodule[plus] % experimental code
%
+% Here you can take care of overloading some (style)
+% defaults. What goes here, depends on your local system.
+
% The following commands sets the default font encoding:
%
-% \setupencoding [\s!default=texnansi]
+% \setupencoding [\s!default=texnansi]
%
-% or:
+% or:
%
-% \setupencoding [\s!default=ec]
+% \setupencoding [\s!default=ec]
%
-% If you want the default berry names:
+% If you want the default berry names:
%
% \usetypescript [berry] [\defaultencoding]
%
-% If you run into missing font metrics kind of problems,
-% you may want to uncomment:
-%
-% \usetypescript[adobekb] [\defaultencoding]
+% If you run into missing font metrics kind of problems,
+% you may want to uncomment:
%
-% You can let \CONTEXT\ load the map files for \PDFTEX.
+% \usetypescript[adobekb] [\defaultencoding]
+
+% You can let \CONTEXT\ load the map files for \PDFTEX.
%
% \autoloadmapfilestrue
%
-% If you use the more verbose naming scheme, uncomment this:
+% (1) use this when you have a big mapfile
%
-% \usetypescript [map] [default,\defaultencoding]
+% \preloadmapfile[original-base.map]
+% \preloadmapfile[ec-base.map]
+% \preloadmapfile[8r-base.map]
+% \preloadmapfile[qx-base.map]
+% \preloadmapfile[texnansi-base.map]
+% \preloadmapfile[original-ams-cmr.map]
+% \preloadmapfile[original-ams-euler.map]
+% \preloadmapfile[original-public-lm.map]
+% \preloadmapfile[original-public-plr.map]
+% \preloadmapfile[original-public-csr.map]
%
-% or :
+% (2) otherwise, use this if you have a fast machine
%
-% \usetypescript [map] [all]
+% \resetmapfiles \usetypescript [map] [base] [all]
%
-% In case you have set psfonts.map already, you can comment
-% the following lines. Beware: pdftex uses the fontname
-% (second entry on map file lines) for (not so) clever
-% remapping, so in case of troubles, remove the names (is
-% safe)!
+% (3) or this if it's a slow one:
%
-% \preloadmapfile [original-ams-cmr]
-% \preloadmapfile [original-ams-euler]
-% \preloadmapfile [il2-ams-cmr]
-% \preloadmapfile [pl0-ams-cmr]
+% \resetmapfiles
%
-% Some styles default to Lucida Bright. You can overload
-% Lucida by Times cum suis. Watch out, the pos collection
-% is not scaled relatively.
+% \loadmapfile[original-base.map]
+% \loadmapfile[ec-base.map]
+% \loadmapfile[8r-base.map]
+% \loadmapfile[qx-base.map]
+% \loadmapfile[texnansi-base.map]
+% \loadmapfile[original-ams-cmr.map]
+% \loadmapfile[original-ams-euler.map]
+% \loadmapfile[original-public-lm.map]
+% \loadmapfile[original-public-plr.map]
+% \loadmapfile[original-public-csr.map]
+% \loadmapfile[texnansi-public-lm.map]
+% \loadmapfile[ec-public-lm.map]
+
+% When you have your own fonts installed, you may want to predefine:
%
-% \definetypescriptsynonym [lbr] [pos]
+% \usetypescriptfile[type-buy]
+
+% Some styles default to Lucida Bright. You can overload
+% Lucida by Times cum suis. Watch out, the pos collection
+% is not scaled relatively.
%
+% \definetypescriptsynonym [lbr] [pos]
+
% Compensate for missing files:
%
% \definefontsynonym [gbhei] [gbsong]
% \definefontsynonym [gbheisl] [gbsong]
% \definefontsynonym [gbheisl] [gbsong]
-%
-% The already loaded map file list can be reset with:
-%
-% \forgetmapfiles
-%
-% Setting up a global figure path:
+
+% Setting up a global figure path
%
% \setupexternalfigures [\c!gebied={e:/fig/eps,t:/mine/figs}]
%
-% Loading a specific special driver:
+% Loading a specific special driver:
%
% \setupoutput [dviwindo]
-% Changing language defaults:
-%
+% Changing language defaults
+%
% \setuplanguage
% [nl]
% [\c!leftquote=\upperleftsinglesixquote,
@@ -106,38 +121,38 @@
% Loading local preferences, for example
%
-% \input prag-gen % company styles
-% \input prag-log % more company styles
+% \input prag-gen % company styles
+% \input prag-log % more company styles
%
-% Enabling run time \METAPOST\ (also enable \write18 in
+% Enabling run time \METAPOST\ (also enable \write18 in
% texmf.cnf):
-% \runMPgraphicstrue
+% \runMPgraphicstrue
% \runMPTEXgraphicstrue
% This saves some runtime, but needs a format, which you can
-% make with 'texexec --make --alone metafun'. Make sure that
-% the mem files are moved to the used web2c path (locate with
+% make with 'texexec --make --alone metafun'. Make sure that
+% the mem files are moved to the used web2c path (locate with
% 'kpsewhich plain.mem').
\useMETAFUNformattrue
-% Enabling nested pretty printing:
+% Enabling nested pretty printing
-\newprettytrue
+\newprettytrue
-% This can be a way to get things working on system with
+% This can be a way to get things working on system with
% name clashes. (Some \TeX's tend do search system wide.)
\protectbufferstrue
-% You can enable a more extensive figure searching, but
-% normally this is not really needed and even annoying.
+% You can enable a more extensive figure searching, but
+% normally this is not really needed and even annoying.
%
-% \runutilityfiletrue
-
-% You can also load additional encodings here:
+% \runutilityfiletrue
+% You can also load additional encodings here:
+%
% \useencoding[x5]
%
% \useregime[cyr]
@@ -145,6 +160,6 @@
% \enableregime[cp1251]
% \setupbodyfont[cyr]
-% So far.
+% So far.
-\protect \endinput
+\protect \endinput \ No newline at end of file
diff --git a/web2c/natural.tcx b/web2c/natural.tcx
new file mode 100644
index 000000000..2457df240
--- /dev/null
+++ b/web2c/natural.tcx
@@ -0,0 +1,181 @@
+% natural.tcx -- 27/02/2004 - Hartmut Henkel & Hans Hagen
+%
+% Usage - command line:
+%
+% pdfetex --translate-file=natural.tcx
+%
+% Usage - first line of any file
+%
+% %& --translate-file=natural.tcx
+%
+% Usage - first line of ConTeXt file
+%
+% % translate=natural.tcx
+%
+% Usage - texexec
+%
+% --translate=natural.tcx
+
+0x00 0x00
+0x01 0x01
+0x02 0x02
+0x03 0x03
+0x04 0x04
+0x05 0x05
+0x06 0x06
+0x07 0x07
+0x08 0x08
+0x09 0x09
+0x0a 0x0a
+0x0b 0x0b
+0x0c 0x0c
+0x0d 0x0d
+0x0e 0x0e
+0x0f 0x0f
+0x10 0x10
+0x11 0x11
+0x12 0x12
+0x13 0x13
+0x14 0x14
+0x15 0x15
+0x16 0x16
+0x17 0x17
+0x18 0x18
+0x19 0x19
+0x1a 0x1a
+0x1b 0x1b
+0x1c 0x1c
+0x1d 0x1d
+0x1e 0x1e
+0x1f 0x1f
+
+% 0x20 -- 0x7F are natural anyway, but we may add them some day
+
+0x80 0x80
+0x81 0x81
+0x82 0x82
+0x83 0x83
+0x84 0x84
+0x85 0x85
+0x86 0x86
+0x87 0x87
+0x88 0x88
+0x89 0x89
+0x8a 0x8a
+0x8b 0x8b
+0x8c 0x8c
+0x8d 0x8d
+0x8e 0x8e
+0x8f 0x8f
+0x90 0x90
+0x91 0x91
+0x92 0x92
+0x93 0x93
+0x94 0x94
+0x95 0x95
+0x96 0x96
+0x97 0x97
+0x98 0x98
+0x99 0x99
+0x9a 0x9a
+0x9b 0x9b
+0x9c 0x9c
+0x9d 0x9d
+0x9e 0x9e
+0x9f 0x9f
+0xa0 0xa0
+0xa1 0xa1
+0xa2 0xa2
+0xa3 0xa3
+0xa4 0xa4
+0xa5 0xa5
+0xa6 0xa6
+0xa7 0xa7
+0xa8 0xa8
+0xa9 0xa9
+0xaa 0xaa
+0xab 0xab
+0xac 0xac
+0xad 0xad
+0xae 0xae
+0xaf 0xaf
+0xb0 0xb0
+0xb1 0xb1
+0xb2 0xb2
+0xb3 0xb3
+0xb4 0xb4
+0xb5 0xb5
+0xb6 0xb6
+0xb7 0xb7
+0xb8 0xb8
+0xb9 0xb9
+0xba 0xba
+0xbb 0xbb
+0xbc 0xbc
+0xbd 0xbd
+0xbe 0xbe
+0xbf 0xbf
+0xc0 0xc0
+0xc1 0xc1
+0xc2 0xc2
+0xc3 0xc3
+0xc4 0xc4
+0xc5 0xc5
+0xc6 0xc6
+0xc7 0xc7
+0xc8 0xc8
+0xc9 0xc9
+0xca 0xca
+0xcb 0xcb
+0xcc 0xcc
+0xcd 0xcd
+0xce 0xce
+0xcf 0xcf
+0xd0 0xd0
+0xd1 0xd1
+0xd2 0xd2
+0xd3 0xd3
+0xd4 0xd4
+0xd5 0xd5
+0xd6 0xd6
+0xd7 0xd7
+0xd8 0xd8
+0xd9 0xd9
+0xda 0xda
+0xdb 0xdb
+0xdc 0xdc
+0xdd 0xdd
+0xde 0xde
+0xdf 0xdf
+0xe0 0xe0
+0xe1 0xe1
+0xe2 0xe2
+0xe3 0xe3
+0xe4 0xe4
+0xe5 0xe5
+0xe6 0xe6
+0xe7 0xe7
+0xe8 0xe8
+0xe9 0xe9
+0xea 0xea
+0xeb 0xeb
+0xec 0xec
+0xed 0xed
+0xee 0xee
+0xef 0xef
+0xf0 0xf0
+0xf1 0xf1
+0xf2 0xf2
+0xf3 0xf3
+0xf4 0xf4
+0xf5 0xf5
+0xf6 0xf6
+0xf7 0xf7
+0xf8 0xf8
+0xf9 0xf9
+0xfa 0xfa
+0xfb 0xfb
+0xfc 0xfc
+0xfd 0xfd
+0xfe 0xfe
+0xff 0xff