summaryrefslogtreecommitdiff
path: root/systems/knuth
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-02-11 03:00:49 +0000
committerNorbert Preining <norbert@preining.info>2021-02-11 03:00:49 +0000
commitc455604f3592fd679d4b97637366bc9b5a5fef50 (patch)
treef5a2e78f83c9a5f22516fa62c9a3a7ed4aba19e9 /systems/knuth
parent7428e668f046bec10d1200214789e40390fa51e7 (diff)
CTAN sync 202102110300
Diffstat (limited to 'systems/knuth')
-rw-r--r--systems/knuth/README14
-rw-r--r--systems/knuth/local/cm/ccn10.mf75
-rwxr-xr-xsystems/knuth/local/etc/addencodings.pl5383
-rw-r--r--systems/knuth/local/lib/10list.tex83
-rw-r--r--systems/knuth/local/lib/6list.tex2
-rw-r--r--systems/knuth/local/lib/cwebmac.tex28
-rw-r--r--systems/knuth/local/lib/domino.mf40
-rw-r--r--systems/knuth/local/lib/gkpmac.tex45
-rw-r--r--systems/knuth/local/lib/letter.tex119
-rw-r--r--systems/knuth/local/lib/letterformat.tex85
-rw-r--r--systems/knuth/local/lib/list-latin.tex30
-rw-r--r--systems/knuth/local/lib/llist-latin.tex84
-rw-r--r--systems/knuth/local/lib/llist.tex2
-rw-r--r--systems/knuth/local/lib/twimac.tex18
-rwxr-xr-x[-rw-r--r--]systems/knuth/local/mf-sparc/ini_to_trap0
-rwxr-xr-x[-rw-r--r--]systems/knuth/local/mf/ini_to_trap0
-rw-r--r--systems/knuth/local/mfware/ext.obin0 -> 21224 bytes
-rwxr-xr-xsystems/knuth/local/mfware/gftodvibin0 -> 396008 bytes
-rw-r--r--systems/knuth/local/mfware/gftodvi.ch516
-rw-r--r--systems/knuth/local/mfware/gftodvi.obin0 -> 114416 bytes
-rw-r--r--systems/knuth/local/mfware/gftodvi.p854
-rw-r--r--systems/knuth/local/mfware/gray.log26
-rw-r--r--systems/knuth/local/mfware/io.2602gfbin0 -> 1724 bytes
-rw-r--r--systems/knuth/local/mfware/io.dvibin0 -> 2408 bytes
-rw-r--r--systems/knuth/local/mfware/io.log6
-rw-r--r--systems/knuth/local/mfware/io.ps332
-rw-r--r--systems/knuth/local/mfware/missfont.log2
-rwxr-xr-x[-rw-r--r--]systems/knuth/local/tex-sparc/ini_to_trip0
-rwxr-xr-x[-rw-r--r--]systems/knuth/local/tex-sparc/ini_to_vir0
-rwxr-xr-x[-rw-r--r--]systems/knuth/local/tex/ini_to_trip0
-rwxr-xr-x[-rw-r--r--]systems/knuth/local/tex/ini_to_vir0
-rw-r--r--systems/knuth/local/texware/dvityext.obin0 -> 17432 bytes
-rwxr-xr-xsystems/knuth/local/texware/dvitypebin0 -> 363359 bytes
-rw-r--r--systems/knuth/local/texware/dvitype.obin0 -> 81452 bytes
-rw-r--r--systems/knuth/local/texware/dvitype.out35
-rw-r--r--systems/knuth/local/texware/dvitype.out-k34
-rwxr-xr-xsystems/knuth/local/texware/pooltypebin0 -> 313421 bytes
-rw-r--r--systems/knuth/local/texware/pooltype.obin0 -> 12064 bytes
-rw-r--r--systems/knuth/local/texware/texput.dvibin0 -> 196 bytes
-rw-r--r--systems/knuth/local/texware/texput.log4
-rw-r--r--systems/knuth/local/texware/tftopl.obin0 -> 82856 bytes
-rw-r--r--systems/knuth/local/web/tangext.obin0 -> 10640 bytes
-rwxr-xr-xsystems/knuth/local/web/tanglebin0 -> 389576 bytes
-rw-r--r--systems/knuth/local/web/tangle.obin0 -> 116360 bytes
-rw-r--r--systems/knuth/local/web/tangle.p-bak814
-rw-r--r--systems/knuth/local/web/weave.obin0 -> 163060 bytes
46 files changed, 8425 insertions, 206 deletions
diff --git a/systems/knuth/README b/systems/knuth/README
new file mode 100644
index 0000000000..12f898345b
--- /dev/null
+++ b/systems/knuth/README
@@ -0,0 +1,14 @@
+These directories contain the files distributed by Donald Knuth from
+ftp.cs.stanford.edu:pub/tex. They have been updated by him for his
+2021 tune-up of TeX and Metafont.
+
+The dist/ subdirectory contains the files that he considers part of
+the official TeX system.
+
+The local/ subdirectory, on the other hand, contains some
+supplementary files written by him (which are mostly copied into the
+main TeX distributions), as well as old versions of files created by
+other people, parts of an old Unix TeX installation, derived files,
+and other miscellany. Don't take the conglomeration too seriously.
+
+For more links, see https://ctan.org/pkg/knuth-dist.
diff --git a/systems/knuth/local/cm/ccn10.mf b/systems/knuth/local/cm/ccn10.mf
new file mode 100644
index 0000000000..4dc258d14c
--- /dev/null
+++ b/systems/knuth/local/cm/ccn10.mf
@@ -0,0 +1,75 @@
+% Concrete Roman Narrow 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CCR"; font_size 10pt#;
+
+u#:=17/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=1/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=3/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=165/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=92/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=11/36pt#; % diameter of rounded corners
+fine#:=6/36pt#; % diameter of sharply rounded corners
+thin_join#:=17/36pt#; % width of extrafine details
+hair#:=21/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=27/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=29/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=21/36pt#; % uppercase hairline breadth
+cap_stem#:=27/36pt#; % uppercase stem breadth
+cap_curve#:=28/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=0/36pt#; % amount erased at top or bottom of serifs
+bracket#:=5/36pt#; % vertical distance from serif base to tangent
+jut#:=30/36pt#; % protrusion of lowercase serifs
+cap_jut#:=32/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=21/36pt#; % vertical diameter of hairlines
+notch_cut#:=30/36pt#; % maximum breadth above or below notches
+bar#:=21/36pt#; % lowercase bar thickness
+slab#:=21/36pt#; % serif and arm thickness
+cap_bar#:=21/36pt#; % uppercase bar thickness
+cap_band#:=21/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=1pt#; % max breadth above/below uppercase notches
+serif_drop#:=5/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.95; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/15; % extra openness inside bowls
+beak_darkness:=4/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate roman % switch to the driver file
diff --git a/systems/knuth/local/etc/addencodings.pl b/systems/knuth/local/etc/addencodings.pl
new file mode 100755
index 0000000000..eba7b59f43
--- /dev/null
+++ b/systems/knuth/local/etc/addencodings.pl
@@ -0,0 +1,5383 @@
+#
+# Given a dvips file with bitmap fonts, add the appropriate font
+# encodings, bounding box, and scale.
+#
+use strict ;
+my @names ;
+my $loc = 0 ;
+my $hdpi = 0 ;
+my $hscale = 0 ;
+my $rewritebb = 1 ;
+my $scalefont = 1 ;
+my $deduplicate = 0 ;
+while (@ARGV && $ARGV[0] =~ /^-/) {
+ my $arg = shift @ARGV ;
+ if ($arg eq '--nofontbb') {
+ $rewritebb = 0 ;
+ } elsif ($arg eq '--noscale') {
+ $scalefont = 0 ;
+ } elsif ($arg eq '--deduplicate') {
+ $deduplicate = 1 ;
+ } else {
+ die "Bad arg; should be one of --nofontbb or --noscale." ;
+ }
+}
+sub emit {
+ my $s = shift ;
+ if ($loc + 1 + length($s) > 75) {
+ print "\n" ;
+ $loc = 0 ;
+ }
+# if ($loc) {
+# print " " ;
+# $loc++ ;
+# }
+ print $s ;
+ $loc += length($s) ;
+}
+my $encnum = 0 ;
+my %cache ;
+my $cacheable ;
+sub emitnames {
+ my $cacheable = shift ;
+ if ($deduplicate && defined($cache{$cacheable})) {
+ # we use load to get the value and defer execution.
+ print "/$cache{$cacheable} load\n" ;
+ } else {
+ my $key = "EN" . $encnum++ ;
+ $cache{$cacheable} = $key ;
+ print $cacheable ;
+ emit("A/$key X ") ;
+ }
+}
+sub resetcache {
+ $encnum = 0 ;
+ %cache = () ;
+}
+my %allenc = () ;
+sub loadall {
+ my @keys = () ;
+ my @enc = () ;
+ while (<DATA>) {
+ if (/^([^ ]*):$/) {
+ my $key = $1 ;
+ if (@enc) {
+ my $enc = join '', @enc ;
+ $allenc{$_} = $enc for @keys ;
+ @enc = () ;
+ @keys = () ;
+ }
+ push @keys, $key ;
+ } else {
+ push @enc, $_ ;
+ }
+ }
+ if (@enc) {
+ my $enc = join '', @enc ;
+ $allenc{$_} = $enc for @keys ;
+ }
+}
+my @k = () ;
+my $keep = 0 ;
+my $fn = undef ;
+my $lastcc = 0 ;
+my $slop = 1 ;
+my $llx ;
+my $lly ;
+my $urx ;
+my $ury ;
+my $end ;
+my $str ;
+my $minx ;
+my $maxx ;
+my $miny ;
+my $maxy ;
+my $at ;
+sub scansizes {
+ $str = join '', @k ;
+ $at = -1 ;
+ $llx = 0 ;
+ $lly = 0 ;
+ $urx = 0 ;
+ $ury = 0 ;
+ $end = length($str) ;
+ while (1) {
+ $at = index($str, ">", $at+1) ;
+ last if $at < 0 ;
+ my $endhex = $at - 1 ;
+ $at++ ;
+ my @numargs = () ;
+ my $c ;
+ while (1) {
+ $at++ while $at < $end && substr($str, $at, 1) le ' ' ;
+ last if $at >= $end ;
+ $c = substr($str, $at, 1) ;
+ if ($c eq '-' || ('0' le $c && $c le '9')) {
+ my $num = '' ;
+ while ($c eq '-' || ('0' le $c && $c le '9')) {
+ $num .= $c ;
+ $at++ ;
+ $c = substr($str, $at, 1) ;
+ }
+ push @numargs, 0 + $num ;
+ } else {
+ last ;
+ }
+ }
+ next if $c eq '<' && @numargs == 0 ;
+ die "Fail saw $c" if $c ne 'D' && $c ne 'I' ;
+ die "Bad args" if $c eq 'D' && @numargs != 1 && @numargs != 6 ;
+ die "Bad args" if $c eq 'I' && @numargs != 0 && @numargs != 5 ;
+ if ($c eq 'D') {
+ $lastcc = $numargs[-1] ;
+ } else {
+ $lastcc++ ;
+ }
+ if (@numargs < 4) {
+ # find the previous 10 hex digits
+ my $digs = '' ;
+ while ($endhex > 0 && length($digs) < 10) {
+ $c = substr($str, $endhex, 1) ;
+ if (('0' le $c && $c le '9') || ('A' le $c && $c le 'Z')) {
+ $digs = $c . $digs ;
+ } else {
+ die "Bad char in hex string" if $c gt ' ' && $c ne '<' && $c ne '>' ;
+ }
+ $endhex-- ;
+ }
+ die "Did not find ten digs" if length($digs) != 10 ;
+ my $i ;
+ for ($i=0; $i<5; $i++) {
+ splice(@numargs, $i, 0, hex(substr($digs, 2*$i, 2))) ;
+ }
+ }
+ $numargs[2] = 128 - $numargs[2] ;
+ $numargs[3] = $numargs[3] - 127 ;
+ $minx = $numargs[2] ;
+ $maxx = $numargs[0] + $numargs[2] ;
+ $miny = $numargs[3] - $numargs[1] ;
+ $maxy = $numargs[3] ;
+ $minx -= $slop ;
+ $miny -= $slop ;
+ $maxx += $slop ;
+ $maxy += $slop ;
+ $llx = $minx if $minx < $llx ;
+ $lly = $miny if $miny < $lly ;
+ $urx = $maxx if $maxx > $urx ;
+ $ury = $maxy if $maxy > $ury ;
+ }
+}
+loadall() ;
+my $bufptr = 0 ;
+my @buf ;
+my $landscape = 0 ;
+my $insetup = 0 ;
+while (<>) {
+ push @buf, $_ ;
+ $insetup = 1 if /^%%BeginSetup/ ;
+ last if /^%%EndSetup/ ;
+ $landscape = 1 if /\@landscape/ && $insetup ;
+}
+my $addview = 1 ;
+my $fontsize ;
+my $hsi ;
+my $fid ;
+my $viewori ;
+while (1) {
+ if ($bufptr < @buf) {
+ $_ = $buf[$bufptr++] ;
+ } else {
+ $_ = <> ;
+ last if !$_ ;
+ }
+ if (/TeXDict begin \d+ \d+ \d+ (\d+) /) {
+ $hdpi = $1 ;
+ }
+ if (/^%DVIPSBeginSection/) {
+ resetcache() ;
+ }
+ if (/^%EndDVIPSBitmapFont/) {
+ $hscale = $hdpi * $fontsize / 72 ;
+ $hsi = 1 / $hscale ;
+ $hsi = 1 if !$scalefont ;
+ my @cacheable = () ;
+ if (open E, "dvips-$fn.enc") {
+ print STDERR "Reading dvips-$fn.enc\n" ;
+ my $safeunderbar = $_ ;
+ while (<E>) {
+ push @cacheable, $_ ;
+ }
+ close E ;
+ $_ = $safeunderbar ;
+ $cacheable = join '', @cacheable ;
+ emitnames($cacheable) ;
+ } elsif (defined($allenc{$fn})) {
+ emitnames($allenc{$fn}) ;
+ } else {
+ warn "Cannot find encoding for $fn.enc" ;
+ print "IEn\n" ;
+ }
+ scansizes() ;
+ print "IEn S/IEn X FBB FMat/FMat[$hsi 0 0 -$hsi 0 0]N\n" ;
+ print "/FBB[$llx $lly $urx $ury]N\n" if $rewritebb ;
+ print for @k ;
+ print "/$fid load 0 $fid currentfont $hscale scalefont put\n" if $scalefont ;
+ print "/FMat X/FBB X/IEn X\n" ;
+ $keep = 0 ;
+ }
+ if ($keep) {
+ push @k, $_ ;
+ } else {
+ print ;
+ }
+ if (/^%%EndComments/ && $addview) {
+ if ($landscape) {
+ $viewori = "0 -1 1 0" ;
+ } else {
+ $viewori = "1 0 0 1" ;
+ }
+ print <<EOF ;
+%%BeginDefaults
+%%ViewingOrientation: $viewori
+%%EndDefaults
+EOF
+ $addview = 0 ;
+ }
+ if (/^%DVIPSBitmapFont/) {
+ @k = () ;
+ $keep = 1 ;
+ chomp ;
+ my @f = split " ", $_ ;
+ $fid = $f[1] ;
+ $fn = $f[2] ;
+ $fontsize = $f[3] ;
+ }
+}
+__DATA__
+mathu10:
+[128{/.notdef}repeat/Abreve/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek
+/Gbreve/Lacute/Lcaron/Lslash/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron
+/Sacute/Scaron/Scedilla/Tcaron/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute
+/Zcaron/Zdotaccent/IJ/Idotaccent/dcroat/section/abreve/aogonek/cacute/ccaron
+12{/.notdef}repeat/rcaron/sacute/scaron/scedilla/tcaron/tcedilla
+/uhungarumlaut/uring/ydieresis/zacute/zcaron/zdotaccent/ij/exclamdown
+/questiondown/sterling/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
+/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
+/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/OE/Oslash
+/Ugrave 6{/.notdef}repeat/agrave/aacute/acircumflex/atilde/adieresis/aring
+/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex
+/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/oe/oslash
+/ugrave 6{/.notdef}repeat]
+gvibc10:
+[70{/.notdef}repeat/F 8{/.notdef}repeat/O/P 3{/.notdef}repeat/T 3{/.notdef}
+repeat/X 8{/.notdef}repeat/a/b/.notdef/d/e/f/g/h/i/.notdef/k/l/m/n/o/p/q/r/s
+/t 3{/.notdef}repeat/x/y/z 133{/.notdef}repeat]
+mathux10:
+[67{/.notdef}repeat/C/.notdef/E/F/.notdef/H/I/.notdef/.notdef/L/M/N/O/P/Q/R
+/S/T/U 42{/.notdef}repeat/Abreve/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek
+/Gbreve/Lacute/Lcaron/Lslash/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron
+/Sacute/Scaron/Scedilla/Tcaron/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute
+6{/.notdef}repeat/abreve/aogonek/cacute/ccaron/dcaron/ecaron/eogonek/gbreve
+/lacute/lcaron/lslash/nacute/ncaron/eng/ohungarumlaut/racute/rcaron/sacute
+/scaron/scedilla/tcaron/tcedilla/uhungarumlaut/uring/ydieresis/zacute 6{
+/.notdef}repeat/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
+/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth
+/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/OE/Oslash/Ugrave 6{
+/.notdef}repeat/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
+/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth
+/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/oe/oslash/ugrave 6{
+/.notdef}repeat]
+givbc10:
+[66{/.notdef}repeat/B 3{/.notdef}repeat/F 6{/.notdef}repeat/M/N/O/P/Q/R
+/.notdef/T 3{/.notdef}repeat/X/Y 7{/.notdef}repeat/a/b/.notdef/d/e/f/g/h/i
+/.notdef/k/l/m/n/o/p/.notdef/r/s/t 3{/.notdef}repeat/x/y/z 133{/.notdef}
+repeat]
+dingbat:
+[66{/.notdef}repeat/Square-with-dots-border-design
+/Square-with-dots-border-design/Check-mark/Left-flouron/Right-flouron
+/Flipped-left-flouron--matches-F/Flipped-right-flouron--matches-E
+/DLA-satelite-dish/Flowery-flouron/Right-flower
+/Flipped-left-flower--matches-J/Flipped-right-flower--matches-K
+/Hand-pointer-to-the-left/Anchor-for-TUG-dingbat-contest 3{/.notdef}repeat
+/S-border-design 6{/.notdef}repeat/Z-border-design 6{/.notdef}repeat
+/Overlapping-thick\thin-line-border-design---character-1
+/Overlapping-thick\thin-line-border-design---character-2
+/Overlapping-thick\thin-line-border-design---character-3
+/Overlapping-thick\thin-line-border-design---character-4
+/Overlapping-thick\thin-line-border-design---character-5
+/Overlapping-thick\thin-line-border-design---character-6
+/Overlapping-thick\thin-line-border-design---character-7
+/Overlapping-thick\thin-line-border-design---character-8 151{/.notdef}repeat
+]
+logo10:
+logo8:
+logo9:
+logobf10:
+logod10:
+logosl10:
+logosl8:
+logosl9:
+[65{/.notdef}repeat/A 3{/.notdef}repeat/E/F 6{/.notdef}repeat/M/N/O/P
+/.notdef/.notdef/S/T 171{/.notdef}repeat]
+MnSymbolS-Bold10:
+MnSymbolS-Bold12:
+MnSymbolS-Bold5:
+MnSymbolS-Bold6:
+MnSymbolS-Bold7:
+MnSymbolS-Bold8:
+MnSymbolS-Bold9:
+MnSymbolS10:
+MnSymbolS12:
+MnSymbolS5:
+MnSymbolS6:
+MnSymbolS7:
+MnSymbolS8:
+MnSymbolS9:
+[65{/.notdef}repeat/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 165{
+/.notdef}repeat]
+rsfs10:
+rsfs5:
+rsfs7:
+[65{/.notdef}repeat/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 36{
+/.notdef}repeat/tie 128{/.notdef}repeat]
+cmcinch:
+[62{/.notdef}repeat/fill1062 33{/.notdef}repeat/afii10048/afii10017
+/afii10018/afii10040/afii10021/afii10022/afii10038/afii10020/afii10039
+/afii10026/afii10027/afii10028/afii10029/afii10030/afii10031/afii10032
+/afii10033/afii10049/afii10034/afii10035/afii10036/afii10037/afii10024
+/afii10019/afii10046/afii10045/afii10025/afii10042/afii10047/afii10043
+/afii10041/afii10044 128{/.notdef}repeat]
+dsrom10:
+dsrom12:
+dsrom8:
+dsss10:
+dsss12:
+dsss8:
+[49{/.notdef}repeat/one 15{/.notdef}repeat/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 6{/.notdef}repeat/a 6{/.notdef}repeat/h/.notdef/.notdef/k
+148{/.notdef}repeat]
+copsn10:
+[49{/.notdef}repeat/one/two/three/four/five 4{/.notdef}repeat/colon 7{
+/.notdef}repeat/B/C/D/E/F/G/.notdef/.notdef/J/K/L/M/N/.notdef/P/Q/R/S/T
+/.notdef/V/.notdef/X 8{/.notdef}repeat/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 133{/.notdef}repeat]
+cminch:
+[48{/.notdef}repeat/zero/one/two/three/four/five/six/seven/eight/nine 7{
+/.notdef}repeat/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 165{
+/.notdef}repeat]
+csinch:
+[48{/.notdef}repeat/zero/one/two/three/four/five/six/seven/eight/nine 7{
+/.notdef}repeat/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 78{
+/.notdef}repeat/Scaron/.notdef/Tcaron/.notdef/.notdef/Zcaron 17{/.notdef}
+repeat/Racute/Aacute 3{/.notdef}repeat/Lacute/.notdef/.notdef/Ccaron/Eacute
+/.notdef/.notdef/Ecaron/Iacute/.notdef/Dcaron/.notdef/.notdef/Ncaron/Oacute 4
+{/.notdef}repeat/Rcaron/.notdef/Uacute/.notdef/.notdef/Yacute 34{/.notdef}
+repeat]
+plinch:
+[48{/.notdef}repeat/zero/one/two/three/four/five/six/seven/eight/nine 7{
+/.notdef}repeat/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 38{
+/.notdef}repeat/Aogonek/Cacute 3{/.notdef}repeat/Eogonek 3{/.notdef}repeat
+/Lslash/Nacute 5{/.notdef}repeat/Sacute 7{/.notdef}repeat/Zacute/.notdef
+/Zdotaccent 55{/.notdef}repeat/Oacute 44{/.notdef}repeat]
+beuron:
+beuronc:
+beuronx:
+[43{/.notdef}repeat/plus/.notdef/hyphen/.notdef/slash 10{/.notdef}repeat
+/colon 6{/.notdef}repeat/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
+6{/.notdef}repeat/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 18{
+/.notdef}repeat/Omega 114{/.notdef}repeat]
+sarab10:
+[39{/.notdef}repeat/quoteright 26{/.notdef}repeat/B/.notdef/D/.notdef
+/.notdef/G/H/I/J 8{/.notdef}repeat/S/T 3{/.notdef}repeat/X/.notdef/Z 5{
+/.notdef}repeat/quoteleft/a/b/.notdef/d/.notdef/f/g/h/.notdef/.notdef/k/l/m
+/n/o/.notdef/q/r/s/t/.notdef/.notdef/w/x/y/z 133{/.notdef}repeat]
+bcghsb:
+bcghsm:
+bcghwb:
+bcghwm:
+bcgvsb:
+bcgvsm:
+bcgvwb:
+bcgvwm:
+[33{/.notdef}repeat/exclam/quotedbl/numbersign/dollar/percent/ampersand
+/quoteright/parenleft/parenright/asterisk/.notdef/comma/hyphen/period/slash
+/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less
+/equal/greater/question/at/.notdef/.notdef/C/.notdef/E/.notdef/G 3{/.notdef}
+repeat/K/L/M/N 3{/.notdef}repeat/R/S 4{/.notdef}repeat/X/.notdef/Z 5{
+/.notdef}repeat/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/.notdef/p/q/r/s/t/u/v
+/.notdef/x/y/z/.notdef/bar 3{/.notdef}repeat/Abreve/Aogonek/Cacute/Ccaron
+/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash/Nacute/Ncaron/Eng
+/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron/Scedilla/Tcaron/Tcedilla
+/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron/Zdotaccent 3{/.notdef}repeat
+/section/abreve/aogonek 9{/.notdef}repeat/nacute 15{/.notdef}repeat
+/zdotaccent 12{/.notdef}repeat/Egrave/.notdef/Ecircumflex/.notdef/Igrave
+/.notdef/Icircumflex/Idieresis/Eth/.notdef/Ograve/.notdef/Ocircumflex
+/.notdef/Odieresis/OE/Oslash/.notdef/Uacute/.notdef/Udieresis/.notdef/Thorn
+/SS/agrave/.notdef/acircumflex/.notdef/adieresis/.notdef/ae/ccedilla/egrave
+/.notdef/ecircumflex/.notdef/igrave/.notdef/icircumflex/idieresis/eth
+/.notdef/ograve/.notdef/ocircumflex/.notdef/odieresis/oe 7{/.notdef}repeat
+/germandbls]
+smfer10:
+smfesl10:
+smfett10:
+smfpr10:
+smfpsl10:
+smfptt10:
+smfr10:
+smfsl10:
+smftt10:
+[32{/.notdef}repeat/space/.notdef/.notdef/numbersign/dollar 5{/.notdef}
+repeat/asterisk 3{/.notdef}repeat/period/.notdef/0/1/2/3/4/5/6/7/8/9 7{
+/.notdef}repeat/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 6{
+/.notdef}repeat/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 3{
+/.notdef}repeat/tilda/.notdef/Abreve/Aogonek/Cacute/Ccaron/Dcaron/Ecaron
+/Eogonek/Gbreve/Lacute/Lcaron/Lslash/Nacute/Ncaron/.notdef/Ohungarumlaut
+/Racute/Rcaron/Sacute/Scaron/Scedilla/Tcaron/Tcedilla/Uhungarumlaut/Uring
+/Ydieresis/Zacute/Zcaron/Zdotaccent/.notdef/Idotaccent/dcroat/.notdef/abreve
+/aogonek/cacute/ccaron/dcaron/ecaron/eogonek/gbreve/lacute/lcaron/lslash
+/nacute/ncaron/.notdef/ohungarumlaut/racute/rcaron/sacute/scaron/scedilla
+/tcaron/tcedilla/uhungarumlaut/uring/ydieresis/zacute/zcaron/zdotaccent 4{
+/.notdef}repeat/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/.notdef
+/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
+/Idieresis/.notdef/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/.notdef
+/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/.notdef/.notdef/agrave
+/aacute/acircumflex/atilde/adieresis/aring/.notdef/ccedilla/egrave/eacute
+/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/.notdef/ntilde
+/ograve/oacute/ocircumflex/otilde/odieresis/.notdef/oslash/ugrave/uacute
+/ucircumflex/udieresis/yacute/.notdef/.notdef]
+fibb84:
+[32{/.notdef}repeat/space/exclam/dieresis/dieresisacute/dieresisgrave
+/percent/endash/quotesnglright/parenleft/parenright/asterisk/plus/comma
+/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
+/colongreek/angleleft/equal/angleright/questiongreek/asperperispomene/Alpha
+/Beta/Ksi/Delta/Epsilon/Phi/Gamma/Eta/Iota/cigmalunate/Kappa/Lambda/Mu/Nu
+/Omicron/Pi/Theta/Rho/Sigma/Tau/Upsilon/Digamma/Omega/Chi/Psi/Zeta
+/bracketleft/lenisperispomene/bracketright/lenisacute/lenisgrave
+/quotesnglleft/alpha/beta/ksi/delta/epsilon/phi/gamma/eta/iota/sigmafinal
+/kappa/lambda/mu/nu/omicron/pi/theta/rho/sigma/tau/upsilon/digamma/omega/chi
+/psi/zeta/guillemetsleft/iotasubscript/guillemetsright/perispomene/emdash
+/alphagrave/alphaasper/alphaenis/aspergrave/epsilonasperperispomene
+/omicronperispomene/Koppa/asperacute/alphaacute/alphaasperacute
+/alphalenisacute/alphaaspergrave/epsilonperispomene/omicronasperperispomene
+/koppa/sampi/slphaperispomene/alphaasperperispomene/alphalenisperispomene
+/alphalenisgrave/epsilonlenisperispomene/omicronlenisperispomene/Cigmalunate
+/.notdef/etagrave/etaasper/etalenis/etaaspergrave/dotI/dotJdlmnpqu/dotbt
+/dotchjz/etaacute/etaasperacute/etalenisacute/etalenisgrave/doti/dotGZ
+/dotkos/dotCEVaw/etaperispomene/etaasperperispomene/etalenisperispomene
+/quotedblleft/dote/dotH/dotBFLNPQSTW/quotedblright/omegagrave/omegaasper
+/omegalenis/omegaaspergrave/dotDK/dotfy/dotgx/dotkoppa/omegaacute
+/omegaasperacute/omegalenisacute/omegalenisgrave/dotAOQUXY/grave/acute/dotr
+/omegaperispomene/omegaasperperispomene/omegalenisperispomene/asper/dotM
+/breve/macron/lenis/iotagrave/iotaasper/iotalenis/iotaaspergrave
+/upsilongrave/upsilonasper/upsilonlenis/upsilonaspergrave/iotaacute
+/iotaasperacute/iotalenisacute/iotalenisgrave/upsilonacute/upsilonasperacute
+/upsilonlenisacute/upsilonlenisgrave/iotaperispomene/iotaasperperispomene
+/iotalenisperispomene/braceleft/upsilonperispomene/upsilonasperperispomene
+/upsilonlenisperispomene/braceright/epsilongrave/epsilonasper/epsilonlenis
+/epsilonlenisgrave/omicrongrave/omicronasper/omicronlenis/omicronaspergrave
+/epsilonacute/epsilonasperacute/epsilonlenisacute/epsilonaspergrave
+/omicronacute/omicronasperacute/omicronlenisacute/omicronlenisgrave
+/iotadieresis/iotadieresisacute/iotadieresisgrave/bracketleftbt
+/upsilondieresis/upsilondieresisacute/upsilondieresisgrave/bracketrightbt
+/iotasubalpha/iotasubeta/iotasubomega/rhoaspe/rholenis/dagger/daggerdbl
+/aspirate]
+fibo84:
+fibr84:
+[32{/.notdef}repeat/space/exclam/dieresis/dieresisacute/dieresisgrave
+/percent/endash/quotesnglright/parenleft/parenright/asterisk/plus/comma
+/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
+/colongreek/angleleft/equal/angleright/questiongreek/asperperispomene/Alpha
+/Beta/Ksi/Delta/Epsilon/Phi/Gamma/Eta/Iota/cigmalunate/Kappa/Lambda/Mu/Nu
+/Omicron/Pi/Theta/Rho/Sigma/Tau/Upsilon/Digamma/Omega/Chi/Psi/Zeta
+/bracketleft/lenisperispomene/bracketright/lenisacute/lenisgrave
+/quotesnglleft/alpha/beta/ksi/delta/epsilon/phi/gamma/eta/iota/sigmafinal
+/kappa/lambda/mu/nu/omicron/pi/theta/rho/sigma/tau/upsilon/digamma/omega/chi
+/psi/zeta/guillemetsleft/iotasubscript/guillemetsright/perispomene/emdash
+/alphagrave/alphaasper/alphalenis/aspergrave/epsilonasperperispomene
+/omicronperispomene/Koppa/asperacute/alphaacute/alphaasperacute
+/alphalenisacute/alphaaspergrave/epsilonperispomene/omicronasperperispomene
+/koppa/sampi/alphaperispomene/alphaasperperispomene/alphalenisperispomene
+/alphalenisgrave/epsilonlenisperispomene/omicronlenisperispomene/Cigmalunate
+/.notdef/etagrave/etaasper/etalenis/etaaspergrave/dotI/dotJdlmnpqu/dotbt
+/dotchjz/etaacute/etaasperacute/etalenisacute/etalenisgrave/doti/dotGZ
+/dotkos/dotCEVaw/etaperispomene/etaasperperispomene/etalenisperispomene
+/quotedblleft/dote/dotH/dotBFLNPRSTW/quotedblright/omegagrave/omegaasper
+/omegalenis/omegaaspergrave/dotDK/dotfy/dotgx/dotkoppa/omegaacute
+/omegaasperacute/omegalenisacute/omegalenisgrave/dotAOQUXY/grave/acute/dotr
+/omegaperispomene/omegaasperperispomene/omegalenisperispomene/asper/dotM
+/breve/macron/lenis/iotagrave/iotaasper/iotalenis/iotaaspergrave
+/upsilongrave/upsilonasper/upsilonlenis/upsilonaspergrave/iotaacute
+/iotaasperacute/iotalenisacute/iotalenisgrave/upsilonacute/upsilonasperacute
+/upsilonlenisacute/upsilonlenisgrave/iotaperispomene/iotaasperperispomene
+/iotalenisperispomene/braceleft/upsilonperispomene/upsilonasperperispomene
+/upsilonlenisperispomene/braceright/epsilongrave/epsilonasper/epsilonlenis
+/epsilonlenisgrave/omicrongrave/omicronasper/omicronlenis/omicronaspergrave
+/epsilonacute/epsilonasperacute/epsilonlenisacute/epsilonaspergrave
+/omicronacute/omicronasperacute/omicronlenisacute/omicronlenisgrave
+/iotadieresis/iotadieresisgrave/iotadieresisacute/bracketleftbt
+/upsilondieresis/upsilondieresisgrave/upsilondieresisacute/bracketrightbt
+/iotasubalpha/iotasubeta/iotasubomega/rhoasper/rholenis/dagger/daggerdbl
+/aspirate]
+bthhsb:
+bthhsm:
+bthhwb:
+bthhwm:
+bthvsb:
+bthvsm:
+bthvwb:
+bthvwm:
+[32{/.notdef}repeat/space/exclam/quotedbl/numbersign/dollar/.notdef/.notdef
+/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 3{/.notdef}repeat/D/E/F/G/H/.notdef/.notdef/K/L/M
+/N/.notdef/P/.notdef/.notdef/S/T 5{/.notdef}repeat/Z 5{/.notdef}repeat
+/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/.notdef/r/s/t/u/v/w/.notdef/y/z
+/.notdef/bar 3{/.notdef}repeat/Abreve/Aogonek/Cacute/Ccaron/Dcaron/Ecaron
+/Eogonek/Gbreve/Lacute/Lcaron/Lslash/Nacute/Ncaron/Eng/Ohungarumlaut/Racute
+/Rcaron/Sacute/Scaron/Scedilla/Tcaron/Tcedilla/Uhungarumlaut/Uring/Ydieresis
+/Zacute/Zcaron/Zdotaccent/IJ/Idotaccent/dcroat/section/abreve/aogonek/cacute
+/ccaron/dcaron/ecaron/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/eng
+/ohungarumlaut/racute/rcaron/sacute/scaron/scedilla/tcaron/tcedilla
+/uhungarumlaut/uring/ydieresis/zacute/zcaron/zdotaccent/ij/exclamdown
+/questiondown/sterling 8{/.notdef}repeat/Egrave/Eacute/Ecircumflex/Edieresis
+/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex 3{
+/.notdef}repeat/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis 3{/.notdef}repeat
+/agrave/aacute/acircumflex/atilde/adieresis 3{/.notdef}repeat/egrave/eacute
+/ecircumflex/edieresis/igrave 3{/.notdef}repeat/eth/ntilde/ograve/oacute
+/ocircumflex 10{/.notdef}repeat/germandbls]
+karta15:
+[32{/.notdef}repeat/space/exclam/quotedbl/numbersign/dollar/percent
+/ampersand/quotesingle/parenleft/parenright/asterisk/plus/comma/hyphen
+/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
+/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q
+/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
+/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar
+/braceright/asciitilde 34{/.notdef}repeat/degree/cent/sterling/section
+/bullet/paragraph/germandbls/registered/copyright/trademark/acute/dieresis
+/notequal/AE/Oslash/infinity/plusminus/lessequal/greaterequal/yen/mu
+/partialdiff/summation/product/pi/integral/ordfeminine/ordmasculine/Omega/ae
+/oslash/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta
+/guillemotleft/guillemotright/ellipsis/nbspace/Agrave/Atilde/Otilde/OE/oe
+/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide
+/lozenge/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright
+/fi/fl/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand
+/Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex
+/Idieresis/Igrave/Oacute/Ocircumflex/apple/Ograve/Uacute/Ucircumflex/Ugrave
+/dotlessi/circumflex/tilde/macron/breve/dotaccent/ring/cedilla/hungarumlaut
+/ogonek/.notdef]
+cmccsc10:
+cmccsc8:
+cmccsc9:
+[30{/.notdef}repeat/guillemotright 31{/.notdef}repeat/afii10023/.notdef
+/afii10096/afii10065/afii10066/afii10088/afii10069/afii10070/afii10086
+/afii10068/afii10087/afii10074/afii10075/afii10076/afii10077/afii10078
+/afii10079/afii10080/afii10081/afii10097/afii10082/afii10083/afii10084
+/afii10085/afii10072/afii10067/afii10094/afii10093/afii10073/afii10090
+/afii10095/afii10091/afii10089/afii10092/afii10048/afii10017/afii10018
+/afii10040/afii10021/afii10022/afii10038/afii10020/afii10039/afii10026
+/afii10027/afii10028/afii10029/afii10030/afii10031/afii10032/afii10033
+/afii10049/afii10034/afii10035/afii10036/afii10037/afii10024/afii10019
+/afii10046/afii10045/afii10025/afii10042/afii10047/afii10043/afii10041
+/afii10044 128{/.notdef}repeat]
+cmcitt10:
+cmcti10:
+cmcti12:
+cmcti7:
+cmcti8:
+cmcti9:
+cmcu10:
+[25{/.notdef}repeat/afii61352 3{/.notdef}repeat/guillemotleft/guillemotright
+31{/.notdef}repeat/afii10023/.notdef/afii10096/afii10065/afii10066/afii10088
+/afii10069/afii10070/afii10086/afii10068/afii10087/afii10074/afii10075
+/afii10076/afii10077/afii10078/afii10079/afii10080/afii10081/afii10097
+/afii10082/afii10083/afii10084/afii10085/afii10072/afii10067/afii10094
+/afii10093/afii10073/afii10090/afii10095/afii10091/afii10089/afii10092
+/afii10048/afii10017/afii10018/afii10040/afii10021/afii10022/afii10038
+/afii10020/afii10039/afii10026/afii10027/afii10028/afii10029/afii10030
+/afii10031/afii10032/afii10033/afii10049/afii10034/afii10035/afii10036
+/afii10037/afii10024/afii10019/afii10046/afii10045/afii10025/afii10042
+/afii10047/afii10043/afii10041/afii10044 128{/.notdef}repeat]
+cmcb10:
+cmcbx10:
+cmcbx12:
+cmcbx5:
+cmcbx6:
+cmcbx7:
+cmcbx8:
+cmcbx9:
+cmcsl10:
+cmcsl12:
+cmcsl8:
+cmcsl9:
+cmcss10:
+cmcss12:
+cmcss17:
+cmcss8:
+cmcss9:
+cmcssi10:
+cmcssi12:
+cmcssi17:
+cmcssi8:
+cmcssi9:
+cmcssq8:
+cmcssqi8:
+cmctt10:
+cmctt12:
+cmctt8:
+cmctt9:
+cmcyr10:
+cmcyr12:
+cmcyr17:
+cmcyr5:
+cmcyr6:
+cmcyr7:
+cmcyr8:
+cmcyr9:
+[25{/.notdef}repeat/afii61352 3{/.notdef}repeat/guillemotleft/guillemotright
+29{/.notdef}repeat/afii10071/.notdef/afii10023/.notdef/afii10096/afii10065
+/afii10066/afii10088/afii10069/afii10070/afii10086/afii10068/afii10087
+/afii10074/afii10075/afii10076/afii10077/afii10078/afii10079/afii10080
+/afii10081/afii10097/afii10082/afii10083/afii10084/afii10085/afii10072
+/afii10067/afii10094/afii10093/afii10073/afii10090/afii10095/afii10091
+/afii10089/afii10092/afii10048/afii10017/afii10018/afii10040/afii10021
+/afii10022/afii10038/afii10020/afii10039/afii10026/afii10027/afii10028
+/afii10029/afii10030/afii10031/afii10032/afii10033/afii10049/afii10034
+/afii10035/afii10036/afii10037/afii10024/afii10019/afii10046/afii10045
+/afii10025/afii10042/afii10047/afii10043/afii10041/afii10044 128{/.notdef}
+repeat]
+fgerm10:
+[19{/.notdef}repeat/guillemotleft/guillemotright/endash/emdash/.notdef
+/.notdef/dotlessi 7{/.notdef}repeat/exclam/quotedbl 13{/.notdef}repeat/zero
+/one/two/three/four 12{/.notdef}repeat/A/B/C/D 6{/.notdef}repeat/K/L/M/N/O/P
+/Q/R/S/.notdef/U 13{/.notdef}repeat/c/.notdef/e/.notdef/.notdef/h/i 9{
+/.notdef}repeat/s 140{/.notdef}repeat]
+kmbx10:
+kmr10:
+kmss10:
+[18{/.notdef}repeat/quotedblbase/guillemotleft/guillemotright/endash/emdash
+/cwm/perthousand 7{/.notdef}repeat/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/.notdef/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/.notdef/w/x
+/y/z/braceleft/bar/braceright/asciitilde/sfthyphen 16{/.notdef}repeat/Rcaron
+/.notdef/Scaron/Scedilla/Tcaron/Tcedilla/Uhungarumlaut 25{/.notdef}repeat
+/rcaron/.notdef/scaron/scedilla/tcaron/tcedilla/uhungarumlaut 13{/.notdef}
+repeat/Adieresis 6{/.notdef}repeat/Edieresis 3{/.notdef}repeat/Idieresis 6{
+/.notdef}repeat/Odieresis 5{/.notdef}repeat/Udieresis 7{/.notdef}repeat
+/adieresis 6{/.notdef}repeat/edieresis 3{/.notdef}repeat/idieresis 6{
+/.notdef}repeat/odieresis/.notdef/.notdef/ugrave/uacute/ucircumflex
+/udieresis 3{/.notdef}repeat]
+fgeit10:
+[17{/.notdef}repeat/quotedblright 52{/.notdef}repeat/F 31{/.notdef}repeat/f 9
+{/.notdef}repeat/p 143{/.notdef}repeat]
+esrelation10:
+[17{/.notdef}repeat/quotedblright/quotedblbase/guillemotleft/guillemotright
+/endash/emdash/cwm/perthousand 7{/.notdef}repeat/space/.notdef/.notdef
+/numbersign/dollar/percent/ampersand/.notdef/parenleft/parenright/asterisk
+213{/.notdef}repeat]
+yswab:
+[16{/.notdef}repeat/quotedblleft/quotedblright/quotedblbase/guillemotleft
+/guillemotright/endash/emdash/cwm/perthousand/.notdef/dotlessj 6{/.notdef}
+repeat/exclam/quotedbl/numbersign/.notdef/percent/.notdef/quoteright
+/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two
+/three/four/five/six/seven/eight/nine/colon/.notdef/less/equal/.notdef
+/question/.notdef/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/.notdef/.notdef/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek
+/.notdef/.notdef/Lcaron/Lslash/.notdef/.notdef/Eng/.notdef/.notdef/Rcaron
+/Sacute 7{/.notdef}repeat/Zacute/Zcaron 3{/.notdef}repeat/dcroat/section 4{
+/.notdef}repeat/dcaron/.notdef/.notdef/gbreve 88{/.notdef}repeat]
+yfrak:
+[16{/.notdef}repeat/quotedblleft/quotedblright/quotedblbase/guillemotleft
+/guillemotright/endash/emdash/cwm/perthousand/.notdef/dotlessj 6{/.notdef}
+repeat/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/.notdef
+/question/.notdef/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/.notdef/.notdef/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek
+/.notdef/.notdef/Lcaron/Lslash/Nacute/.notdef/Eng/.notdef/.notdef/Rcaron
+/Sacute 7{/.notdef}repeat/Zacute/Zcaron 3{/.notdef}repeat/dcroat/section 4{
+/.notdef}repeat/dcaron 36{/.notdef}repeat/Eacute 54{/.notdef}repeat]
+gmtr0500:
+gmtr0600:
+gmtr0700:
+gmtr0800:
+gmtr0900:
+gmtr1000:
+gmtr1095:
+gmtr1200:
+gmtr1440:
+gmtr1728:
+gmtr2074:
+gmtr2488:
+gmtr2986:
+gmtr3583:
+[13{/.notdef}repeat/uni03AB.alt/uni03B1.alt/.notdef/uni02CF/uni02CE/uni03DF
+/uni03D9/uni0020032E/uni03D8 4{/.notdef}repeat/uni0259/uni03E1 5{/.notdef}
+repeat/exclam 5{/.notdef}repeat/tonos/parenleft/parenright 16{/.notdef}
+repeat/colon/anoteleia/uni1FFE/.notdef/uni1FBF/semicolon/.notdef/Alpha/Beta
+/uni1FDD/uni0394/Epsilon/Phi/Gamma/Eta/Iota/Theta/Kappa 12{/.notdef}repeat
+/Xi/Psi/Zeta/bracketleft/.notdef/bracketright/uni1FCE/.notdef/uni1FEF
+/.notdef/beta/sigma1/delta/epsilon/phi/gamma/eta/iota/theta/kappa/lambda 6{
+/.notdef}repeat/sigma 4{/.notdef}repeat/xi/psi/zeta 133{/.notdef}repeat]
+cminb7:
+[12{/.notdef}repeat/fi/fl 24{/.notdef}repeat/ampersand/quoteright 4{/.notdef
+}repeat/comma/hyphen/period/.notdef/zero/one/two/three/four/five/six/seven
+/eight/nine/colon/semicolon 3{/.notdef}repeat/question/.notdef/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/.notdef/quotedblleft 3{/.notdef}
+repeat/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/endash
+/emdash 131{/.notdef}repeat]
+cminb17:
+[12{/.notdef}repeat/fi/fl 19{/.notdef}repeat/exclam/quotedblright 3{/.notdef
+}repeat/ampersand/quoteright 4{/.notdef}repeat/comma/hyphen/period/.notdef
+/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon 3{
+/.notdef}repeat/question/.notdef/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/.notdef/quotedblleft 4{/.notdef}repeat/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/endash/emdash 131{/.notdef}repeat]
+cmin10:
+cmin17:
+cmin7:
+cminb10:
+[12{/.notdef}repeat/fi/fl 19{/.notdef}repeat/exclam/quotedblright 3{/.notdef
+}repeat/ampersand/quoteright 4{/.notdef}repeat/comma/hyphen/period/.notdef
+/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon 3{
+/.notdef}repeat/question/.notdef/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/.notdef/quotedblleft 3{/.notdef}repeat/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/endash/emdash 131{/.notdef}repeat]
+xadf11:
+xadf13:
+xadf16:
+xadf20:
+xadf24:
+xadf29:
+[7{/.notdef}repeat/Upsilon/Phi/Psi 10{/.notdef}repeat/caron/breve 8{/.notdef
+}repeat/OE/Oslash/.notdef/exclam/quotedblright 50{/.notdef}repeat/U/V 169{
+/.notdef}repeat]
+cmsmfIPiXi10:
+cmsmfIPiXi12:
+cmsmfIPiXi17:
+cmsmfIPiXi8:
+cmsmfIPiXi9:
+cmsmfIPiXibx10:
+cmsmfIPiXibx12:
+cmsmfIPiXibx17:
+cmsmfIPiXibx8:
+cmsmfIPiXibx9:
+cmsmfIPiXii10:
+cmsmfIPiXii12:
+cmsmfIPiXii17:
+cmsmfIPiXii8:
+cmsmfIPiXii9:
+cmsmfIPiXixi10:
+cmsmfIPiXixi12:
+cmsmfIPiXixi17:
+cmsmfIPiXixi8:
+cmsmfIPiXixi9:
+[4{/.notdef}repeat/Xi/Pi 67{/.notdef}repeat/I 182{/.notdef}repeat]
+cmsmfIPiXibxcsc10:
+cmsmfIPiXicsc10:
+cmsmfIPiXicsc8:
+cmsmfIPiXicsc9:
+cmsmfIPiXicsci10:
+cmsmfIPiXicsci8:
+cmsmfIPiXicsci9:
+cmsmfIPiXixicsc10:
+[4{/.notdef}repeat/Xi/Pi 67{/.notdef}repeat/I 31{/.notdef}repeat/i 150{
+/.notdef}repeat]
+lasy10:
+lasy5:
+lasy6:
+lasy7:
+lasy8:
+lasy9:
+lasyb10:
+[/.notdef/a1/a2/a3/a4 35{/.notdef}repeat/a40/a41/a42/a43 4{/.notdef}repeat
+/a48/a49/a50/a51 6{/.notdef}repeat/a58/a59/a60/a61 194{/.notdef}repeat]
+llasy8:
+llasyb8:
+[/.notdef/acute/circumflex/tilde/dieresis 35{/.notdef}repeat/parenleft
+/parenright/asterisk/plus 4{/.notdef}repeat/zero/one/two/three 6{/.notdef}
+repeat/colon/semicolon/less/equal 194{/.notdef}repeat]
+assy:
+assyrb10:
+[/.notdef/acute/circumflex/tilde/dieresis/hungarumlaut/ring 5{/.notdef}
+repeat/ogonek/quotesinglbase 3{/.notdef}repeat/quotedblright/quotedblbase
+/guillemotleft/guillemotright/endash 4{/.notdef}repeat/dotlessj/ff 8{
+/.notdef}repeat/dollar/.notdef/ampersand 3{/.notdef}repeat/asterisk/.notdef
+/.notdef/hyphen 14{/.notdef}repeat/less/equal/greater/.notdef/at/A/B/.notdef
+/D/E/.notdef/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z 6{/.notdef}repeat/a/b
+/.notdef/d/e/.notdef/g/h/i/j/k/.notdef/m/n/o/p/q/r/s/t/u/v/.notdef/x/y/z
+/.notdef/bar 131{/.notdef}repeat]
+serto10:
+sertob10:
+[/.notdef/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve 3{
+/.notdef}repeat/ogonek/quotesinglbase 3{/.notdef}repeat/quotedblright
+/quotedblbase/guillemotleft/guillemotright/endash/.notdef/cwm/.notdef
+/.notdef/dotlessj/ff 5{/.notdef}repeat/exclam/quotedbl/numbersign/dollar
+/percent/ampersand 6{/.notdef}repeat/hyphen/period 11{/.notdef}repeat/colon 6
+{/.notdef}repeat/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 4{
+/.notdef}repeat/underscore 9{/.notdef}repeat/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x
+/y/z 6{/.notdef}repeat/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve
+/Lacute/Lcaron/Lslash/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute
+/Scaron/Scedilla/Tcaron/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron
+/Zdotaccent/IJ/Idotaccent/dcroat/section/abreve 10{/.notdef}repeat/nacute
+/ncaron/eng 82{/.notdef}repeat]
+auncl10:
+aunclb10:
+[/.notdef/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve
+/macron/.notdef/cedilla/ogonek/.notdef/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/grave/dotaccent/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/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/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
+/quotesinglbase/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/paragraph/Lacute
+/Lcaron/Lslash/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron
+/slong_t/Tcaron/r.half/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron/Zdot/IJ
+/Idot/dcroat/section/slong/aogonek/cacute/ccaron/dcaron/ecaron/eogonek/e_t
+/lacute/lcaron/lslash/nacute/ncaron/eng/ohungarumlaut/racute/rcaron/sacute
+/scaron/s_t/tcaron/c_t/uhungarumlaut/uring/ydieresis/zacute/zcaron/zdot/ij
+/exclamdown/questiondown/sterling/Agrave/Aacute/Acircumflex/Atilde/Adieresis
+/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute
+/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
+/OE/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/Germandbls
+/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute
+/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve
+/oacute/ocircumflex/otilde/odieresis/oe/oslash/ugrave/uacute/ucircumflex
+/udieresis/yacute/thorn/germandbls]
+esint10:
+ssesint10:
+ssesint7:
+ssesint8:
+ssesint9:
+[/.notdef/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve
+/macron/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase 4{/.notdef}repeat/cwm/perthousand
+/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/space/exclam/quotedbl/numbersign/dollar
+/percent/ampersand 217{/.notdef}repeat]
+arssb10:
+arssbs10:
+arssr10:
+arsssl10:
+artmb10:
+artmbi10:
+artmbs10:
+artmi10:
+artmr10:
+artmsl10:
+[/.notdef/armabbrev/armnum/Armdza/Armghat/Armtche/Arme/Armat/Armto/Armzhe
+/Armsha/Armcha/Armra/Armtsa/Armpyur/Armo/.notdef/armdram/armeternity/armdza
+/armghat/armtche/arme/armat/armto/armzhe/armsha/armcha/armra/armtsa/armpyur
+/armo/armew/armexclam/quotedblright/numbersign/dollar/percent/ampersand
+/armapostrophe/armparenleft/armparenright/asterisk/plus/armcomma/armendash
+/armdot/slash/zero/one/two/three/four/five/six/seven/eight/nine/armfullstop
+/semicolon/armquotleft/equal/armquotright/armquestion/at/Armayb/Armben
+/Armtso/Armda/Armyech/Armfe/Armgim/Armho/Armini/Armje/Armken/Armlyun/Armmen
+/Armnu/Armvo/Armpe/Armke/Armre/Armse/Armtyun/Armvovyun/Armvev/Armvyun/Armkhe
+/Armhi/Armza/bracketleft/quotedblleft/bracketright/braceleft/braceright
+/armsep/armayb/armben/armtso/armda/armyech/armfe/armgim/armho/armini/armje
+/armken/armlyun/armmen/armnu/armvo/armpe/armke/armre/armse/armtyun/armvovyun
+/armvev/armvyun/armkhe/armhi/armza/armyentamna/armaccent/emdash/exclam
+/question 128{/.notdef}repeat]
+wasy10:
+wasy5:
+wasy6:
+wasy7:
+wasy8:
+wasy9:
+wasyb10:
+[/APLup/lhd/unlhd/rhd/unrhd/therefore/recorder/phone/checked/pointer/bell
+/eigthnote/quarternote/halfnote/fullnote/twonotes/LHD/RHD/lightning/ascnode
+/descnode/invdiameter/logof/aries/invneg/female/male/currency/clock/varprop
+/varangle/diameter/CIRCLE/rightturn/leftturn/Circle/leftmoon/rightmoon/earth
+/mercury/leftarrowhead/rightarrowhead/uparrowhead/downarrowhead/smiley
+/blacksmiley/sun/frownie/agemO/Bowtie/Box/Diamond/XBox/lozenge/kreuz/hexagon
+/octagon/varhexagon/AC/leadsto/sqsubset/sqsupset/apprle/apprge/VHF/hexstar
+/varhexstar/davidsstar/pentagon/pentastar/APLdown/LEFTCIRCLE/RIGHTCIRCLE
+/Leftcircle/Rightcircle/UParrow/DOWNarrow 3{/.notdef}repeat/gluonelement
+/gluonbelement/gluoneelement/.notdef/.notdef/inve/conjunction/opposition
+/jupiter/saturn/uranus/neptun/pluto/taurus/gemini/cancer/virgo/libra/scorpio
+/sagittarius/capricorn/aquarius/pisces/cent/permil/thorn/Thorn/dh/openo
+/ataribox/APLuparrowbox/APLdownarrowbox/APLleftarrowbox/APLrightarrowbox
+/varint/iint/iiint/varoint/oiint/dispvarint/dispiint/dispiiint/dispvaroint
+/dispoiint/brokenvert/APLinput/APLbox/APLcomment 128{/.notdef}repeat]
+bbold10:
+bbold12:
+bbold17:
+bbold5:
+bbold6:
+bbold7:
+bbold8:
+bbold9:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/alpha/beta
+/gamma/delta/epsilon/zeta/eta/theta/iota/kappa/lambda/mu/nu/xi/pi/rho/sigma
+/tau/upsilon/phi/chi/psi/exclam/quotedblright/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/periodcentered/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/langle/rangle/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/endash/bar/emdash
+/quotedbleright/omega 128{/.notdef}repeat]
+ccmi10:
+ccmic9:
+cmbrmb10:
+cmbrmi10:
+cmbrmi8:
+cmbrmi9:
+cmmi10:
+cmmi12:
+cmmi5:
+cmmi6:
+cmmi7:
+cmmi8:
+cmmi9:
+cmmib10:
+cmmib5:
+cmmib6:
+cmmib7:
+cmmib8:
+cmmib9:
+plmi10:
+plmi12:
+plmi5:
+plmi6:
+plmi7:
+plmi8:
+plmi9:
+plmib10:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/alpha/beta
+/gamma/delta/epsilon1/zeta/eta/theta/iota/kappa/lambda/mu/nu/xi/pi/rho/sigma
+/tau/upsilon/phi/chi/psi/omega/epsilon/theta1/pi1/rho1/sigma1/phi1
+/arrowlefttophalf/arrowleftbothalf/arrowrighttophalf/arrowrightbothalf
+/arrowhookleft/arrowhookright/triangleright/triangleleft/zerooldstyle
+/oneoldstyle/twooldstyle/threeoldstyle/fouroldstyle/fiveoldstyle/sixoldstyle
+/sevenoldstyle/eightoldstyle/nineoldstyle/period/comma/less/slash/greater
+/star/partialdiff/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/flat
+/natural/sharp/slurbelow/slurabove/lscript/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/dotlessi/dotlessj/weierstrass/vector/tie 128{/.notdef}
+repeat]
+cscsc10:
+csr5:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/arrowup
+/arrowdown/quotesingle/exclamdown/questiondown/dotlessi/dotlessj/grave/acute
+/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash
+/polishlcross/exclam/quotedblright/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/quotedblleft/bracketright/circumflex/dotaccent/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/endash/emdash/hungarumlaut
+/tilde/dieresis 13{/.notdef}repeat/perthousand 10{/.notdef}repeat/Agrave 3{
+/.notdef}repeat/althyphen/ogonek/guillemotleft/guillemotright 5{/.notdef}
+repeat/Lcaron 3{/.notdef}repeat/Scaron/.notdef/Tcaron/.notdef/.notdef/Zcaron
+6{/.notdef}repeat/lcaron/.notdef/.notdef/agrave/scaron/.notdef/tcaron
+/.notdef/.notdef/zcaron/.notdef/Racute/Aacute/.notdef/.notdef/Adieresis
+/Lacute/.notdef/.notdef/Ccaron/Eacute/.notdef/.notdef/Ecaron/Iacute/.notdef
+/Dcaron/.notdef/.notdef/Ncaron/Oacute/Ocircumflex/.notdef/Odieresis/.notdef
+/Rcaron/Uring/Uacute/.notdef/Udieresis/Yacute/.notdef/.notdef/racute/aacute
+/.notdef/.notdef/adieresis/lacute/.notdef/.notdef/ccaron/eacute/.notdef
+/.notdef/ecaron/iacute/.notdef/dcaron/.notdef/.notdef/ncaron/oacute
+/ocircumflex/.notdef/odieresis/.notdef/rcaron/uring/uacute/.notdef/udieresis
+/yacute/quotedblbase/csquotedblright]
+cccsc10:
+ccr5:
+cmcsc10:
+cmcsc8:
+cmcsc9:
+cmr5:
+punk10:
+punk12:
+punk20:
+punkbx20:
+punkbxx20:
+punksl20:
+punkslx20:
+punkz20:
+ttmc10:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/arrowup
+/arrowdown/quotesingle/exclamdown/questiondown/dotlessi/dotlessj/grave/acute
+/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash
+/suppress/exclam/quotedblright/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/quotedblleft/bracketright/circumflex/dotaccent/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/endash/emdash/hungarumlaut
+/tilde/dieresis 128{/.notdef}repeat]
+plcsc10:
+plr5:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/arrowup
+/arrowdown/quotesingle/exclamdown/questiondown/dotlessi/dotlessj/grave/acute
+/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash
+/suppress/exclam/quotedblright/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/quotedblleft/bracketright/circumflex/dotaccent/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/endash/emdash/hungarumlaut
+/tilde/dieresis/.notdef/Aogonek/Cacute 3{/.notdef}repeat/Eogonek 3{/.notdef}
+repeat/Lslash/Nacute 5{/.notdef}repeat/Sacute 7{/.notdef}repeat/Zacute
+/.notdef/Zdotaccent 5{/.notdef}repeat/aogonek/cacute 3{/.notdef}repeat
+/eogonek 3{/.notdef}repeat/lslash/nacute/.notdef/.notdef/guillemotleft
+/guillemotright/.notdef/sacute 7{/.notdef}repeat/zacute/.notdef/zdotaccent 23
+{/.notdef}repeat/Oacute 31{/.notdef}repeat/oacute 11{/.notdef}repeat
+/quotedblbase]
+cmntt10:
+cmsltt10:
+cmsltt9:
+cmtcsc10:
+cmtt10:
+cmtt12:
+cmtt8:
+cmtt9:
+cmttsq14:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/arrowup
+/arrowdown/quotesingle/exclamdown/questiondown/dotlessi/dotlessj/grave/acute
+/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash
+/visiblespace/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
+/dieresis 128{/.notdef}repeat]
+cssltt10:
+cstcsc10:
+cstt10:
+cstt12:
+cstt8:
+cstt9:
+csvtt10:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/arrowup
+/arrowdown/quotesingle/exclamdown/questiondown/dotlessi/dotlessj/grave/acute
+/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash
+/visiblespace/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
+/dieresis 13{/.notdef}repeat/perthousand 10{/.notdef}repeat/Agrave 3{
+/.notdef}repeat/althyphen/ogonek/guillemotleft/guillemotright 5{/.notdef}
+repeat/Lcaron 3{/.notdef}repeat/Scaron/.notdef/Tcaron/.notdef/.notdef/Zcaron
+6{/.notdef}repeat/lcaron/.notdef/.notdef/agrave/scaron/.notdef/tcaron
+/.notdef/.notdef/zcaron/.notdef/Racute/Aacute/.notdef/.notdef/Adieresis
+/Lacute/.notdef/.notdef/Ccaron/Eacute/.notdef/.notdef/Ecaron/Iacute/.notdef
+/Dcaron/.notdef/.notdef/Ncaron/Oacute/Ocircumflex/.notdef/Odieresis/.notdef
+/Rcaron/Uring/Uacute/.notdef/Udieresis/Yacute/.notdef/.notdef/racute/aacute
+/.notdef/.notdef/adieresis/lacute/.notdef/.notdef/ccaron/eacute/.notdef
+/.notdef/ecaron/iacute/.notdef/dcaron/.notdef/.notdef/ncaron/oacute
+/ocircumflex/.notdef/odieresis/.notdef/rcaron/uring/uacute/.notdef/udieresis
+/yacute/quotedblbase/csquotedblright]
+plsltt10:
+pltcsc10:
+pltt10:
+pltt12:
+pltt8:
+pltt9:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/arrowup
+/arrowdown/quotesingle/exclamdown/questiondown/dotlessi/dotlessj/grave/acute
+/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash
+/visiblespace/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
+/dieresis/.notdef/Aogonek/Cacute 3{/.notdef}repeat/Eogonek 3{/.notdef}repeat
+/Lslash/Nacute 5{/.notdef}repeat/Sacute 7{/.notdef}repeat/Zacute/.notdef
+/Zdotaccent 5{/.notdef}repeat/aogonek/cacute 3{/.notdef}repeat/eogonek 3{
+/.notdef}repeat/lslash/nacute/.notdef/.notdef/guillemotleft/guillemotright
+/.notdef/sacute 7{/.notdef}repeat/zacute/.notdef/zdotaccent 23{/.notdef}
+repeat/Oacute 31{/.notdef}repeat/oacute 11{/.notdef}repeat/quotedblbase]
+cmitt10:
+cmitt12:
+cmitt9:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/arrowup
+/arrowdown/quotesingle/exclamdown/questiondown/dotlessi/dotlessj/grave/acute
+/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash
+/visiblespace/exclam/quotedbl/numbersign/sterling/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/dieresis 128{/.notdef}repeat]
+csitt10:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/arrowup
+/arrowdown/quotesingle/exclamdown/questiondown/dotlessi/dotlessj/grave/acute
+/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash
+/visiblespace/exclam/quotedbl/numbersign/sterling/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/dieresis 13{/.notdef}repeat/perthousand 10{/.notdef}repeat
+/Agrave 3{/.notdef}repeat/althyphen/ogonek/guillemotleft/guillemotright 5{
+/.notdef}repeat/Lcaron 3{/.notdef}repeat/Scaron/.notdef/Tcaron/.notdef
+/.notdef/Zcaron 6{/.notdef}repeat/lcaron/.notdef/.notdef/agrave/scaron
+/.notdef/tcaron/.notdef/.notdef/zcaron/.notdef/Racute/Aacute/.notdef/.notdef
+/Adieresis/Lacute/.notdef/.notdef/Ccaron/Eacute/.notdef/.notdef/Ecaron
+/Iacute/.notdef/Dcaron/.notdef/.notdef/Ncaron/Oacute/Ocircumflex/.notdef
+/Odieresis/.notdef/Rcaron/Uring/Uacute/.notdef/Udieresis/Yacute/.notdef
+/.notdef/racute/aacute/.notdef/.notdef/adieresis/lacute/.notdef/.notdef
+/ccaron/eacute/.notdef/.notdef/ecaron/iacute/.notdef/dcaron/.notdef/.notdef
+/ncaron/oacute/ocircumflex/.notdef/odieresis/.notdef/rcaron/uring/uacute
+/.notdef/udieresis/yacute/quotedblbase/csquotedblright]
+plitt10:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/arrowup
+/arrowdown/quotesingle/exclamdown/questiondown/dotlessi/dotlessj/grave/acute
+/caron/breve/macron/ring/cedilla/germandbls/ae/oe/oslash/AE/OE/Oslash
+/visiblespace/exclam/quotedbl/numbersign/sterling/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/dieresis/.notdef/Aogonek/Cacute 3{/.notdef}repeat/Eogonek 3{
+/.notdef}repeat/Lslash/Nacute 5{/.notdef}repeat/Sacute 7{/.notdef}repeat
+/Zacute/.notdef/Zdotaccent 5{/.notdef}repeat/aogonek/cacute 3{/.notdef}
+repeat/eogonek 3{/.notdef}repeat/lslash/nacute/.notdef/.notdef/guillemotleft
+/guillemotright/.notdef/sacute 7{/.notdef}repeat/zacute/.notdef/zdotaccent 23
+{/.notdef}repeat/Oacute 31{/.notdef}repeat/oacute 11{/.notdef}repeat
+/quotedblbase]
+csb10:
+csbx10:
+csbx12:
+csbx5:
+csbx6:
+csbx7:
+csbx8:
+csbx9:
+csbxsl10:
+csdunh10:
+csff10:
+csfib8:
+csr10:
+csr12:
+csr17:
+csr6:
+csr7:
+csr8:
+csr9:
+cssl10:
+cssl12:
+cssl8:
+cssl9:
+csss10:
+csss12:
+csss17:
+csss8:
+csss9:
+csssbx10:
+csssdc10:
+csssi10:
+csssi12:
+csssi17:
+csssi8:
+csssi9:
+csssq8:
+csssqi8:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/ff/fi/fl/ffi
+/ffl/dotlessi/dotlessj/grave/acute/caron/breve/macron/ring/cedilla
+/germandbls/ae/oe/oslash/AE/OE/Oslash/polishlcross/exclam/quotedblright
+/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/exclamdown/equal/questiondown/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
+/quotedblleft/bracketright/circumflex/dotaccent/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/endash/emdash/hungarumlaut/tilde/dieresis
+13{/.notdef}repeat/perthousand 10{/.notdef}repeat/Agrave 3{/.notdef}repeat
+/althyphen/ogonek/guillemotleft/guillemotright 5{/.notdef}repeat/Lcaron 3{
+/.notdef}repeat/Scaron/.notdef/Tcaron/.notdef/.notdef/Zcaron 6{/.notdef}
+repeat/lcaron/.notdef/.notdef/agrave/scaron/.notdef/tcaron/.notdef/.notdef
+/zcaron/.notdef/Racute/Aacute/.notdef/.notdef/Adieresis/Lacute/.notdef
+/.notdef/Ccaron/Eacute/.notdef/.notdef/Ecaron/Iacute/.notdef/Dcaron/.notdef
+/.notdef/Ncaron/Oacute/Ocircumflex/.notdef/Odieresis/.notdef/Rcaron/Uring
+/Uacute/.notdef/Udieresis/Yacute/.notdef/.notdef/racute/aacute/.notdef
+/.notdef/adieresis/lacute/.notdef/.notdef/ccaron/eacute/.notdef/.notdef
+/ecaron/iacute/.notdef/dcaron/.notdef/.notdef/ncaron/oacute/ocircumflex
+/.notdef/odieresis/.notdef/rcaron/uring/uacute/.notdef/udieresis/yacute
+/quotedblbase/csquotedblright]
+csbxti10:
+csfi10:
+csti10:
+csti12:
+csti7:
+csti8:
+csti9:
+csu10:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/ff/fi/fl/ffi
+/ffl/dotlessi/dotlessj/grave/acute/caron/breve/macron/ring/cedilla
+/germandbls/ae/oe/oslash/AE/OE/Oslash/polishlcross/exclam/quotedblright
+/numbersign/sterling/percent/ampersand/quoteright/parenleft/parenright
+/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six
+/seven/eight/nine/colon/semicolon/exclamdown/equal/questiondown/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
+/quotedblleft/bracketright/circumflex/dotaccent/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/endash/emdash/hungarumlaut/tilde/dieresis
+13{/.notdef}repeat/perthousand 10{/.notdef}repeat/Agrave 3{/.notdef}repeat
+/althyphen/ogonek/guillemotleft/guillemotright 5{/.notdef}repeat/Lcaron 3{
+/.notdef}repeat/Scaron/.notdef/Tcaron/.notdef/.notdef/Zcaron 6{/.notdef}
+repeat/lcaron/.notdef/.notdef/agrave/scaron/.notdef/tcaron/.notdef/.notdef
+/zcaron/.notdef/Racute/Aacute/.notdef/.notdef/Adieresis/Lacute/.notdef
+/.notdef/Ccaron/Eacute/.notdef/.notdef/Ecaron/Iacute/.notdef/Dcaron/.notdef
+/.notdef/Ncaron/Oacute/Ocircumflex/.notdef/Odieresis/.notdef/Rcaron/Uring
+/Uacute/.notdef/Udieresis/Yacute/.notdef/.notdef/racute/aacute/.notdef
+/.notdef/adieresis/lacute/.notdef/.notdef/ccaron/eacute/.notdef/.notdef
+/ecaron/iacute/.notdef/dcaron/.notdef/.notdef/ncaron/oacute/ocircumflex
+/.notdef/odieresis/.notdef/rcaron/uring/uacute/.notdef/udieresis/yacute
+/quotedblbase/csquotedblright]
+ccn10:
+ccr10:
+ccr7:
+ccr8:
+ccr9:
+ccsl10:
+ccsl9:
+ccslc9:
+cmb10:
+cmbr10:
+cmbr17:
+cmbr8:
+cmbr9:
+cmbrbx10:
+cmbrsl10:
+cmbrsl17:
+cmbrsl8:
+cmbrsl9:
+cmbx10:
+cmbx12:
+cmbx5:
+cmbx6:
+cmbx7:
+cmbx8:
+cmbx9:
+cmbxcd10:
+cmbxsl10:
+cmdunh10:
+cmhFv:
+cmr10:
+cmr10mod:
+cmr12:
+cmr17:
+cmr6:
+cmr7:
+cmr8:
+cmr9:
+cmsl10:
+cmsl12:
+cmsl6:
+cmsl8:
+cmsl9:
+cmsltl10:
+cmss10:
+cmss12:
+cmss17:
+cmss8:
+cmss9:
+cmssbx10:
+cmssbxcsc10:
+cmssbxo10:
+cmsscsc10:
+cmsscsc8:
+cmsscsc9:
+cmsscsci10:
+cmsscsci8:
+cmsscsci9:
+cmssdc10:
+cmssi10:
+cmssi12:
+cmssi17:
+cmssi8:
+cmssi9:
+cmsslu30:
+cmssq8:
+cmssqi8:
+cmssu10:
+cmssxicsc10:
+cmtitl:
+cmtl10:
+cmvtt10:
+f36:
+geom10:
+lcmss8:
+lcmssb8:
+lcmssi8:
+pcmi10:
+xbmc10:
+xmas0:
+xmas1:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/ff/fi/fl/ffi
+/ffl/dotlessi/dotlessj/grave/acute/caron/breve/macron/ring/cedilla
+/germandbls/ae/oe/oslash/AE/OE/Oslash/suppress/exclam/quotedblright
+/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/exclamdown/equal/questiondown/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
+/quotedblleft/bracketright/circumflex/dotaccent/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/endash/emdash/hungarumlaut/tilde/dieresis
+128{/.notdef}repeat]
+pccsc10:
+pcr10:
+pcr5:
+pcr6:
+pcr7:
+pcr8:
+pcr9:
+pcsl10:
+pcslc9:
+pcti10:
+plb10:
+plbx10:
+plbx12:
+plbx5:
+plbx6:
+plbx7:
+plbx8:
+plbx9:
+plbxsl10:
+pldunh10:
+plff10:
+plfib8:
+plr10:
+plr12:
+plr17:
+plr6:
+plr7:
+plr8:
+plr9:
+plsl10:
+plsl12:
+plsl8:
+plsl9:
+plss10:
+plss12:
+plss17:
+plss8:
+plss9:
+plssbi10:
+plssbx10:
+plssdc10:
+plssi10:
+plssi12:
+plssi17:
+plssi8:
+plssi9:
+plssq8:
+plssqi8:
+plvtt10:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/ff/fi/fl/ffi
+/ffl/dotlessi/dotlessj/grave/acute/caron/breve/macron/ring/cedilla
+/germandbls/ae/oe/oslash/AE/OE/Oslash/suppress/exclam/quotedblright
+/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/exclamdown/equal/questiondown/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
+/quotedblleft/bracketright/circumflex/dotaccent/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/endash/emdash/hungarumlaut/tilde/dieresis
+/.notdef/Aogonek/Cacute 3{/.notdef}repeat/Eogonek 3{/.notdef}repeat/Lslash
+/Nacute 5{/.notdef}repeat/Sacute 7{/.notdef}repeat/Zacute/.notdef/Zdotaccent
+5{/.notdef}repeat/aogonek/cacute 3{/.notdef}repeat/eogonek 3{/.notdef}repeat
+/lslash/nacute/.notdef/.notdef/guillemotleft/guillemotright/.notdef/sacute 7
+{/.notdef}repeat/zacute/.notdef/zdotaccent 23{/.notdef}repeat/Oacute 31{
+/.notdef}repeat/oacute 11{/.notdef}repeat/quotedblbase]
+bible12:
+ccti10:
+cmbxti10:
+cmbxti12:
+cmbxti7:
+cmff10:
+cmfi10:
+cmfib8:
+cmti10:
+cmti12:
+cmti7:
+cmti8:
+cmti9:
+cmu10:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/ff/fi/fl/ffi
+/ffl/dotlessi/dotlessj/grave/acute/caron/breve/macron/ring/cedilla
+/germandbls/ae/oe/oslash/AE/OE/Oslash/suppress/exclam/quotedblright
+/numbersign/sterling/percent/ampersand/quoteright/parenleft/parenright
+/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six
+/seven/eight/nine/colon/semicolon/exclamdown/equal/questiondown/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
+/quotedblleft/bracketright/circumflex/dotaccent/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/endash/emdash/hungarumlaut/tilde/dieresis
+128{/.notdef}repeat]
+plbxti10:
+plfi10:
+plti10:
+plti12:
+plti7:
+plti8:
+plti9:
+plu10:
+[/Gamma/Delta/Theta/Lambda/Xi/Pi/Sigma/Upsilon/Phi/Psi/Omega/ff/fi/fl/ffi
+/ffl/dotlessi/dotlessj/grave/acute/caron/breve/macron/ring/cedilla
+/germandbls/ae/oe/oslash/AE/OE/Oslash/suppress/exclam/quotedblright
+/numbersign/sterling/percent/ampersand/quoteright/parenleft/parenright
+/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six
+/seven/eight/nine/colon/semicolon/exclamdown/equal/questiondown/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
+/quotedblleft/bracketright/circumflex/dotaccent/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/endash/emdash/hungarumlaut/tilde/dieresis
+/.notdef/Aogonek/Cacute 3{/.notdef}repeat/Eogonek 3{/.notdef}repeat/Lslash
+/Nacute 5{/.notdef}repeat/Sacute 7{/.notdef}repeat/Zacute/.notdef/Zdotaccent
+5{/.notdef}repeat/aogonek/cacute 3{/.notdef}repeat/eogonek 3{/.notdef}repeat
+/lslash/nacute/.notdef/.notdef/guillemotleft/guillemotright/.notdef/sacute 7
+{/.notdef}repeat/zacute/.notdef/zdotaccent 23{/.notdef}repeat/Oacute 31{
+/.notdef}repeat/oacute 11{/.notdef}repeat/quotedblbase]
+tbbx10:
+tbmo10:
+tbmo17:
+tbmo8:
+tbmo9:
+tbmr10:
+tbmr17:
+tbmr8:
+tbmr9:
+tbso10:
+tbso17:
+tbso8:
+tbso9:
+tbsr10:
+tbsr17:
+tbsr8:
+tbsr9:
+tbtl10:
+tbto10:
+tcbi0500:
+tcbi0600:
+tcbi0700:
+tcbi0800:
+tcbi0900:
+tcbi1000:
+tcbi1095:
+tcbi1200:
+tcbi1440:
+tcbi1728:
+tcbi2074:
+tcbi2488:
+tcbi2986:
+tcbi3583:
+tcbl0500:
+tcbl0600:
+tcbl0700:
+tcbl0800:
+tcbl0900:
+tcbl1000:
+tcbl1095:
+tcbl1200:
+tcbl1440:
+tcbl1728:
+tcbl2074:
+tcbl2488:
+tcbl2986:
+tcbl3583:
+tcbx0500:
+tcbx0600:
+tcbx0700:
+tcbx0800:
+tcbx0900:
+tcbx1000:
+tcbx1095:
+tcbx1200:
+tcbx1440:
+tcbx1728:
+tcbx2074:
+tcbx2488:
+tcbx2986:
+tcbx3583:
+tcci0500:
+tcci0600:
+tcci0700:
+tcci0800:
+tcci0900:
+tcci1000:
+tcci1095:
+tcci1200:
+tcci1440:
+tcci1728:
+tcci2074:
+tcci2488:
+tcci2986:
+tcci3583:
+tcit0800:
+tcit0900:
+tcit1000:
+tcit1095:
+tcit1200:
+tcit1440:
+tcit1728:
+tcit2074:
+tcit2488:
+tcit2986:
+tcit3583:
+tcrb0500:
+tcrb0600:
+tcrb0700:
+tcrb0800:
+tcrb0900:
+tcrb1000:
+tcrb1095:
+tcrb1200:
+tcrb1440:
+tcrb1728:
+tcrb2074:
+tcrb2488:
+tcrb2986:
+tcrb3583:
+tcrm0500:
+tcrm0600:
+tcrm0700:
+tcrm0800:
+tcrm0900:
+tcrm1000:
+tcrm1095:
+tcrm1200:
+tcrm1440:
+tcrm1728:
+tcrm2074:
+tcrm2488:
+tcrm2986:
+tcrm3583:
+tcsi0500:
+tcsi0600:
+tcsi0700:
+tcsi0800:
+tcsi0900:
+tcsi1000:
+tcsi1095:
+tcsi1200:
+tcsi1440:
+tcsi1728:
+tcsi2074:
+tcsi2488:
+tcsi2986:
+tcsi3583:
+tcsl0500:
+tcsl0600:
+tcsl0700:
+tcsl0800:
+tcsl0900:
+tcsl1000:
+tcsl1095:
+tcsl1200:
+tcsl1440:
+tcsl1728:
+tcsl2074:
+tcsl2488:
+tcsl2986:
+tcsl3583:
+tcso0500:
+tcso0600:
+tcso0700:
+tcso0800:
+tcso0900:
+tcso1000:
+tcso1095:
+tcso1200:
+tcso1440:
+tcso1728:
+tcso2074:
+tcso2488:
+tcso2986:
+tcso3583:
+tcss0500:
+tcss0600:
+tcss0700:
+tcss0800:
+tcss0900:
+tcss1000:
+tcss1095:
+tcss1200:
+tcss1440:
+tcss1728:
+tcss2074:
+tcss2488:
+tcss2986:
+tcss3583:
+tcssdc10:
+tcst0800:
+tcst0900:
+tcst1000:
+tcst1095:
+tcst1200:
+tcst1440:
+tcst1728:
+tcst2074:
+tcst2488:
+tcst2986:
+tcst3583:
+tcsx0500:
+tcsx0600:
+tcsx0700:
+tcsx0800:
+tcsx0900:
+tcsx1000:
+tcsx1095:
+tcsx1200:
+tcsx1440:
+tcsx1728:
+tcsx2074:
+tcsx2488:
+tcsx2986:
+tcsx3583:
+tcti0500:
+tcti0600:
+tcti0700:
+tcti0800:
+tcti0900:
+tcti1000:
+tcti1095:
+tcti1200:
+tcti1440:
+tcti1728:
+tcti2074:
+tcti2488:
+tcti2986:
+tcti3583:
+tctt0800:
+tctt0900:
+tctt1000:
+tctt1095:
+tctt1200:
+tctt1440:
+tctt1728:
+tctt2074:
+tctt2488:
+tctt2986:
+tctt3583:
+tcui0500:
+tcui0600:
+tcui0700:
+tcui0800:
+tcui0900:
+tcui1000:
+tcui1095:
+tcui1200:
+tcui1440:
+tcui1728:
+tcui2074:
+tcui2488:
+tcui2986:
+tcui3583:
+tcvi0800:
+tcvi0900:
+tcvi1000:
+tcvi1095:
+tcvi1200:
+tcvi1440:
+tcvi1728:
+tcvi2074:
+tcvi2488:
+tcvi2986:
+tcvi3583:
+tcvt0800:
+tcvt0900:
+tcvt1000:
+tcvt1095:
+tcvt1200:
+tcvt1440:
+tcvt1728:
+tcvt2074:
+tcvt2488:
+tcvt2986:
+tcvt3583:
+torm10:
+torm5:
+torm6:
+torm7:
+torm8:
+torm9:
+tosl10:
+tosl5:
+tosl6:
+tosl7:
+tosl8:
+tosl9:
+toti10:
+[/Grave/Acute/Circumflex/Tilde/Dieresis/Hungarumlaut/Ring/Caron/Breve/Macron
+/Dotaccent/cedilla/ogonek/quotesinglbase.ts1 4{/.notdef}repeat
+/quotedblbase.ts1/.notdef/.notdef/twelveudash/threequartersemdash
+/afii61664.cap/arrowleft/arrowright/tieaccentlowercase/tieaccentcapital
+/tieaccentlowercase.new/tieaccentcapital.new/.notdef/afii61664.asc/uni2422 3
+{/.notdef}repeat/dollar/.notdef/.notdef/quotesingle/.notdef/.notdef
+/asteriskmath/.notdef/comma/hyphendbl/period/fraction/zerooldstyle
+/oneoldstyle/twooldstyle/threeoldstyle/fouroldstyle/fiveoldstyle/sixoldstyle
+/sevenoldstyle/eightoldstyle/nineoldstyle/.notdef/.notdef/angleleft/minus
+/angleright 14{/.notdef}repeat/uni2127/.notdef/circle 7{/.notdef}repeat
+/Omega 3{/.notdef}repeat/uni301A/.notdef/uni301B/arrowup/arrowdown/grave.ts1
+/.notdef/born/divorced/died 7{/.notdef}repeat/leaf/married/musicalnote 15{
+/.notdef}repeat/tildelow/hyphendbl.alt/breve.ts1/caron.ts1/hungarumlaut.ts1
+/dblgrave.ts1/dagger/daggerdbl/uni2016/perthousand/bullet/uni2103
+/dollaroldstyle/centoldstyle/florin/colonmonetary/uni20A9/uni20A6/guarani
+/peso/lira/recipe/uni203D/gnaborretni/dong/trademark/uni2031/paragraph.alt
+/uni0E3F/afii61352/discount/estimated/openbullet/uni2120/uni2045/uni2046
+/cent/sterling/currency/yen/brokenbar/section/dieresis.ts1/copyright
+/ordfeminine/copyleft/logicalnot/uni2117/registered/macron.ts1/degree
+/plusminus/twosuperior/threesuperior/acute.ts1/mu/paragraph/periodcentered
+/uni203B/onesuperior/ordmasculine/radical/onequarter/onehalf/threequarters
+/Euro 22{/.notdef}repeat/multiply 31{/.notdef}repeat/divide 9{/.notdef}
+repeat]
+yrcmex10:
+[/NUL/Eth/eth/Lslash/lslash/Scaron/scaron/Yacute/yacute/HT/LF/Thorn/thorn/CR
+/Zcaron/zcaron/DLE/DC1/DC2/DC3/DC4/onehalf/onequarter/onesuperior
+/threequarters/threesuperior/twosuperior/brokenbar/minus/multiply/RS/US
+/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle
+/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two
+/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater
+/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft
+/backslash/bracketright/asciicircum/underscore/grave/a/b/c/d/e/f/g/h/i/j/k/l
+/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde/DEL
+/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute/agrave
+/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave/ecircumflex
+/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute/ograve
+/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis/dagger
+/degree/cent/sterling/section/bullet/paragraph/germandbls/registered
+/copyright/trademark/acute/dieresis/notequal/AE/Oslash/infinity/plusminus
+/lessequal/greaterequal/yen/mu/partialdiff/summation/product/pi/integral
+/ordfeminine/ordmasculine/Omega/ae/oslash/questiondown/exclamdown/logicalnot
+/radical/florin/approxequal/Delta/guillemotleft/guillemotright/ellipsis
+/nbspace/Agrave/Atilde/Otilde/OE/oe/endash/emdash/quotedblleft/quotedblright
+/quoteleft/quoteright/divide/lozenge/ydieresis/Ydieresis/fraction/currency
+/guilsinglleft/guilsinglright/fi/fl/daggerdbl/periodcentered/quotesinglbase
+/quotedblbase/perthousand/Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave
+/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex/apple/Ograve/Uacute
+/Ucircumflex/Ugrave/dotlessi/circumflex/tilde/macron/breve/dotaccent/ring
+/cedilla/hungarumlaut/ogonek/caron]
+wncyb10:
+wncyb5:
+wncyb6:
+wncyb7:
+wncyb8:
+wncyb9:
+wncyi10:
+wncyi5:
+wncyi6:
+wncyi7:
+wncyi8:
+wncyi9:
+wncyr10:
+wncyr5:
+wncyr6:
+wncyr7:
+wncyr8:
+wncyr9:
+wncysc10:
+wncyss10:
+wncyss8:
+wncyss9:
+[/Nj/Lj/Dzh/Ze/Iroman/Ye/Dj/Tsoft/nj/lj/dzh/ze/iroman/ye/dj/tsoft/Yu/Zhe
+/Ishort/Yo/Izhitsa/Fita/Zelo/Ya/yu/zhe/ishort/yo/izhitsa/fita/zelo/ya
+/dieresis/exclam/quotedblright/Yatz/breve1/percent/acute/quoteright
+/parenleft/parenright/asterisk/yatz/comma/hyphen/period/slash/zero/one/two
+/three/four/five/six/seven/eight/nine/colon/semicolon/guillemotleft/dotlessi
+/guillemotright/question/breve/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/quotedblleft/bracketright/Soft/Hard/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/endash/emdash/number/soft/hard 128{
+/.notdef}repeat]
+line10:
+linew10:
+[/a0/a1/a2/a3/a4/a5/.notdef/.notdef/a8/a9/a10/a11/a12/a13/a14/a15/a16/a17
+/a18/a19/a20/a21/.notdef/a23/a24/a25/a26/a27/a28/a29/a30/.notdef/a32/a33/a34
+/a35/.notdef/a37/.notdef/.notdef/a40/a41/a42/a43/a44/a45/.notdef/a47/.notdef
+/a49/.notdef/a51/.notdef/.notdef/a54/a55/.notdef/a57/a58/.notdef/.notdef/a61
+/a62/a63/a64/a65/a66/a67/a68/a69/.notdef/.notdef/a72/a73/a74/a75/a76/a77/a78
+/a79/a80/a81/a82/a83/a84/a85/.notdef/a87/a88/a89/a90/.notdef/a92/a93/a94
+/.notdef/a96/a97/a98/a99/.notdef/a101/.notdef/.notdef/a104/a105/a106/a107
+/a108/.notdef/.notdef/a111/.notdef/a113/.notdef/a115 3{/.notdef}repeat/a119
+/.notdef/a121/a122/.notdef/.notdef/a125/a126 129{/.notdef}repeat]
+lcircle10:
+lcirclew10:
+[/a0/a1/a2/a3/a4/a5/a6/a7/a8/a9/a10/a11/a12/a13/a14/a15/a16/a17/a18/a19/a20
+/a21/a22/a23/a24/a25/a26/a27/a28/a29/a30/a31/a32/a33/a34/a35/a36/a37/a38/a39
+56{/.notdef}repeat/a96/a97/a98/a99/a100/a101/a102/a103/a104/a105/a106/a107
+/a108/a109/a110/.notdef/a112/a113/a114/a115/a116/a117/a118/a119/a120/a121
+/a122/a123/a124/a125/a126 129{/.notdef}repeat]
+xydash10:
+[/a0/a1/a2/a3/a4/a5/a6/a7/a8/a9/a10/a11/a12/a13/a14/a15/a16/a17/a18/a19/a20
+/a21/a22/a23/a24/a25/a26/a27/a28/a29/a30/a31/a32/a33/a34/a35/a36/a37/a38/a39
+/a40/a41/a42/a43/a44/a45/a46/a47/a48/a49/a50/a51/a52/a53/a54/a55/a56/a57/a58
+/a59/a60/a61/a62/a63/a64/a65/a66/a67/a68/a69/a70/a71/a72/a73/a74/a75/a76/a77
+/a78/a79/a80/a81/a82/a83/a84/a85/a86/a87/a88/a89/a90/a91/a92/a93/a94/a95/a96
+/a97/a98/a99/a100/a101/a102/a103/a104/a105/a106/a107/a108/a109/a110/a111
+/a112/a113/a114/a115/a116/a117/a118/a119/a120/a121/a122/a123/a124/a125/a126
+/a127 128{/.notdef}repeat]
+MnSymbolA-Bold10:
+MnSymbolA-Bold12:
+MnSymbolA-Bold5:
+MnSymbolA-Bold6:
+MnSymbolA-Bold7:
+MnSymbolA-Bold8:
+MnSymbolA-Bold9:
+MnSymbolA10:
+MnSymbolA12:
+MnSymbolA5:
+MnSymbolA6:
+MnSymbolA7:
+MnSymbolA8:
+MnSymbolA9:
+[/arrowright/arrowup/arrowleft/arrowdown/arrowupright/arrowupleft
+/arrowdownleft/arrowdownright/arrowdblright/arrowdblup/arrowdblleft
+/arrowdbldown/uni21D7/uni21D6/uni21D9/uni21D8/arrowboth/arrowupdn/uni2921
+/uni2922/arrowdblboth/uni21D5/Neswarrow/Nwsearrow/uni21A0/uni219F/uni219E
+/uni21A1/twoheadnearrow/twoheadnwarrow/twoheadswarrow/twoheadsearrow/uni21A3
+/uparrowtail/uni21A2/downarrowtail/nearrowtail/nwarrowtail/swarrowtail
+/searrowtail/uni21A6/uni21A5/uni21A4/uni21A7/nemapsto/nwmapsto/swmapsto
+/semapsto/uni21AA/lhookuparrow/lhookleftarrow/lhookdownarrow/lhooknearrow
+/uni2923/lhookswarrow/uni2925/rhookrightarrow/rhookuparrow/uni21A9
+/rhookdownarrow/uni2924/rhooknwarrow/uni2926/rhooksearrow/harpoonrightbarbup
+/uni21BF/uni21BD/uni21C2/neharpoonup/nwharpoonup/swharpoonup/seharpoonup
+/uni21C1/uni21BE/harpoonleftbarbup/uni21C3/neharpoondown/nwharpoondown
+/swharpoondown/seharpoondown/uni294B/updownharpoonleftright/neswharpoonnwse
+/senwharpoonnesw/uni294A/updownharpoonrightleft/neswharpoonsenw
+/nwseharpoonswne/uni21CC/uni296E/neswharpoons/senwharpoons/uni21CB/uni296F
+/swneharpoons/nwseharpoons/arrowdashright/arrowdashup/arrowdashleft
+/arrowdashdown/dashednearrow/dashednwarrow/dashedswarrow/dashedsearrow
+/uni22B8/uni2AEF/uni27DC/uni2AF0/nespoon/nwspoon/swspoon/sespoon
+/rightfilledspoon/upfilledspoon/leftfilledspoon/downfilledspoon
+/nefilledspoon/nwfilledspoon/swfilledspoon/sefilledspoon/rightfootline
+/upfootline/leftfootline/downfootline/nefootline/nwfootline/swfootline
+/sefootline/rightfree/upfree/leftfree/uni2ADD/nefree/nwfree/swfree/sefree
+/rightpitchfork/uni22D4/leftpitchfork/uni2ADB/nepitchfork/nwpitchfork
+/swpitchfork/sepitchfork/uni21C9/uni21C8/uni21C7/uni21CA/nenearrows
+/nwnwarrows/swswarrows/sesearrows/arrowrightoverleft/updownarrows/neswarrows
+/nwsearrows/uni21C6/downuparrows/swnearrows/senwarrows/uni219D/uplsquigarrow
+/leftlsquigarrow/downlsquigarrow/nelsquigarrow/nwlsquigarrow/swlsquigarrow
+/selsquigarrow/rightrsquigarrow/uprsquigarrow/uni219C/downrsquigarrow
+/nersquigarrow/nwrsquigarrow/swrsquigarrow/sersquigarrow/uni21AD
+/squigarrowupdown/squigarrowrightleft/squigarrowdownup/squigarrownesw
+/squigarrownwse/squigarrowswne/squigarrowsenw/uni21B7/lcurvearrowup
+/lcurvearrowleft/uni2938/lcurvearrowne/lcurvearrownw/lcurvearrowsw
+/lcurvearrowse/rcurvearrowright/rcurvearrowup/uni21B6/uni2939/rcurvearrowne
+/rcurvearrownw/rcurvearrowsw/rcurvearrowse/curvearrowleftright
+/curvearrowupdown/curvearrowrightleft/curvearrowdownup/curvearrownesw
+/curvearrownwse/curvearrowswne/curvearrowsenw/leftrightline/divides/neswline
+/nwseline/Leftrightline/parallel/Neswline/Nwseline/uni22A2/perpendicular
+/uni22A3/uni22A4/nevdash/nwvdash/swvdash/sevdash/uni22A7/upmodels/leftmodels
+/downmodels/nemodels/nwmodels/swmodels/semodels/uni22A9/uni234A/leftVdash
+/uni2351/neVdash/nwVdash/swVdash/seVdash/uni22AB/upModels/leftModels
+/downModels/neModels/nwModels/swModels/seModels/uni293F/uni21BA/uni27F2
+/rcirclearrowdown/uni27F3/uni21BB/uni293E/lcirclearrowdown]
+FdSymbolC-Bold:
+FdSymbolC-Book:
+FdSymbolC-Medium:
+FdSymbolC-Regular:
+MdSymbolC-Bold:
+MdSymbolC-Light:
+MdSymbolC-Regular:
+MdSymbolC-Semibold:
+[/arrowright/arrowup/arrowleft/arrowdown/uni2197/uni2196/uni2199/uni2198
+/arrowdblright/arrowdblup/arrowdblleft/arrowdbldown/uni21D7/uni21D6/uni21D9
+/uni21D8/arrowboth/arrowupdn/uni2921/uni2922/arrowdblboth/uni21D5/sym030
+/sym031/uni21A0/uni219F/uni219E/uni21A1/sym033/sym032/sym035/sym034/uni21A3
+/sym036/uni21A2/sym037/sym039/sym038/sym03B/sym03A/uni21A6/uni21A5/uni21A4
+/uni21A7/uni2907/sym03C/uni2906/sym03D/uni21AA/sym03E/uni21A9.alt/sym03F.alt
+/uni2924.alt/uni2923/uni2926.alt/uni2925/uni21AA.alt/sym03E.alt/uni21A9
+/sym03F/uni2924/uni2923.alt/uni2926/uni2925.alt/uni21C0/uni21BF/uni21BD
+/uni21C2/sym041/sym040/sym043/sym042/uni21C1/uni21BE/uni21BC/uni21C3/sym045
+/sym044/sym047/sym046/uni294B/uni294D/sym049/sym048/uni294A/uni294C/sym04B
+/sym04A/uni21CC/uni296E/sym04D/sym04C/uni21CB/uni296F/sym04F/sym04E/uni21E2
+/uni21E1/uni21E0/uni21E3/sym051/sym050/sym053/sym052/uni22B8/uni2AEF/uni27DC
+/uni2AF0/sym054/sym056/sym055/sym057/uni29DF/sym058/uni22B7/uni22B6/sym05A
+/uni22D4/sym05B/sym059/uni21C9/uni21C8/uni21C7/uni21CA/sym05D/sym05C/sym05F
+/sym05E/uni21C4/uni21C5/sym061/sym060/uni21C6/uni21F5/sym063/sym062/uni219D
+/sym064.alt/uni219C.alt/sym065/uni219D.alt/sym064/uni219C/sym065.alt/uni21AD
+/sym066.alt/uni21AD.alt/sym066/sym069/sym068/sym067/uni2938/sym06C/sym06B
+/uni2936/uni2935/uni293B/sym06A/uni293A/uni2939/uni2934/sym06D/sym06E
+/uni2937/sym06F/sym070/sym071/sym072/sym074/sym073/sym076/sym075/sym077
+/sym078/sym079/uni21BA/uni27F2/sym07C/uni27F3/uni21BB/sym07A/sym07B/uni21DB
+/uni290A/uni21DA/uni290B/uni27F6/uni27F5/uni27F9/uni27F8/uni27F7/uni27FA
+/uni27FC/uni27FB/uni27FE/uni27FD/uni27FF/uni2B33/uni27DD/uni27DE/uni21B0
+/uni21B1/uni21B2/uni21B3/uni21AC/uni21AB 18{/.notdef}repeat/uni22A2/uni22A5
+/uni22A3/uni22A4/uni22A6/uni2AE0/uni2ADE/uni2ADF/uni22A8/uni2AEB/uni2AE4
+/uni2AEA/uni22A7/sym07E/sym07D/sym07F/uni22A9/uni234A/uni2AE3/uni2351
+/uni22A9.alt/uni2AE8/uni2AE3.alt/uni2AE7/uni22AB/sym080/uni2AE5/sym081
+/uni22AA/sym082/uni2AE2/sym083]
+MnSymbolE-Bold10:
+MnSymbolE-Bold12:
+MnSymbolE-Bold5:
+MnSymbolE-Bold6:
+MnSymbolE-Bold7:
+MnSymbolE-Bold8:
+MnSymbolE-Bold9:
+MnSymbolE10:
+MnSymbolE12:
+MnSymbolE5:
+MnSymbolE6:
+MnSymbolE7:
+MnSymbolE8:
+MnSymbolE9:
+[/bracketleft/bracketleft.alt1/bracketleft.alt2/bracketleft.alt3
+/bracketleft.alt4/bracketright/bracketright.alt/bracketright.alt2
+/bracketright.alt3/bracketright.alt4/uni230A/uni230A.alt1/uni230A.alt2
+/uni230A.alt3/uni230A.alt4/uni230B/uni230B.alt1/uni230B.alt2/uni230B.alt3
+/uni230B.alt4/uni2308/uni2308.alt1/uni2308.alt2/uni2308.alt3/uni2308.alt4
+/uni2309/uni2309.alt1/uni2309.alt2/uni2309.alt3/uni2309.alt4/uni231C.alt1
+/uni231C.alt2/uni231C.alt3/uni231C.alt4/uni231C.alt5/uni231D.alt1
+/uni231D.alt2/uni231D.alt3/uni231D.alt4/uni231D.alt5/uni231E.alt1
+/uni231E.alt2/uni231E.alt3/uni231E.alt4/uni231E.alt5/uni231F.alt1
+/uni231F.alt2/uni231F.alt3/uni231F.alt4/uni231F.alt5/ullcorner
+/ullcorner.alt1/ullcorner.alt2/ullcorner.alt3/ullcorner.alt4/ulrcorner
+/ulrcorner.alt1/ulrcorner.alt2/ulrcorner.alt3/ulrcorner.alt4/uni23A1/uni23A4
+/uni23A3/uni23A6/uni23A2/uni23A5/uni27E6/uni27E6.alt1/uni27E6.alt2
+/uni27E6.alt3/uni27E6.alt4/uni27E7/uni27E7.alt1/uni27E7.alt2/uni27E7.alt3
+/uni27E7.alt4/lsemtop/rsemtop/lsembot/rsembot/lsemmod/rsemmod/arrowvert
+/divides.alt0/divides.alt1/divides.alt2/divides.alt3/divides.alt4/Arrowvert
+/parallel.alt1/parallel.alt2/parallel.alt3/parallel.alt4/parallel.alt5/wavy
+/Wavy/uni27E8/uni27E8.alt/uni27E8.alt2/uni27E8.alt3/uni27E8.alt4/uni27E9
+/uni27E9.alt1/uni27E9.alt2/uni27E9.alt3/uni27E9.alt4/anglebar.left
+/anglebar.left.alt1/anglebar.left.alt2/anglebar.left.alt3/anglebar.left.alt4
+/anglebar.right/anglebar.right.alt1/anglebar.right.alt2/anglebar.right.alt3
+/anglebar.right.alt4/uni27EA/uni27EA.alt1/uni27EA.alt2/uni27EA.alt3
+/uni27EA.alt4/uni27EB/uni27EB.alt1/uni27EB.alt2/uni27EB.alt3/uni27EB.alt4
+/slash.left/slash.left.alt1/slash.left.alt2/slash.left.alt3/slash.left.alt4
+/slash.right/slash.right.alt1/slash.right.alt2/slash.right.alt3
+/slash.right.alt4/parenleft/parenleft.alt1/parenleft.alt2/parenleft.alt3
+/parenleft.alt4/parenright/parenright.alt1/parenright.alt2/parenright.alt3
+/parenright.alt4/uni239B/uni239E/uni239D/uni23A0/uni239C/uni239F/braceleft
+/braceleft.alt1/braceleft.alt2/braceleft.alt3/braceleft.alt4/braceright
+/braceright.alt1/braceright.alt2/braceright.alt3/braceright.alt4/uni23A7
+/uni23AB/uni23A9/uni23AD/uni23A8/uni23AC/uni23AA/ucurly/ucurly.alt1
+/ucurly.alt2/ucurly.alt3/ucurly.alt4/dcurly/dcurly.alt1/dcurly.alt2
+/dcurly.alt3/dcurly.alt4/ucurlyleft/dcurlyleft/ucurlyright/dcurlyright
+/ucurlymid/dcurlymid/udcurlymod/radical/radical.alt1/radical.alt2
+/radical.alt3/radical.alt4/roottop/rootbot/rootmod/circumflexcmb
+/circumflexcmb.alt1/circumflexcmb.alt2/circumflexcmb.alt3/circumflexcmb.alt4
+/tildecomb/tildecomb.alt1/tildecomb.alt2/tildecomb.alt3/tildecomb.alt4
+/wideparen1/wideparen2/wideparen3/wideparen4/wideparen5/uni20D7/uni0335
+/uni0337/uni0338/uparrow/downarrow/arrowmod/uparrowdbl/downarrowdbl
+/arrowmoddbl 37{/.notdef}repeat]
+xycirc10:
+[/c0/c1/c2/c3/c4/c5/c6/c7/c8/c9/c10/c11/c12/c13/c14/c15/c16/c17/c18/c19/c20
+/c21/c22/c23/c24/c25/c26/c27/c28/c29/c30/c31/c32/c33/c34/c35/c36/c37/c38/c39
+/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c50/c51/c52/c53/c54/c55/c56/c57/c58
+/c59/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c70/c71/c72/c73/c74/c75/c76/c77
+/c78/c79/c80/c81/c82/c83/c84/c85/c86/c87/c88/c89/c90/c91/c92/c93/c94/c95/c96
+/c97/c98/c99/c100/c101/c102/c103/c104/c105/c106/c107/c108/c109/c110/c111
+/c112/c113/c114/c115/c116/c117/c118/c119/c120/c121/c122/c123/c124/c125/c126
+/c127 128{/.notdef}repeat]
+manfnt:
+[/char00/char01/char02/char03/char04/char05/char06/char07/char08/char09
+/char0a/char0b/char0c/char0d/char0e/char0f/char10/char11/char12/char13
+/char14/char15/char16/char17/.notdef/char19/char1a/char1b/char1c/char1d
+/char1e/char1f/char20/char21/char22/char23/char24/char25/char26/char27
+/char28/char29/char2a/char2b/char2c/char2d/char2e/char2f/char30/char31
+/char32/char33/char34/char35/char36/char37/char38/char39/char3a/char3b
+/char3c/char3d/char3e/char3f/.notdef/char41/char42/char43/char44/char45
+/char46/char47/char48/char49/char4a/char4b/char4c/char4d/char4e/char4f
+/char50/char51/char52/char53/char54/char55/char56/char57/char58/char59
+/char5a/char5b/char5c/char5d/char5e/char5f/char60/char61/char62/char63
+/char64/char65/char66/char67/char68/char69/char6a/char6b/char6c/char6d
+/char6e/char6f/char70/char71/char72/char73/char74/char75/char76/char77
+/char78/char79 4{/.notdef}repeat/char7e/char7f 128{/.notdef}repeat]
+xnsh14:
+xnsh14bf:
+[/char00/char01/char02/char03/char04/char05/char06/char07/char08/char09
+/char0a/char0b/char0c/char0d/char0e/char0f/char10/char11/char12/char13
+/char14/char15/char16/char17/char18/char19/char1a/char1b/char1c/char1d
+/char1e/char1f/char20/char21/char22/char23/char24/char25/char26/char27
+/char28/char29/char2a/char2b/char2c/char2d/char2e/char2f/char30/char31
+/char32/char33/char34/char35/char36/char37/char38/char39/char3a/char3b
+/char3c/char3d/char3e/char3f/char40/char41/char42/char43/char44/char45
+/char46/char47/char48/char49/char4a/char4b/char4c/char4d/char4e/char4f
+/char50/char51/char52/char53/char54/.notdef/char56/char57/char58/char59
+/char5a/char5b/char5c/char5d/char5e/char5f 3{/.notdef}repeat/char63/char64
+/char65/char66/char67/char68/char69/char6a/char6b/char6c/char6d/char6e
+/char6f/char70/char71/char72/char73/char74/char75/char76/char77 8{/.notdef}
+repeat/char80/char81/char82/char83/char84/char85/char86/char87 8{/.notdef}
+repeat/char90/char91/char92/char93/char94/char95/char96/char97/char98/char99
+/char9a/char9b/char9c/char9d/char9e/char9f/chara0/chara1/chara2/chara3
+/chara4/chara5/chara6/chara7/chara8/chara9/charaa/charab/charac/charad
+/charae/charaf/charb0/charb1/charb2/charb3/charb4/charb5/charb6/charb7
+/charb8/charb9/charba/charbb/charbc/charbd/charbe/charbf/charc0/charc1
+/charc2/charc3/charc4/charc5/charc6/charc7/charc8/charc9/charca/charcb
+/charcc/charcd/charce/charcf/chard0/chard1/chard2/chard3/chard4/chard5
+/chard6/chard7/chard8/chard9/.notdef/chardb/chardc/chardd/charde/chardf
+/chare0/chare1/chare2/chare3/chare4/chare5/chare6/chare7/chare8/chare9
+/charea/chareb/charec/chared/charee/charef/charf0/charf1/.notdef/.notdef
+/charf4/charf5/charf6/charf7/charf8/charf9/charfa/charfb/charfc/charfd
+/charfe/charff]
+xyatip10:
+xybsql10:
+xybtip10:
+xycmat10:
+xycmat11:
+xycmat12:
+xycmbt10:
+xycmbt11:
+xycmbt12:
+xyeuat10:
+xyeuat11:
+xyeuat12:
+xyeubt10:
+xyeubt11:
+xyeubt12:
+xyluat10:
+xyluat11:
+xyluat12:
+xylubt10:
+xylubt11:
+xylubt12:
+[/d0/d1/d2/d3/d4/d5/d6/d7/d8/d9/d10/d11/d12/d13/d14/d15/d16/d17/d18/d19/d20
+/d21/d22/d23/d24/d25/d26/d27/d28/d29/d30/d31/d32/d33/d34/d35/d36/d37/d38/d39
+/d40/d41/d42/d43/d44/d45/d46/d47/d48/d49/d50/d51/d52/d53/d54/d55/d56/d57/d58
+/d59/d60/d61/d62/d63/d64/d65/d66/d67/d68/d69/d70/d71/d72/d73/d74/d75/d76/d77
+/d78/d79/d80/d81/d82/d83/d84/d85/d86/d87/d88/d89/d90/d91/d92/d93/d94/d95/d96
+/d97/d98/d99/d100/d101/d102/d103/d104/d105/d106/d107/d108/d109/d110/d111
+/d112/d113/d114/d115/d116/d117/d118/d119/d120/d121/d122/d123/d124/d125/d126
+/d127 128{/.notdef}repeat]
+cmntex10:
+cmtex10:
+cmtex8:
+cmtex9:
+pltex10:
+pltex8:
+pltex9:
+[/dotmath/arrowdown/alpha/beta/logicaland/logicalnot/element/pi/lambda/gamma
+/delta/arrowup/plusminus/circleplus/infinity/partialdiff/propersubset
+/propersuperset/intersection/union/universal/existential/circlemultiply
+/arrowboth/arrowleft/arrowright/notequal/lozenge/lessequal/greaterequal
+/equivalence/logicalor/space/exclam/quotedbl/numbersign/dollar/percent
+/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/minus/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/integral 128{/.notdef}repeat]
+MnSymbolC-Bold10:
+MnSymbolC-Bold12:
+MnSymbolC-Bold5:
+MnSymbolC-Bold6:
+MnSymbolC-Bold7:
+MnSymbolC-Bold8:
+MnSymbolC-Bold9:
+MnSymbolC10:
+MnSymbolC12:
+MnSymbolC5:
+MnSymbolC6:
+MnSymbolC7:
+MnSymbolC8:
+MnSymbolC9:
+[/dotmath/hdotdot/ratio/udotdot/ddotdot/uni22EF/ellipsisvertical/uni22F0
+/uni22F1/righttherefore/therefore/lefttherefore/because/diamonddots
+/proportion/fivedots/minus/divides.alt/divisionslash/uni2216/plus/multiply
+/plusminus/minusplus/dotminus/dotmedvert/minusdot/medvertdot/divide/slashdiv
+/vertdiv/backslashdiv/logicalnot/revlogicalnot/dtimes/uni22CA/utimes/uni22C9
+/bowtie/uni29D6/rightY/upY/leftY/downY/logicaland/logicalor/wedgedot/veedot
+/uni2A55/uni2A54/curlyand/curlyor/curlywedgedot/curlyveedot/doublecurlywedge
+/doublecurlyvee/union/intersection/uni22D3/uni22D2/uni228D/uni2A40/uni228E
+/capplus/uni2294/uni2293/uni2A4F/uni2A4E/sqcupdot/sqcapdot/sqcupplus
+/sqcapplus/whiterightpointingsmalltriangle/whiteuppointingsmalltriangle
+/whiteleftpointingsmalltriangle/whitedownpointingsmalltriangle/uni25B8
+/blackuppointingsmalltriangle/uni25C2/uni25BE/whiterightpointingtriangle
+/whiteuppointingtriangle/whiteleftpointingtriangle/whitedownpointingtriangle
+/whiterightpointingtriangle.alt1/whiteuppointingtriangle.alt1
+/whiteleftpointingtriangle.alt1/whitedownpointingtriangle.alt1/circle
+/blackcircle/largecircle/largecircle.alt1/minuscircle/uni29B6/uni2298
+/uni29B8/circleplus/circlemultiply/circleot/uni229A/otriangle/uni229B
+/uni235F/uni2205/uni25FD/uni25FE/uni25FB/uni25FB.alt1/whitediamond
+/blackdiamond/whitediamond.alt1/whitediamond.alt2/uni229F/boxvert/uni29C4
+/uni29C5/uni229E/uni22A0/uni22A1/uni29C8/diamondminus/diamondvert
+/diamondslash/diamondbackslash/diamondplus/diamondtimes/uni27D0
+/diamonddiamond/whitestar/blackstar/whitestar.alt1/whitestar.alt2/pentagram
+/largepentagram/uni22C6/asteriskmath/hbipropto/neswbipropto/vbipropto
+/nwsebipropto/proportional/downpropto/rightpropto/uppropto/hcrossing
+/neswcrossing/vcrossing/nwsecrossing/between/separated/bot/uni22BA/uni2240
+/angle/uni2221/uni2222/minute/primereversed/product.small/uni2210.small
+/checkmark/uni2607/diamondsuitwhite/heartsuitwhite/spade/club/universal
+/existential/uni2204/gradient/infinity/integral.small/musicflatsign/uni266E
+/musicsharpsign/aleph/uni2136/uni2137/uni2138/weierstrass/weierstrass.alt
+/uni2A3C/uni2A3D/uni231E/uni231F/uni231C/uni231D/closedsucc/closedcurlywedge
+/closedprec/closedcurlyvee/uni2AA7/upslice/uni2AA6/downslice/lozenge/uni29EB
+/lozenge.alt1/uni29EB.alt1/lozenge.alt2/blackrightpointingtriangle
+/blackuppointingtriangle/blackleftpointingtriangle/blackdownpointingtriangle
+/uni220E/uni2600/uni2721/uni2721.alt/uni2720 11{/.notdef}repeat/closedequal
+/equalclosed/equivclosed/uni2272/uni2273/uni2A85/uni2A86/uni2A95/uni2A96
+/uni22DE/uni22DF/uni21DB/uni21DA/closedequal_uni0338/equalclosed_uni0338
+/equivclosed_uni0338/uni2274/uni2275/uni2A89/uni2A8A/uni2A950338/uni2A960338
+/uni22DE0338/uni22DF0338/uni21DB0338/uni21DA0338/uni21B1/uni21B0/uni21AC
+/uni21AB/uni22CB/uni22CC/uni22AA/uni2224.short/parallel.short
+/notparallel.short]
+FdSymbolA-Bold:
+FdSymbolA-Book:
+FdSymbolA-Medium:
+FdSymbolA-Regular:
+[/dotmath/sym000/uni2236/sym001/sym002/uni22EF/uni22EE/uni22F0/uni22F1
+/sym003/therefore/sym004/uni2235/uni2237/minus/uni2215/uni2216/plus/multiply
+/uni2238/uni2A2A/divide/uni2A2B/uni2A2C/uni223A/plusminus/uni2213/uni2214
+/uni2A25/uni2A30/uni2A31/uni22C7/logicalnot/revlogicalnot/uni2A3C/uni2A3D
+/uni22CB/uni22CC/uni2A32/uni22CA/sym005/uni22C9/uni22C8/uni29D6/sym006
+/sym007/sym008/sym009/logicaland/logicalor/uni27D1/uni27C7/uni2A55/uni2A56
+/uni22CF/uni22CE/uni22BC/uni22BB/uni2A5E/uni2A63/union/intersection/uni22D3
+/uni22D2/uni228D/uni2A40/uni228E/sym00A/uni2294/uni2293/uni2A4F/uni2A4E
+/sym00B/sym00C/sym00D/sym00E/uni27D3/uni27D4/uni25B9/uni25B5/uni25C3/uni25BF
+/uni25B8/uni25B4/uni25C2/uni25BE/uni25B7/uni25B3/uni25C1/uni25BD/uni25B6
+/uni25B2/uni25C0/uni25BC/sym00F/sym010/openbullet/bullet/circle/uni25CF
+/uni2296/uni29B6/uni2298/uni29B8/circleplus/circlemultiply/uni2299/uni229A
+/uni229B/uni229D/uni229C/emptyset/uni29B0/uni25EF/uni2B24/uni25AB/uni25AA
+/uni25A1/uni25A0/uni229F/uni25EB/uni29C4/uni29C5/uni229E/uni22A0/uni22A1
+/uni29C8/uni2B1C/uni2B1B/uni22C4/uni2B29/uni25C7/uni25C6/sym011/sym012
+/sym013/sym014/sym015/sym016/uni27D0/sym017/uni2B2B/uni2B2A/lozenge/uni29EB
+/uni27E0/uni2B52/uni22C6/uni2B50/uni2B51/uni2606/uni2605/asteriskmath
+/infinity/proportional/sym018/sym019/uni226C/uni22BA/uni2240/angle/uni29A3
+/uni2221/uni299B/uni2222/uni29A1/uni29A0/sym01A/uni221F/uni22BE/uni299C
+/uni299D/minute/uni2035/product.small/product.sf.small/uni2A3F/uni2A3F.sf
+/integral.small/uni2713/uni21AF/uni2662/diamond/uni2661/heart/spade/club
+/uni2720/uni2721/uni2314/universal/existential/uni2204/uni2132/uni2141
+/uni2201/uni266D/uni266E/uni266F/aleph/uni2136/uni2137/uni2138/weierstrass 52
+{/.notdef}repeat]
+MdSymbolA-Bold:
+MdSymbolA-Light:
+MdSymbolA-Regular:
+MdSymbolA-Semibold:
+[/dotmath/sym000/uni2236/sym001/sym002/uni22EF/uni22EE/uni22F0/uni22F1
+/sym003/therefore/sym004/uni2235/uni2237/minus/uni2215/uni2216/plus/multiply
+/uni2238/uni2A2A/divide/uni2A2B/uni2A2C/uni223A/plusminus/uni2213/uni2214
+/uni2A25/uni2A30/uni2A31/uni22C7/logicalnot/revlogicalnot/uni2A3C/uni2A3D
+/uni22CB/uni22CC/uni2A32/uni22CA/sym005/uni22C9/uni22C8/uni29D6/sym006
+/sym007/sym008/sym009/logicaland/logicalor/uni27D1/uni27C7/uni2A55/uni2A56
+/uni22CF/uni22CE/uni22BC/uni22BB/uni2A5E/uni2A63/union/intersection/uni22D3
+/uni22D2/uni228D/uni2A40/uni228E/sym00A/uni2294/uni2293/uni2A4F/uni2A4E
+/sym00B/sym00C/sym00D/sym00E/uni27D3/uni27D4/uni25B9/uni25B5/uni25C3/uni25BF
+/uni25B8/uni25B4/uni25C2/uni25BE/uni25B7/uni25B3/uni25C1/uni25BD/uni25B6
+/uni25B2/uni25C0/uni25BC/sym00F/sym010/openbullet/bullet/circle/uni25CF
+/uni2296/uni29B6/uni2298/uni29B8/circleplus/circlemultiply/uni2299/uni229A
+/uni229B/uni229D/uni229C/emptyset/uni29B0/uni25EF/uni2B24/uni25AB/uni25AA
+/uni25A1/uni25A0/uni229F/uni25EB/uni29C4/uni29C5/uni229E/uni22A0/uni22A1
+/uni29C8/uni2B1C/uni2B1B/uni22C4/uni2B29/uni25C7/uni25C6/sym011/sym012
+/sym013/sym014/sym015/sym016/uni27D0/sym017/uni2B2B/uni2B2A/lozenge/uni29EB
+/uni27E0/uni2B52/uni22C6/uni2B50/uni2B51/uni2606/uni2605/asteriskmath
+/infinity/proportional/sym018/sym019/uni226C/uni22BA/uni2240/angle/uni29A3
+/uni2221/uni299B/uni2222/uni29A1/uni29A0/sym01A/uni221F/uni22BE/uni299C
+/uni299D/minute/uni2035/product.small/uni2A3F/integral.small/uni2713/uni21AF
+/uni2662/diamond/uni2661/heart/spade/club/uni2720/uni2721/uni2314/universal
+/existential/uni2204/uni2132/uni2141/uni2201/uni266D/uni266E/uni266F/aleph
+/uni2136/uni2137/uni2138/weierstrass/uni2207/sym01B/sym01C 51{/.notdef}
+repeat]
+etha10:
+etha6:
+etha7:
+etha8:
+ethab10:
+ethab11:
+ethab12:
+ethab14:
+ethab18:
+ethab24:
+ethab36:
+ethab9:
+ethas10:
+ethasb10:
+ethasb11:
+ethasb12:
+ethasb14:
+ethasb18:
+ethasb24:
+ethasb36:
+ethasb9:
+ethatt10:
+ethb10:
+ethb6:
+ethb7:
+ethb8:
+ethbb10:
+ethbb11:
+ethbb12:
+ethbb14:
+ethbb18:
+ethbb24:
+ethbb36:
+ethbb9:
+ethbs10:
+ethbsb10:
+ethbsb11:
+ethbsb12:
+ethbsb14:
+ethbsb18:
+ethbsb24:
+ethbsb36:
+ethbsb9:
+ethbtt10:
+[/dummya/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring
+/dummyb/breve/minus/dummyc/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl
+/notequal/infinity/lessequal/greaterequal/partialdiff/summation/product/pi
+/grave/quotesingle/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/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/dummyd/Euro/integral/quotesinglbase/florin/quotedblbase/ellipsis
+/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE/Omega
+/radical/approxequal/dummye/dummyf/dummyg/quotedblleft/quotedblright/bullet
+/endash/emdash/tilde/trademark/scaron/guilsinglright/oe/Delta/lozenge
+/Ydieresis/dummyh/exclamdown/cent/sterling/currency/yen/brokenbar/section
+/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/oldhy/registered
+/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph
+/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter
+/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde
+/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave
+/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde
+/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
+/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
+/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth
+/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave
+/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]
+umranda:
+[/enc-0/enc-1/enc-2/enc-3/enc-4/enc-5/enc-6/enc-7/enc-8/enc-9/enc-10/enc-11
+/enc-12/enc-13/enc-14/enc-15/enc-16/enc-17/enc-18/enc-19/enc-20/enc-21
+/enc-22/enc-23/enc-24/enc-25/enc-26/enc-27/enc-28/enc-29/enc-30/enc-31
+/enc-32/enc-33/enc-34/enc-35/enc-36/enc-37/enc-38/enc-39/enc-40/enc-41
+/enc-42/enc-43/enc-44/enc-45/enc-46/enc-47/enc-48/enc-49/enc-50/enc-51
+/enc-52/enc-53/enc-54/enc-55/enc-56/enc-57/enc-58/enc-59/enc-60/enc-61
+/enc-62/enc-63/enc-64/enc-65/enc-66/enc-67/enc-68/enc-69/enc-70/enc-71
+/enc-72/enc-73/enc-74/enc-75/enc-76/enc-77/enc-78/enc-79/enc-80/enc-81
+/enc-82/enc-83/enc-84/enc-85/enc-86/enc-87/enc-88/enc-89/enc-90/enc-91
+/enc-92/enc-93/enc-94/enc-95/enc-96/enc-97/enc-98/enc-99/enc-100/enc-101 154
+{/.notdef}repeat]
+bbding10:
+umrandb:
+[/enc-0/enc-1/enc-2/enc-3/enc-4/enc-5/enc-6/enc-7/enc-8/enc-9/enc-10/enc-11
+/enc-12/enc-13/enc-14/enc-15/enc-16/enc-17/enc-18/enc-19/enc-20/enc-21
+/enc-22/enc-23/enc-24/enc-25/enc-26/enc-27/enc-28/enc-29/enc-30/enc-31
+/enc-32/enc-33/enc-34/enc-35/enc-36/enc-37/enc-38/enc-39/enc-40/enc-41
+/enc-42/enc-43/enc-44/enc-45/enc-46/enc-47/enc-48/enc-49/enc-50/enc-51
+/enc-52/enc-53/enc-54/enc-55/enc-56/enc-57/enc-58/enc-59/enc-60/enc-61
+/enc-62/enc-63/enc-64/enc-65/enc-66/enc-67/enc-68/enc-69/enc-70/enc-71
+/enc-72/enc-73/enc-74/enc-75/enc-76/enc-77/enc-78/enc-79/enc-80/enc-81
+/enc-82/enc-83/enc-84/enc-85/enc-86/enc-87/enc-88/enc-89/enc-90/enc-91
+/enc-92/enc-93/enc-94/enc-95/enc-96/enc-97/enc-98/enc-99/enc-100/enc-101
+/enc-102/enc-103/enc-104/enc-105/enc-106/enc-107/enc-108/enc-109/enc-110
+/enc-111/enc-112/enc-113/enc-114/enc-115/enc-116/enc-117/enc-118/enc-119
+/enc-120/enc-121/enc-122/enc-123 132{/.notdef}repeat]
+grxn1200:
+[/endash/uni0020032F/u10144/u10145/u10146/u10147/uni03DB/uni03DB.var/uni1FBE
+/uni1FBC/uni1FCC/uni1FFC/uni0391.alt/uni03AB.alt/uni03B1.alt/uni03CB.alt
+/uni02CF/uni02CE/uni03DF/uni03D9/uni0020032E/uni03D8/uni03DA.var/uni03E0
+/Euro/perthousand/uni0259/uni03E1/quoteleft/quoteright/breve/macron/uni1FC1
+/exclam/dieresis/dieresistonos/uni1FED/percent/periodcentered/tonos
+/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two
+/three/four/five/six/seven/eight/nine/colon/anoteleia/uni1FFE/equal/uni1FBF
+/semicolon/uni1FDF/Alpha/Beta/uni1FDD/uni0394/Epsilon/Phi/Gamma/Eta/Iota
+/Theta/Kappa/Lambda/Mu/Nu/Omicron/Pi/Chi/Rho/Sigma/Tau/Upsilon/uni1FDE
+/uni03A9/Xi/Psi/Zeta/bracketleft/uni1FCF/bracketright/uni1FCE/uni1FCD
+/uni1FEF/alpha/beta/sigma1/delta/epsilon/phi/gamma/eta/iota/theta/kappa
+/lambda/uni03BC/nu/omicron/pi/chi/rho/sigma/tau/upsilon/.notdef/omega/xi/psi
+/zeta/guillemotleft/uni037A/guillemotright/uni1FC0/emdash/uni1F70/uni1F01
+/uni1F00/uni1F03/uni1FB2/uni1F81/uni1F80/uni1F83/alphatonos/uni1F05/uni1F04
+/uni1F02/uni1FB4/uni1F85/uni1F84/uni1F82/uni1FB6/uni1F07/uni1F06/uni03DD
+/uni1FB7/uni1F87/uni1F86/uni0020035D/uni1F74/uni1F21/uni1F20/.notdef/uni1FC2
+/uni1F91/uni1F90/.notdef/etatonos/uni1F25/uni1F24/uni1F23/uni1FC4/uni1F95
+/uni1F94/uni1F93/uni1FC6/uni1F27/uni1F26/uni1F22/uni1FC7/uni1F97/uni1F96
+/uni1F92/uni1F7C/uni1F61/uni1F60/uni1F63/uni1FF2/uni1FA1/uni1FA0/uni1FA3
+/omegatonos/uni1F65/uni1F64/uni1F62/uni1FF4/uni1FA5/uni1FA4/uni1FA2/uni1FF6
+/uni1F67/uni1F66/uni03DC/uni1FF7/uni1FA7/uni1FA6/.notdef/uni1F76/uni1F31
+/uni1F30/uni1F33/uni1F7A/uni1F51/uni1F50/uni1F53/iotatonos/uni1F35/uni1F34
+/uni1F32/upsilontonos/uni1F55/uni1F54/uni1F52/uni1FD6/uni1F37/uni1F36
+/Iotadieresis/uni1FE6/uni1F57/uni1F56/Upsilondieresis/uni1F72/uni1F11
+/uni1F10/uni1F13/uni1F78/uni1F41/uni1F40/uni1F43/epsilontonos/uni1F15
+/uni1F14/uni1F12/omicrontonos/uni1F45/uni1F44/uni1F42/iotadieresis/uni1FD2
+/iotadieresistonos/uni1FD7/upsilondieresis/uni1FE2/upsilondieresistonos
+/uni1FE7/uni1FB3/uni1FC3/uni1FF3/uni1FE5/uni1FE4/.notdef/uni0374/uni0375]
+glic0700:
+glic0800:
+glic1000:
+glic1200:
+glic1382:
+glic1659:
+glic1991:
+glic2389:
+glic2866:
+glic3440:
+glic4128:
+glii0700:
+glii0800:
+glii1000:
+glii1200:
+glii1382:
+glii1659:
+glii1991:
+glii2389:
+glii2866:
+glii3440:
+glii4128:
+glin0700:
+glin0800:
+glin1000:
+glin1200:
+glin1382:
+glin1659:
+glin1991:
+glin2389:
+glin2866:
+glin3440:
+glin4128:
+glio0700:
+glio0800:
+glio1000:
+glio1200:
+glio1382:
+glio1659:
+glio1991:
+glio2389:
+glio2866:
+glio3440:
+glio4128:
+gliu0700:
+gliu0800:
+gliu1000:
+gliu1200:
+gliu1382:
+gliu1659:
+gliu1991:
+gliu2389:
+gliu2866:
+gliu3440:
+gliu4128:
+gljc0700:
+gljc0800:
+gljc1000:
+gljc1200:
+gljc1382:
+gljc1659:
+gljc1991:
+gljc2389:
+gljc2866:
+gljc3440:
+gljc4128:
+gljn0700:
+gljn0800:
+gljn1000:
+gljn1200:
+gljn1382:
+gljn1659:
+gljn1991:
+gljn2389:
+gljn2866:
+gljn3440:
+gljn4128:
+gljo0700:
+gljo0800:
+gljo1000:
+gljo1200:
+gljo1382:
+gljo1659:
+gljo1991:
+gljo2389:
+gljo2866:
+gljo3440:
+gljo4128:
+glmc0700:
+glmc0800:
+glmc1000:
+glmc1200:
+glmc1382:
+glmc1659:
+glmc1991:
+glmc2389:
+glmc2866:
+glmc3440:
+glmc4128:
+glmi0700:
+glmi0800:
+glmi1000:
+glmi1200:
+glmi1382:
+glmi1659:
+glmi1991:
+glmi2389:
+glmi2866:
+glmi3440:
+glmi4128:
+glmn0700:
+glmn0800:
+glmn1000:
+glmn1200:
+glmn1382:
+glmn1659:
+glmn1991:
+glmn2389:
+glmn2866:
+glmn3440:
+glmn4128:
+glmo0700:
+glmo0800:
+glmo1000:
+glmo1200:
+glmo1382:
+glmo1659:
+glmo1991:
+glmo2389:
+glmo2866:
+glmo3440:
+glmo4128:
+glmu0700:
+glmu0800:
+glmu1000:
+glmu1200:
+glmu1382:
+glmu1659:
+glmu1991:
+glmu2389:
+glmu2866:
+glmu3440:
+glmu4128:
+gltc0700:
+gltc0800:
+gltc1000:
+gltc1200:
+gltc1382:
+gltc1659:
+gltc1991:
+gltc2389:
+gltc2866:
+gltc3440:
+gltc4128:
+gltn0700:
+gltn0800:
+gltn1000:
+gltn1200:
+gltn1382:
+gltn1659:
+gltn1991:
+gltn2389:
+gltn2866:
+gltn3440:
+gltn4128:
+glto0700:
+glto0800:
+glto1000:
+glto1200:
+glto1382:
+glto1659:
+glto1991:
+glto2389:
+glto2866:
+glto3440:
+glto4128:
+glwc0700:
+glwc0800:
+glwc1000:
+glwc1200:
+glwc1382:
+glwc1659:
+glwc1991:
+glwc2389:
+glwc2866:
+glwc3440:
+glwc4128:
+glwi0700:
+glwi0800:
+glwi1000:
+glwi1200:
+glwi1382:
+glwi1659:
+glwi1991:
+glwi2389:
+glwi2866:
+glwi3440:
+glwi4128:
+glwn0700:
+glwn0800:
+glwn1000:
+glwn1200:
+glwn1382:
+glwn1659:
+glwn1991:
+glwn2389:
+glwn2866:
+glwn3440:
+glwn4128:
+glwo0700:
+glwo0800:
+glwo1000:
+glwo1200:
+glwo1382:
+glwo1659:
+glwo1991:
+glwo2389:
+glwo2866:
+glwo3440:
+glwo4128:
+glwu0700:
+glwu0800:
+glwu1000:
+glwu1200:
+glwu1382:
+glwu1659:
+glwu1991:
+glwu2389:
+glwu2866:
+glwu3440:
+glwu4128:
+glxc0700:
+glxc0800:
+glxc1000:
+glxc1200:
+glxc1382:
+glxc1659:
+glxc1991:
+glxc2389:
+glxc2866:
+glxc3440:
+glxc4128:
+glxi0700:
+glxi0800:
+glxi1000:
+glxi1200:
+glxi1382:
+glxi1659:
+glxi1991:
+glxi2389:
+glxi2866:
+glxi3440:
+glxi4128:
+glxn0700:
+glxn0800:
+glxn1000:
+glxn1200:
+glxn1382:
+glxn1659:
+glxn1991:
+glxn2389:
+glxn2866:
+glxn3440:
+glxn4128:
+glxo0700:
+glxo0800:
+glxo1000:
+glxo1200:
+glxo1382:
+glxo1659:
+glxo1991:
+glxo2389:
+glxo2866:
+glxo3440:
+glxo4128:
+glxu0700:
+glxu0800:
+glxu1000:
+glxu1200:
+glxu1382:
+glxu1659:
+glxu1991:
+glxu2389:
+glxu2866:
+glxu3440:
+glxu4128:
+gmmn0500:
+gmmn0600:
+gmmn0700:
+gmmn0800:
+gmmn0900:
+gmmn1000:
+gmmn1095:
+gmmn1200:
+gmmn1440:
+gmmn1728:
+gmmn2074:
+gmmn2488:
+gmmn2986:
+gmmn3583:
+gmmo0500:
+gmmo0600:
+gmmo0700:
+gmmo0800:
+gmmo0900:
+gmmo1000:
+gmmo1095:
+gmmo1200:
+gmmo1440:
+gmmo1728:
+gmmo2074:
+gmmo2488:
+gmmo2986:
+gmmo3583:
+gmxn0500:
+gmxn0600:
+gmxn0700:
+gmxn0800:
+gmxn0900:
+gmxn1000:
+gmxn1095:
+gmxn1200:
+gmxn1440:
+gmxn1728:
+gmxn2074:
+gmxn2488:
+gmxn2986:
+gmxn3583:
+gmxo0500:
+gmxo0600:
+gmxo0700:
+gmxo0800:
+gmxo0900:
+gmxo1000:
+gmxo1095:
+gmxo1200:
+gmxo1440:
+gmxo1728:
+gmxo2074:
+gmxo2488:
+gmxo2986:
+gmxo3583:
+gomc0500:
+gomc0600:
+gomc0700:
+gomc0800:
+gomc0900:
+gomc1000:
+gomc1095:
+gomc1200:
+gomc1440:
+gomc1728:
+gomc2074:
+gomc2488:
+gomc2986:
+gomc3583:
+gomi0500:
+gomi0600:
+gomi0700:
+gomi0800:
+gomi0900:
+gomi1000:
+gomi1095:
+gomi1200:
+gomi1440:
+gomi1728:
+gomi2074:
+gomi2488:
+gomi2986:
+gomi3583:
+gomn0500:
+gomn0600:
+gomn0700:
+gomn0800:
+gomn0900:
+gomn1000:
+gomn1095:
+gomn1200:
+gomn1440:
+gomn1728:
+gomn2074:
+gomn2488:
+gomn2986:
+gomn3583:
+gomo0500:
+gomo0600:
+gomo0700:
+gomo0800:
+gomo0900:
+gomo1000:
+gomo1095:
+gomo1200:
+gomo1440:
+gomo1728:
+gomo2074:
+gomo2488:
+gomo2986:
+gomo3583:
+gomu0500:
+gomu0600:
+gomu0700:
+gomu0800:
+gomu0900:
+gomu1000:
+gomu1095:
+gomu1200:
+gomu1440:
+gomu1728:
+gomu2074:
+gomu2488:
+gomu2986:
+gomu3583:
+goxc0500:
+goxc0600:
+goxc0700:
+goxc0800:
+goxc0900:
+goxc1000:
+goxc1095:
+goxc1200:
+goxc1440:
+goxc1728:
+goxc2074:
+goxc2488:
+goxc2986:
+goxc3583:
+goxi0500:
+goxi0600:
+goxi0700:
+goxi0800:
+goxi0900:
+goxi1000:
+goxi1095:
+goxi1200:
+goxi1440:
+goxi1728:
+goxi2074:
+goxi2488:
+goxi2986:
+goxi3583:
+goxn0500:
+goxn0600:
+goxn0700:
+goxn0800:
+goxn0900:
+goxn1000:
+goxn1095:
+goxn1200:
+goxn1440:
+goxn1728:
+goxn2074:
+goxn2488:
+goxn2986:
+goxn3583:
+goxo0500:
+goxo0600:
+goxo0700:
+goxo0800:
+goxo0900:
+goxo1000:
+goxo1095:
+goxo1200:
+goxo1440:
+goxo1728:
+goxo2074:
+goxo2488:
+goxo2986:
+goxo3583:
+goxu0500:
+goxu0600:
+goxu0700:
+goxu0800:
+goxu0900:
+goxu1000:
+goxu1095:
+goxu1200:
+goxu1440:
+goxu1728:
+goxu2074:
+goxu2488:
+goxu2986:
+goxu3583:
+grbl0500:
+grbl0600:
+grbl0700:
+grbl0800:
+grbl0900:
+grbl1000:
+grbl1095:
+grbl1200:
+grbl1440:
+grbl1728:
+grbl2074:
+grbl2488:
+grbl2986:
+grbl3583:
+grmc0500:
+grmc0600:
+grmc0700:
+grmc0800:
+grmc0900:
+grmc1000:
+grmc1095:
+grmc1200:
+grmc1440:
+grmc1728:
+grmc2074:
+grmc2488:
+grmc2986:
+grmc3583:
+grmi0500:
+grmi0600:
+grmi0700:
+grmi0800:
+grmi0900:
+grmi1000:
+grmi1095:
+grmi1200:
+grmi1440:
+grmi1728:
+grmi2074:
+grmi2488:
+grmi2986:
+grmi3583:
+grml0500:
+grml0600:
+grml0700:
+grml0800:
+grml0900:
+grml1000:
+grml1095:
+grml1200:
+grml1440:
+grml1728:
+grml2074:
+grml2488:
+grml2986:
+grml3583:
+grmn0500:
+grmn0600:
+grmn0700:
+grmn0800:
+grmn0900:
+grmn1000:
+grmn1095:
+grmn1200:
+grmn1440:
+grmn1728:
+grmn2074:
+grmn2488:
+grmn2986:
+grmn3583:
+grmo0500:
+grmo0600:
+grmo0700:
+grmo0800:
+grmo0900:
+grmo1000:
+grmo1095:
+grmo1200:
+grmo1440:
+grmo1728:
+grmo2074:
+grmo2488:
+grmo2986:
+grmo3583:
+grmu0500:
+grmu0600:
+grmu0700:
+grmu0800:
+grmu0900:
+grmu1000:
+grmu1095:
+grmu1200:
+grmu1440:
+grmu1728:
+grmu2074:
+grmu2488:
+grmu2986:
+grmu3583:
+grxc0500:
+grxc0600:
+grxc0700:
+grxc0800:
+grxc0900:
+grxc1000:
+grxc1095:
+grxc1200:
+grxc1440:
+grxc1728:
+grxc2074:
+grxc2488:
+grxc2986:
+grxc3583:
+grxi0500:
+grxi0600:
+grxi0700:
+grxi0800:
+grxi0900:
+grxi1000:
+grxi1095:
+grxi1200:
+grxi1440:
+grxi1728:
+grxi2074:
+grxi2488:
+grxi2986:
+grxi3583:
+grxl0500:
+grxl0600:
+grxl0700:
+grxl0800:
+grxl0900:
+grxl1000:
+grxl1095:
+grxl1200:
+grxl1440:
+grxl1728:
+grxl2074:
+grxl2488:
+grxl2986:
+grxl3583:
+grxn0500:
+grxn0600:
+grxn0700:
+grxn0800:
+grxn0900:
+grxn1000:
+grxn1095:
+grxn1440:
+grxn1728:
+grxn2074:
+grxn2488:
+grxn2986:
+grxn3583:
+grxo0500:
+grxo0600:
+grxo0700:
+grxo0800:
+grxo0900:
+grxo1000:
+grxo1095:
+grxo1200:
+grxo1440:
+grxo1728:
+grxo2074:
+grxo2488:
+grxo2986:
+grxo3583:
+grxu0500:
+grxu0600:
+grxu0700:
+grxu0800:
+grxu0900:
+grxu1000:
+grxu1095:
+grxu1200:
+grxu1440:
+grxu1728:
+grxu2074:
+grxu2488:
+grxu2986:
+grxu3583:
+gsma0500:
+gsma0600:
+gsma0700:
+gsma0800:
+gsma0900:
+gsma1000:
+gsma1095:
+gsma1200:
+gsma1440:
+gsma1728:
+gsma2074:
+gsma2488:
+gsma2986:
+gsma3583:
+gsmc0500:
+gsmc0600:
+gsmc0700:
+gsmc0800:
+gsmc0900:
+gsmc1000:
+gsmc1095:
+gsmc1200:
+gsmc1440:
+gsmc1728:
+gsmc2074:
+gsmc2488:
+gsmc2986:
+gsmc3583:
+gsme0500:
+gsme0600:
+gsme0700:
+gsme0800:
+gsme0900:
+gsme1000:
+gsme1095:
+gsme1200:
+gsme1440:
+gsme1728:
+gsme2074:
+gsme2488:
+gsme2986:
+gsme3583:
+gsmi0500:
+gsmi0600:
+gsmi0700:
+gsmi0800:
+gsmi0900:
+gsmi1000:
+gsmi1095:
+gsmi1200:
+gsmi1440:
+gsmi1728:
+gsmi2074:
+gsmi2488:
+gsmi2986:
+gsmi3583:
+gsmn0500:
+gsmn0600:
+gsmn0700:
+gsmn0800:
+gsmn0900:
+gsmn1000:
+gsmn1095:
+gsmn1200:
+gsmn1440:
+gsmn1728:
+gsmn2074:
+gsmn2488:
+gsmn2986:
+gsmn3583:
+gsmo0500:
+gsmo0600:
+gsmo0700:
+gsmo0800:
+gsmo0900:
+gsmo1000:
+gsmo1095:
+gsmo1200:
+gsmo1440:
+gsmo1728:
+gsmo2074:
+gsmo2488:
+gsmo2986:
+gsmo3583:
+gsmu0500:
+gsmu0600:
+gsmu0700:
+gsmu0800:
+gsmu0900:
+gsmu1000:
+gsmu1095:
+gsmu1200:
+gsmu1440:
+gsmu1728:
+gsmu2074:
+gsmu2488:
+gsmu2986:
+gsmu3583:
+gsxa0500:
+gsxa0600:
+gsxa0700:
+gsxa0800:
+gsxa0900:
+gsxa1000:
+gsxa1095:
+gsxa1200:
+gsxa1440:
+gsxa1728:
+gsxa2074:
+gsxa2488:
+gsxa2986:
+gsxa3583:
+gsxc0500:
+gsxc0600:
+gsxc0700:
+gsxc0800:
+gsxc0900:
+gsxc1000:
+gsxc1095:
+gsxc1200:
+gsxc1440:
+gsxc1728:
+gsxc2074:
+gsxc2488:
+gsxc2986:
+gsxc3583:
+gsxe0500:
+gsxe0600:
+gsxe0700:
+gsxe0800:
+gsxe0900:
+gsxe1000:
+gsxe1095:
+gsxe1200:
+gsxe1440:
+gsxe1728:
+gsxe2074:
+gsxe2488:
+gsxe2986:
+gsxe3583:
+gsxi0500:
+gsxi0600:
+gsxi0700:
+gsxi0800:
+gsxi0900:
+gsxi1000:
+gsxi1095:
+gsxi1200:
+gsxi1440:
+gsxi1728:
+gsxi2074:
+gsxi2488:
+gsxi2986:
+gsxi3583:
+gsxn0500:
+gsxn0600:
+gsxn0700:
+gsxn0800:
+gsxn0900:
+gsxn1000:
+gsxn1095:
+gsxn1200:
+gsxn1440:
+gsxn1728:
+gsxn2074:
+gsxn2488:
+gsxn2986:
+gsxn3583:
+gsxo0500:
+gsxo0600:
+gsxo0700:
+gsxo0800:
+gsxo0900:
+gsxo1000:
+gsxo1095:
+gsxo1200:
+gsxo1440:
+gsxo1728:
+gsxo2074:
+gsxo2488:
+gsxo2986:
+gsxo3583:
+gsxu0500:
+gsxu0600:
+gsxu0700:
+gsxu0800:
+gsxu0900:
+gsxu1000:
+gsxu1095:
+gsxu1200:
+gsxu1440:
+gsxu1728:
+gsxu2074:
+gsxu2488:
+gsxu2986:
+gsxu3583:
+gttc0500:
+gttc0600:
+gttc0700:
+gttc0800:
+gttc0900:
+gttc1000:
+gttc1095:
+gttc1200:
+gttc1440:
+gttc1728:
+gttc2074:
+gttc2488:
+gttc2986:
+gttc3583:
+gtti0500:
+gtti0600:
+gtti0700:
+gtti0800:
+gtti0900:
+gtti1000:
+gtti1095:
+gtti1200:
+gtti1440:
+gtti1728:
+gtti2074:
+gtti2488:
+gtti2986:
+gtti3583:
+gttn0500:
+gttn0600:
+gttn0700:
+gttn0800:
+gttn0900:
+gttn1000:
+gttn1095:
+gttn1200:
+gttn1440:
+gttn1728:
+gttn2074:
+gttn2488:
+gttn2986:
+gttn3583:
+gtto0500:
+gtto0600:
+gtto0700:
+gtto0800:
+gtto0900:
+gtto1000:
+gtto1095:
+gtto1200:
+gtto1440:
+gtto1728:
+gtto2074:
+gtto2488:
+gtto2986:
+gtto3583:
+gttu0500:
+gttu0600:
+gttu0700:
+gttu0800:
+gttu0900:
+gttu1000:
+gttu1095:
+gttu1200:
+gttu1440:
+gttu1728:
+gttu2074:
+gttu2488:
+gttu2986:
+gttu3583:
+[/endash/uni0020032F/u10144/u10145/u10146/u10147/uni03DB/uni03DB.var/uni1FBE
+/uni1FBC/uni1FCC/uni1FFC/uni0391.alt/uni03AB.alt/uni03B1.alt/uni03CB.alt
+/uni02CF/uni02CE/uni03DF/uni03D9/uni0020032E/uni03D8/uni03DA.var/uni03E0
+/Euro/perthousand/uni0259/uni03E1/quoteleft/quoteright/breve/macron/uni1FC1
+/exclam/dieresis/dieresistonos/uni1FED/percent/periodcentered/tonos
+/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two
+/three/four/five/six/seven/eight/nine/colon/anoteleia/uni1FFE/equal/uni1FBF
+/semicolon/uni1FDF/Alpha/Beta/uni1FDD/uni0394/Epsilon/Phi/Gamma/Eta/Iota
+/Theta/Kappa/Lambda/Mu/Nu/Omicron/Pi/Chi/Rho/Sigma/Tau/Upsilon/uni1FDE
+/uni03A9/Xi/Psi/Zeta/bracketleft/uni1FCF/bracketright/uni1FCE/uni1FCD
+/uni1FEF/alpha/beta/sigma1/delta/epsilon/phi/gamma/eta/iota/theta/kappa
+/lambda/uni03BC/nu/omicron/pi/chi/rho/sigma/tau/upsilon/internalchar2/omega
+/xi/psi/zeta/guillemotleft/uni037A/guillemotright/uni1FC0/emdash/uni1F70
+/uni1F01/uni1F00/uni1F03/uni1FB2/uni1F81/uni1F80/uni1F83/alphatonos/uni1F05
+/uni1F04/uni1F02/uni1FB4/uni1F85/uni1F84/uni1F82/uni1FB6/uni1F07/uni1F06
+/uni03DD/uni1FB7/uni1F87/uni1F86/uni0020035D/uni1F74/uni1F21/uni1F20/.notdef
+/uni1FC2/uni1F91/uni1F90/internalchar1/etatonos/uni1F25/uni1F24/uni1F23
+/uni1FC4/uni1F95/uni1F94/uni1F93/uni1FC6/uni1F27/uni1F26/uni1F22/uni1FC7
+/uni1F97/uni1F96/uni1F92/uni1F7C/uni1F61/uni1F60/uni1F63/uni1FF2/uni1FA1
+/uni1FA0/uni1FA3/omegatonos/uni1F65/uni1F64/uni1F62/uni1FF4/uni1FA5/uni1FA4
+/uni1FA2/uni1FF6/uni1F67/uni1F66/uni03DC/uni1FF7/uni1FA7/uni1FA6/.notdef
+/uni1F76/uni1F31/uni1F30/uni1F33/uni1F7A/uni1F51/uni1F50/uni1F53/iotatonos
+/uni1F35/uni1F34/uni1F32/upsilontonos/uni1F55/uni1F54/uni1F52/uni1FD6
+/uni1F37/uni1F36/Iotadieresis/uni1FE6/uni1F57/uni1F56/Upsilondieresis
+/uni1F72/uni1F11/uni1F10/uni1F13/uni1F78/uni1F41/uni1F40/uni1F43
+/epsilontonos/uni1F15/uni1F14/uni1F12/omicrontonos/uni1F45/uni1F44/uni1F42
+/iotadieresis/uni1FD2/iotadieresistonos/uni1FD7/upsilondieresis/uni1FE2
+/upsilondieresistonos/uni1FE7/uni1FB3/uni1FC3/uni1FF3/uni1FE5/uni1FE4
+/.notdef/uni0374/uni0375]
+MnSymbolD-Bold10:
+MnSymbolD-Bold12:
+MnSymbolD-Bold5:
+MnSymbolD-Bold6:
+MnSymbolD-Bold7:
+MnSymbolD-Bold8:
+MnSymbolD-Bold9:
+MnSymbolD10:
+MnSymbolD12:
+MnSymbolD5:
+MnSymbolD6:
+MnSymbolD7:
+MnSymbolD8:
+MnSymbolD9:
+[/equal/equivalence/similar/uni223D/approxequal/backapprox/uni224B
+/backtriplesim/uni2243/uni22CD/uni2242/backeqsim/congruent/uni224C/uni224A
+/backapproxeq/uni224F/eqbump/uni224E/uni2250/uni2A66/uni2251/uni2252/uni2253
+/uni2323/uni2322/doublesmile/doublefrown/triplesmile/triplefrown/uni224D
+/frownsmile/smileeq/frowneq/eqsmile/eqfrown/doublesmileeq/doublefrowneq
+/smileeqfrown/frowneqsmile/smilefrowneq/frownsmileeq/sqsmile/sqfrown
+/sqdoublesmile/sqdoublefrown/sqtriplesmile/sqtriplefrown/sqsmilefrown
+/sqfrownsmile/sqsmileeq/sqfrowneq/sqeqsmile/sqeqfrown/sqdoublesmileeq
+/sqdoublefrowneq/sqsmileeqfrown/sqfrowneqsmile/uni2256/uni2257/uni225C
+/uni2259/element/suchthat/less/greater/lessequal/greaterequal/uni2A7D
+/uni2A7E/uni2266/uni2267/uni2276/uni2277/uni22DA/uni22DB/uni2A8B/uni2A8C
+/lesseqgtrslant/gtreqlessslant/uni226A/uni226B/uni22D8/uni22D9/uni22B2
+/uni22B3/uni22B4/uni22B5/uni228F/uni2290/uni2291/uni2292/sqsubseteqq
+/sqsupseteqq/Sqsubset/Sqsupset/propersubset/propersuperset/reflexsubset
+/reflexsuperset/uni2AC5/uni2AC6/uni22D0/uni22D1/uni227A/uni227B/uni2AAF
+/uni2AB0/uni227C/uni227D/uni227E/uni227F/uni2AB7/uni2AB8/uni22D6/uni22D7
+/leqdot/geqdot/uni2A7F/uni2A80/notequal/uni2262/uni2241/uni223D0338/uni2249
+/backapprox_uni0338/uni224B0338/backtriplesim_uni0338/uni2244/uni22CD0338
+/uni22420338/backeqsim_uni0338/uni2247/uni224C0338/uni224A0338
+/backapproxeq_uni0338/uni224F0338/eqbump_uni0338/uni224E0338/uni22500338
+/uni2A660338/uni22510338/uni22520338/uni22530338/uni23230338/uni23220338
+/doublesmile_uni0338/doublefrown_uni0338/triplesmile_uni0338
+/triplefrown_uni0338/uni226D/frownsmile_uni0338/smileeq_uni0338
+/frowneq_uni0338/eqsmile_uni0338/eqfrown_uni0338/doublesmileeq_uni0338
+/doublefrowneq_uni0338/smileeqfrown_uni0338/frowneqsmile_uni0338
+/smilefrowneq_uni0338/frownsmileeq_uni0338/sqsmile_uni0338/sqfrown_uni0338
+/sqdoublesmile_uni0338/sqdoublefrown_uni0338/sqtriplesmile_uni0338
+/sqtriplefrown_uni0338/sqsmilefrown_uni0338/sqfrownsmile_uni0338
+/sqsmileeq_uni0338/sqfrowneq_uni0338/sqeqsmile_uni0338/sqeqfrown_uni0338
+/sqdoublesmileeq_uni0338/sqdoublefrowneq_uni0338/sqsmileeqfrown_uni0338
+/sqfrowneqsmile_uni0338/uni22560338/uni22570338/uni225C0338/uni22590338
+/notelement/uni220C/uni226E/uni226F/uni2270/uni2271/uni2270.alt1
+/uni2271.alt1/uni22660338/uni22670338/uni2278/uni2279/uni22DA0338
+/uni22DB0338/uni2A8B0338/uni2A8C0338/lesseqgtrslant_uni0338
+/gtreqlessslant_uni0338/uni226A0338/uni226B0338/uni22D80338/uni22D90338
+/uni22EA/uni22EB/uni22EC/uni22ED/uni228F0338/uni22900338/uni22E2/uni22E3
+/sqsubseteqq_uni0338/sqsupseteqq_uni0338/Sqsubset_uni0338/Sqsupset_uni0338
+/notsubset/uni2285/uni2288/uni2289/uni2AC50338/uni2AC60338/uni22D00338
+/uni22D10338/uni2280/uni2281/uni2AAF0338/uni2AB00338/uni22E0/uni22E1
+/uni227E0338/uni227F0338/uni2AB70338/uni2AB80338/uni22D60338/uni22D70338
+/leqdot_uni0338/geqdot_uni0338/uni2A7F0338/uni2A800338/uni2268/uni2269
+/lessneqqgtr/gtrneqqless/uni22E4/uni22E5/sqsubsetneqq/sqsupsetneqq/uni228A
+/uni228B/uni2ACB/uni2ACC/uni22E8/uni22E9/uni2AB9/uni2ABA]
+FdSymbolB-Bold:
+FdSymbolB-Book:
+FdSymbolB-Medium:
+FdSymbolB-Regular:
+MdSymbolB-Bold:
+MdSymbolB-Light:
+MdSymbolB-Regular:
+MdSymbolB-Semibold:
+[/equal/uni2261/similar/uni223D/approxequal/uni224B/uni2243/uni22CD/uni2242
+/congruent/uni224C/uni224A/uni224F/uni2AAE/uni224E/uni2250/uni2A66/uni2251
+/uni2252/uni2253/uni2254/uni2255/uni2323/uni2322/uni224D/uni2050/sym020
+/uni2258/uni2256/uni2257/uni2259/uni225A/uni225B/uni225C/element/uni220B
+/less/greater/lessequal/greaterequal/uni2A7D/uni2A7E/uni2266/uni2267/uni2272
+/uni2273/uni2A85/uni2A86/uni2276/uni2277/uni22DA/uni22DB/uni2A8B/uni2A8C
+/uni22DA.alt/uni22DB.alt/uni226A/uni226B/uni22D8/uni22D9/uni22B2/uni22B3
+/uni22B4/uni22B5/uni2AA6/uni2AA7/uni2AA8/uni2AA9/uni228F/uni2290/uni2291
+/uni2292/sym021/sym022/sym023/sym024/propersubset/propersuperset
+/reflexsubset/reflexsuperset/uni2AC5/uni2AC6/uni22D0/uni22D1/uni227A/uni227B
+/uni2AAF/uni2AB0/uni227C/uni227D/uni2AB3/uni2AB4/uni227E/uni227F/uni2AB7
+/uni2AB8/uni22D6/uni22D7/sym025/sym026/uni2A7F/uni2A80/uni2A95/uni2A96
+/uni22DE/uni22DF/notequal/uni2262/uni2241/uni223D0338/uni2249/uni224B0338
+/uni2244/uni22CD0338/uni22420338/uni2247/uni224C0338/uni224A0338/uni224F0338
+/uni2AAE0338/uni224E0338/uni22500338/uni2A660338/uni22510338/uni22520338
+/uni22530338/uni23230338/uni23220338/uni226D/uni20500338/sym020_uni0338
+/uni22580338/uni22560338/uni22570338/uni22590338/uni225A0338/uni225B0338
+/uni225C0338/notelement/uni220C/uni226E/uni226F/uni2270/uni2271/uni2A7D0338
+/uni2A7E0338/uni22660338/uni22670338/uni2274/uni2275/uni2A850338/uni2A860338
+/uni2278/uni2279/uni22DA0338/uni22DB0338/uni2A8B0338/uni2A8C0338
+/uni22DA0338.alt/uni22DB0338.alt/uni226A0338/uni226B0338/uni22D80338
+/uni22D90338/uni22EA/uni22EB/uni22EC/uni22ED/uni2AA60338/uni2AA70338
+/uni2AA80338/uni2AA90338/uni228F0338/uni22900338/uni22E2/uni22E3
+/sym021_uni0338/sym022_uni0338/sym023_uni0338/sym024_uni0338/notsubset
+/uni2285/uni2288/uni2289/uni2AC50338/uni2AC60338/uni22D00338/uni22D10338
+/uni2280/uni2281/uni2AAF0338/uni2AB00338/uni22E0/uni22E1/uni2AB30338
+/uni2AB40338/uni227E0338/uni227F0338/uni2AB70338/uni2AB80338/uni22D60338
+/uni22D70338/sym025_uni0338/sym026_uni0338/uni2A7F0338/uni2A800338
+/uni2A950338/uni2A960338/uni22DE0338/uni22DF0338/uni2246/sym027/uni2A87
+/uni2A88/uni2268/uni2269/uni22E6/uni22E7/uni2A89/uni2A8A/uni22E4/uni22E5
+/sym028/sym029/uni228A/uni228B/uni2ACB/uni2ACC/uni2AB1/uni2AB2/uni2AB5
+/uni2AB6/uni22E8/uni22E9/uni2AB9/uni2ABA 20{/.notdef}repeat]
+feybl10:
+feybo10:
+feybr10:
+feyml10:
+feymo10:
+feymr10:
+[/grave 31{/.notdef}repeat/space 32{/.notdef}repeat/A/B/C 33{/.notdef}repeat
+/e 154{/.notdef}repeat]
+bicighb:
+bicighm:
+bicigvb:
+bicigvm:
+[/grave 31{/.notdef}repeat/space/exclam/quotedbl 4{/.notdef}repeat
+/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/.notdef/E/F/G/.notdef/I/.notdef/K/L/M/N/O/P
+/Q/R/S/T/U/V/W/X/Y/Z 5{/.notdef}repeat/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/.notdef/bar 8{/.notdef}repeat/Ecaron/Eogonek/Gbreve
+/Lacute/Lcaron/.notdef/Nacute/Ncaron/Eng/Ohungarumlaut 4{/.notdef}repeat
+/Scedilla/Tcaron/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron
+/.notdef/IJ 14{/.notdef}repeat/nacute 3{/.notdef}repeat/racute/rcaron 10{
+/.notdef}repeat/zdotaccent 12{/.notdef}repeat/Egrave/.notdef/Ecircumflex
+/.notdef/Igrave/.notdef/Icircumflex/Idieresis/Eth/.notdef/Ograve/.notdef
+/Ocircumflex/.notdef/Odieresis/OE/Oslash/.notdef/Uacute/.notdef/Udieresis
+/.notdef/Thorn/SS/agrave/.notdef/acircumflex/.notdef/adieresis/.notdef/ae
+/ccedilla/egrave/.notdef/ecircumflex/.notdef/igrave/.notdef/icircumflex
+/idieresis/eth/.notdef/ograve/.notdef/ocircumflex/.notdef/odieresis/oe 7{
+/.notdef}repeat/germandbls]
+mxsk:
+[/grave/acute 62{/.notdef}repeat/at/A 62{/.notdef}repeat/Abreve/Aogonek 62{
+/.notdef}repeat/Agrave/Aacute 62{/.notdef}repeat]
+mathc10:
+[/grave/acute/circumflex/tilde 12{/.notdef}repeat/quotedblleft/quotedblright
+/quotedblbase/guillemotleft/guillemotright/endash/emdash/cwm/perthousand
+/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/.notdef/exclam/quotedbl/numbersign
+/.notdef/.notdef/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/sfthyphen/.notdef/Aogonek/Cacute/Ccaron
+/.notdef/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash/Nacute/Ncaron/Eng
+/.notdef/Racute/Rcaron/Sacute/.notdef/Scedilla/.notdef/.notdef/Uhungarumlaut
+10{/.notdef}repeat/aogonek/cacute/ccaron/.notdef/ecaron/.notdef/gbreve
+/lacute/lcaron/.notdef/nacute/ncaron/.notdef/.notdef/racute/rcaron/sacute
+/.notdef/.notdef/tcaron/tcedilla/uhungarumlaut/uring/.notdef/.notdef/zcaron
+/.notdef/.notdef/exclamdown/.notdef/sterling/Agrave/Aacute/Acircumflex
+/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis
+/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex
+/Otilde/Odieresis/OE/Oslash/Ugrave/Uacute 5{/.notdef}repeat/agrave/aacute
+/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex
+/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute
+/ocircumflex/otilde/odieresis/oe/oslash/ugrave/uacute 5{/.notdef}repeat]
+knitn_sc_in:
+knitn_sc_out:
+knitnl:
+knitnn:
+knitnp:
+knitnr:
+[/grave/acute/circumflex/tilde/dieresis/.notdef/.notdef/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/compwordmark/perthousandzero/dotlessi/dotlessj/ff/fi/fl/ffi/ffl
+/.notdef/exclam/quotedbl/numbersign/.notdef/.notdef/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
+/.notdef/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/.notdef
+/Abreve/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron
+/Lslash/Nacute/Ncaron/Eng/Odblacute/Racute/Rcaron/Sacute/Scaron/Scedilla
+/Tcaron/Tcedilla/Udblacute/Uring 102{/.notdef}repeat/thorn/germandbls]
+callig15:
+[/grave/acute/circumflex/tilde/dieresis/.notdef/ring/.notdef/breve/.notdef
+/dotaccent 3{/.notdef}repeat/guilsinglleft/guilsinglright/quotedblleft
+/quotedblright/quotedblbase/guillemotleft/guillemotright/.notdef/emdash 5{
+/.notdef}repeat/fi/fl 3{/.notdef}repeat/exclam/quotedbl/numbersign/dollar
+/percent/ampersand/quoteright/parenleft/parenright/asterisk/.notdef/comma
+/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
+/semicolon 3{/.notdef}repeat/question/.notdef/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/.notdef/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/.notdef/braceright/asciitilde/sfthyphen 24{/.notdef}repeat
+/Ydieresis 31{/.notdef}repeat/ydieresis 4{/.notdef}repeat/exclamdown
+/questiondown/sterling/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
+/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
+/Idieresis/.notdef/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/OE
+/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis 3{/.notdef}repeat/agrave/aacute
+/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex
+/edieresis/igrave/iacute/icircumflex/idieresis/.notdef/ntilde/ograve/oacute
+/ocircumflex/otilde/odieresis/oe/oslash/ugrave/uacute/ucircumflex/udieresis
+/.notdef/.notdef/germandbls]
+vnb10:
+vnbx10:
+vnbx12:
+vnbx5:
+vnbx6:
+vnbx7:
+vnbx8:
+vnbx9:
+vnbxsl10:
+vnbxti10:
+vncsc10:
+vndunh10:
+vnff10:
+vnfi10:
+vnfib8:
+vnitt10:
+vnr10:
+vnr12:
+vnr17:
+vnr5:
+vnr6:
+vnr7:
+vnr8:
+vnr9:
+vnsl10:
+vnsl12:
+vnsl8:
+vnsl9:
+vnsltt10:
+vnss10:
+vnss12:
+vnss8:
+vnss9:
+vnssbx10:
+vnssdc10:
+vnssi10:
+vnssi12:
+vnssi8:
+vnssi9:
+vnssq8:
+vnssqi8:
+vntcsc10:
+vnti10:
+vnti12:
+vnti7:
+vnti8:
+vnti9:
+vntt10:
+vntt12:
+vntt8:
+vntt9:
+vnu10:
+vnvtt10:
+[/grave/acute/circumflex/tilde/dieresis/dotbelow/ring/caron/breve/macron
+/dotaccent/cedilla/hookabove/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/.notdef/zeroinferior/dotlessi/uni1EF6/uni1EF7/uni1EF4/uni1EF5/Dcroat
+/dcroat/uni2423/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/sfthyphen/Agrave/Aacute/Atilde/uni1EA2/uni1EA0/Acircumflex
+/uni1EA6/uni1EA4/uni1EAA/uni1EA8/uni1EAC/Abreve/uni1EB0/uni1EAE/uni1EB4
+/uni1EB2/uni1EB6/Egrave/Eacute/uni1EBC/uni1EBA/uni1EB8/Ecircumflex/uni1EC0
+/uni1EBE/uni1EC4/uni1EC2/uni1EC6/Igrave/Iacute/Itilde/uni1EC8/agrave/aacute
+/atilde/uni1EA3/uni1EA1/acircumflex/uni1EA7/uni1EA5/uni1EAB/uni1EA9/uni1EAD
+/abreve/uni1EB1/uni1EAF/uni1EB5/uni1EB3/uni1EB7/egrave/eacute/uni1EBD
+/uni1EBB/uni1EB9/ecircumflex/uni1EC1/uni1EBF/uni1EC5/uni1EC3/uni1EC7/igrave
+/iacute/itilde/uni1EC9/uni1ECA/Ograve/Oacute/Otilde/uni1ECE/uni1ECC
+/Ocircumflex/uni1ED2/uni1ED0/uni1ED6/uni1ED4/uni1ED8/Ohorn/uni1EDC/uni1EDA
+/uni1EE0/uni1EDE/uni1EE2/Ugrave/Uacute/Utilde/uni1EE6/uni1EE4/Uhorn/uni1EEA
+/uni1EE8/uni1EEE/uni1EEC/uni1EF0/Ygrave/Yacute/uni1EF8/uni1ECB/ograve/oacute
+/otilde/uni1ECF/uni1ECD/ocircumflex/uni1ED3/uni1ED1/uni1ED7/uni1ED5/uni1ED9
+/ohorn/uni1EDD/uni1EDB/uni1EE1/uni1EDF/uni1EE3/ugrave/uacute/utilde/uni1EE7
+/uni1EE5/uhorn/uni1EEB/uni1EE9/uni1EEF/uni1EED/uni1EF1/ygrave/yacute/uni1EF9
+]
+vnss17:
+vnssi17:
+[/grave/acute/circumflex/tilde/dieresis/dotbelow/ring/caron/breve/macron
+/dotaccent/cedilla/hookabove/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/zeroinferior/dotlessi/uni1EF6/uni1EF7/uni1EF4/uni1EF5/Dcroat
+/dcroat/uni2423/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/sfthyphen/Agrave/Aacute/Atilde/uni1EA2/uni1EA0/Acircumflex
+/uni1EA6/uni1EA4/uni1EAA/uni1EA8/uni1EAC/Abreve/uni1EB0/uni1EAE/uni1EB4
+/uni1EB2/uni1EB6/Egrave/Eacute/uni1EBC/uni1EBA/uni1EB8/Ecircumflex/uni1EC0
+/uni1EBE/uni1EC4/uni1EC2/uni1EC6/Igrave/Iacute/Itilde/uni1EC8/agrave/aacute
+/atilde/uni1EA3/uni1EA1/acircumflex/uni1EA7/uni1EA5/uni1EAB/uni1EA9/uni1EAD
+/abreve/uni1EB1/uni1EAF/uni1EB5/uni1EB3/uni1EB7/egrave/eacute/uni1EBD
+/uni1EBB/uni1EB9/ecircumflex/uni1EC1/uni1EBF/uni1EC5/uni1EC3/uni1EC7/igrave
+/iacute/itilde/uni1EC9/uni1ECA/Ograve/Oacute/Otilde/uni1ECE/uni1ECC
+/Ocircumflex/uni1ED2/uni1ED0/uni1ED6/uni1ED4/uni1ED8/Ohorn/uni1EDC/uni1EDA
+/uni1EE0/uni1EDE/uni1EE2/Ugrave/Uacute/Utilde/uni1EE6/uni1EE4/Uhorn/uni1EEA
+/uni1EE8/uni1EEE/uni1EEC/uni1EF0/Ygrave/Yacute/uni1EF8/uni1ECB/ograve/oacute
+/otilde/uni1ECF/uni1ECD/ocircumflex/uni1ED3/uni1ED1/uni1ED7/uni1ED5/uni1ED9
+/ohorn/uni1EDD/uni1EDB/uni1EE1/uni1EDF/uni1EE3/ugrave/uacute/utilde/uni1EE7
+/uni1EE5/uhorn/uni1EEB/uni1EE9/uni1EEF/uni1EED/uni1EF1/ygrave/yacute/uni1EF9
+]
+knitg_sc_in:
+knitg_sc_out:
+knitgg:
+knitgn:
+knitgp:
+knitwg:
+knitwn:
+knitwp:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring 10{/.notdef}repeat
+/quotedblright/quotedblbase/guillemotleft/guillemotright/endash/emdash
+/compwordmark/perthousandzero/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/.notdef
+/exclam/quotedbl/numbersign/.notdef/.notdef/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/.notdef
+/bracketright/.notdef/.notdef/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/.notdef/Abreve/Aogonek
+/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash/Nacute
+/Ncaron/Eng/Odblacute/Racute/Rcaron/Sacute/Scaron/Scedilla/Tcaron/Tcedilla
+/Udblacute/Uring/Ydieresis/Zacute/Zcaron/Zdot/IJ/Idot/dmacron/section/abreve
+/aogonek/cacute/ccaron/dcaron/ecaron/eogonek/gbreve/lacute/lcaron/lslash
+/nacute/ncaron/eng/odblacute/racute/rcaron/sacute/scaron/scedilla/tcaron
+/tcedilla/udblacute/uring/ydieresis/zacute/zcaron/zdot/ij/exclamdown
+/questiondown/sterling/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
+/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
+/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/OE/Oslash
+/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/Germandbls/agrave/aacute
+/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex
+/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute
+/ocircumflex/otilde/odieresis/oe/oslash/ugrave/uacute/ucircumflex/udieresis
+/yacute/thorn/germandbls]
+vect10:
+vect5:
+vect6:
+vect7:
+vect8:
+vect9:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve 7{
+/.notdef}repeat/quotedblleft/quotedblright/quotedblbase/guillemotleft
+/guillemotright/endash/emdash/cwm/perthousand 7{/.notdef}repeat/space/exclam
+/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft
+/parenright/asterisk/plus/comma/hyphen/period/slash 208{/.notdef}repeat]
+hcaption:
+hclassic:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+23{/.notdef}repeat/exclam 10{/.notdef}repeat/comma/hyphen/period 11{/.notdef
+}repeat/colon 64{/.notdef}repeat/braceleft/bar 3{/.notdef}repeat/Abreve
+/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash
+/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron/Scedilla/Tcaron
+/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron 101{/.notdef}repeat]
+tipx10:
+tipx12:
+tipx17:
+tipx8:
+tipx9:
+tipxb10:
+tipxbs10:
+tipxbx10:
+tipxbx12:
+tipxbx8:
+tipxbx9:
+tipxsb10:
+tipxsi10:
+tipxsl10:
+tipxsl12:
+tipxsl8:
+tipxsl9:
+tipxss10:
+tipxss12:
+tipxss17:
+tipxss8:
+tipxss9:
+tipxts10:
+tipxtt10:
+tipxtt12:
+tipxtt8:
+tipxtt9:
+xipx10:
+xipxb10:
+xipxbs10:
+xipxsb10:
+xipxsi10:
+xipxsl10:
+xipxss10:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent 21{/.notdef}repeat/visiblespace/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 6{/.notdef}
+repeat/P/Q/R/S/T/U/V 25{/.notdef}repeat/p/q/r/s/t/u/v/w/x/y/z/braceleft 132{
+/.notdef}repeat]
+xuc10:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/.notdef/ogonek/quotesinglbase/guilsinglleft/.notdef/quotedblleft
+/quotedblright/quotedblbase/guillemotleft/guillemotright/endash/emdash/cwm
+/perthousand/.notdef/dotlessj/.notdef/fi/fl/ffi/.notdef/.notdef/exclam 5{
+/.notdef}repeat/quoteright/parenleft/parenright/.notdef/plus/comma/hyphen
+/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
+/semicolon/.notdef/equal/.notdef/question/.notdef/A/B/C/D/E/.notdef/G/H/I/J
+/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/.notdef/Z/bracketleft/backslash/bracketright 3{
+/.notdef}repeat/a/b/c/d/e/.notdef/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x
+/.notdef/z/braceleft/bar 131{/.notdef}repeat]
+ltclb8:
+ltcli8:
+ltclo8:
+ltclq8:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase 4{/.notdef}repeat/quotedblbase
+/.notdef/.notdef/endash/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl
+/.notdef/ffl/space 3{/.notdef}repeat/dollar/.notdef/.notdef/quoteright
+/.notdef/.notdef/asterisk/.notdef/comma/hyphen/period/slash/zero/one/two
+/three/four/five/six/seven/eight/nine/.notdef/.notdef/less/equal/greater 14{
+/.notdef}repeat/M/.notdef/O 7{/.notdef}repeat/W 3{/.notdef}repeat
+/bracketleft/.notdef/bracketright/asciicircum/underscore/quoteleft/.notdef/b
+/c/d 7{/.notdef}repeat/l/m/n 15{/.notdef}repeat/asciitilde/sfthyphen/Abreve
+/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash
+/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron/Scedilla/Tcaron
+/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron/Zdotaccent/IJ
+/Idotaccent/dcroat/section/abreve/aogonek/cacute/ccaron/dcaron/ecaron
+/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/eng/ohungarumlaut/racute
+/rcaron/sacute/scaron/scedilla/tcaron/tcedilla/uhungarumlaut/uring/ydieresis
+/zacute/zcaron/zdotaccent/ij/exclamdown/questiondown/sterling 22{/.notdef}
+repeat/Odieresis 31{/.notdef}repeat/odieresis 9{/.notdef}repeat]
+mxedc10:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/.notdef/.notdef
+/quotedblright 4{/.notdef}repeat/emdash 10{/.notdef}repeat/exclam 5{/.notdef
+}repeat/quoteright/parenleft/parenright/.notdef/plus/comma/hyphen/period
+/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
+/.notdef/equal/.notdef/question 27{/.notdef}repeat/bracketleft/backslash
+/bracketright/asciicircum/.notdef/.notdef/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/.notdef/.notdef/sfthyphen 128{/.notdef}
+repeat]
+mxed10:
+mxedbf10:
+mxedi10:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/.notdef/quotedblleft
+/quotedblright 4{/.notdef}repeat/emdash 10{/.notdef}repeat/exclam 5{/.notdef
+}repeat/quoteright/parenleft/parenright/.notdef/plus/comma/hyphen/period
+/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
+/.notdef/equal/.notdef/question 27{/.notdef}repeat/bracketleft/backslash
+/bracketright/asciicircum/.notdef/.notdef/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/.notdef/.notdef/sfthyphen 128{/.notdef}
+repeat]
+mathastrotest10:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/.notdef/quotedblleft
+/quotedblright/quotedblbase/guillemotleft/guillemotright/endash/emdash/cwm
+/perthousand/.notdef/dotlessj/ff 4{/.notdef}repeat/visualspace/exclam
+/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft
+/parenright/asterisk/plus/comma/hyphen/period/.notdef/zero/one/two/three
+/four/five/six/seven/eight/.notdef/colon/semicolon 4{/.notdef}repeat/at/A/B
+/C/D/E/F/G/H/I/J/K/L/M/N/.notdef/P/Q/R/S/T/U/V/W/X/.notdef/Z/bracketleft 4{
+/.notdef}repeat/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/.notdef/p/q/r/s/t/u/v
+/w/x/.notdef/z/braceleft 4{/.notdef}repeat/Abreve/Aogonek/Cacute/Ccaron
+/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash/Nacute/Ncaron/Eng
+/Ohungarumlaut/.notdef/Rcaron/Sacute/Scaron/Scedilla/Tcaron/Tcedilla
+/Uhungarumlaut/Uring/Ydieresis/.notdef/Zcaron/Zdotaccent 4{/.notdef}repeat
+/abreve/aogonek/cacute/ccaron/dcaron/ecaron/eogonek/gbreve/lacute/lcaron
+/lslash/nacute/ncaron/eng/ohungarumlaut/.notdef/rcaron/sacute/scaron
+/scedilla/tcaron/tcedilla/uhungarumlaut/uring/ydieresis/.notdef/zcaron
+/zdotaccent 4{/.notdef}repeat/Agrave/Aacute/Acircumflex/Atilde/Adieresis
+/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute
+/Icircumflex/.notdef/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
+/OE/Oslash/.notdef/Uacute/Ucircumflex 4{/.notdef}repeat/agrave/aacute
+/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex
+/edieresis/igrave/iacute/icircumflex/.notdef/eth/ntilde/ograve/oacute
+/ocircumflex/otilde/odieresis/oe/oslash/.notdef/uacute/ucircumflex 4{
+/.notdef}repeat]
+cmllbx10:
+cmllbx12:
+cmllbx5:
+cmllbx6:
+cmllbx7:
+cmllbx8:
+cmllbx9:
+cmllr10:
+cmllr12:
+cmllr17:
+cmllr5:
+cmllr6:
+cmllr7:
+cmllr8:
+cmllr9:
+cmllss10:
+cmllss12:
+cmllss17:
+cmllss8:
+cmllss9:
+cmllssbx10:
+eullbx10:
+eullbx5:
+eullbx6:
+eullbx7:
+eullbx8:
+eullbx9:
+eullr10:
+eullr5:
+eullr6:
+eullr7:
+eullr8:
+eullr9:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase 237{/.notdef}repeat]
+xgreg11:
+xgreg13:
+xgreg16:
+xgreg20:
+xgreg24:
+xgreg29:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase 79{/.notdef}repeat/b 19{/.notdef}
+repeat/v/w/x/y/z/.notdef/.notdef/braceright/asciitilde 129{/.notdef}repeat]
+ebbx10:
+ebmo10:
+ebmo17:
+ebmo8:
+ebmo9:
+ebmr10:
+ebmr17:
+ebmr8:
+ebmr9:
+ebso10:
+ebso17:
+ebso8:
+ebso9:
+ebsr10:
+ebsr17:
+ebsr8:
+ebsr9:
+ebtl10:
+ebto10:
+ecbi0500:
+ecbi0600:
+ecbi0700:
+ecbi0800:
+ecbi0900:
+ecbi1000:
+ecbi1095:
+ecbi1200:
+ecbi1440:
+ecbi1728:
+ecbi2074:
+ecbi2488:
+ecbi2986:
+ecbi3583:
+ecbl0500:
+ecbl0600:
+ecbl0700:
+ecbl0800:
+ecbl0900:
+ecbl1000:
+ecbl1095:
+ecbl1200:
+ecbl1440:
+ecbl1728:
+ecbl2074:
+ecbl2488:
+ecbl2986:
+ecbl3583:
+ecbx0500:
+ecbx0600:
+ecbx0700:
+ecbx0800:
+ecbx0900:
+ecbx1000:
+ecbx1095:
+ecbx1200:
+ecbx1440:
+ecbx1728:
+ecbx2074:
+ecbx2488:
+ecbx2986:
+ecbx3583:
+eccc0500:
+eccc0600:
+eccc0700:
+eccc0800:
+eccc0900:
+eccc1000:
+eccc1095:
+eccc1200:
+eccc1440:
+eccc1728:
+eccc2074:
+eccc2488:
+eccc2986:
+eccc3583:
+ecci0500:
+ecci0600:
+ecci0700:
+ecci0800:
+ecci0900:
+ecci1000:
+ecci1095:
+ecci1200:
+ecci1440:
+ecci1728:
+ecci2074:
+ecci2488:
+ecci2986:
+ecci3583:
+ecdh0500:
+ecdh0600:
+ecdh0700:
+ecdh0800:
+ecdh0900:
+ecdh1000:
+ecdh1095:
+ecdh1200:
+ecdh1440:
+ecdh1728:
+ecdh2074:
+ecdh2488:
+ecdh2986:
+ecdh3583:
+ecit0800:
+ecit0900:
+ecit1000:
+ecit1095:
+ecit1200:
+ecit1440:
+ecit1728:
+ecit2074:
+ecit2488:
+ecit2986:
+ecit3583:
+eclb8:
+ecli8:
+eclo8:
+eclq8:
+ecltt8:
+ecoc0500:
+ecoc0600:
+ecoc0700:
+ecoc0800:
+ecoc0900:
+ecoc1000:
+ecoc1095:
+ecoc1200:
+ecoc1440:
+ecoc1728:
+ecoc2074:
+ecoc2488:
+ecoc2986:
+ecoc3583:
+ecrb0500:
+ecrb0600:
+ecrb0700:
+ecrb0800:
+ecrb0900:
+ecrb1000:
+ecrb1095:
+ecrb1200:
+ecrb1440:
+ecrb1728:
+ecrb2074:
+ecrb2488:
+ecrb2986:
+ecrb3583:
+ecrm0500:
+ecrm0600:
+ecrm0700:
+ecrm0800:
+ecrm0900:
+ecrm1000:
+ecrm1095:
+ecrm1200:
+ecrm1440:
+ecrm1728:
+ecrm2074:
+ecrm2488:
+ecrm2986:
+ecrm3583:
+ecsc0500:
+ecsc0600:
+ecsc0700:
+ecsc0800:
+ecsc0900:
+ecsc1000:
+ecsc1095:
+ecsc1200:
+ecsc1440:
+ecsc1728:
+ecsc2074:
+ecsc2488:
+ecsc2986:
+ecsc3583:
+ecsi0500:
+ecsi0600:
+ecsi0700:
+ecsi0800:
+ecsi0900:
+ecsi1000:
+ecsi1095:
+ecsi1200:
+ecsi1440:
+ecsi1728:
+ecsi2074:
+ecsi2488:
+ecsi2986:
+ecsi3583:
+ecsl0500:
+ecsl0600:
+ecsl0700:
+ecsl0800:
+ecsl0900:
+ecsl1000:
+ecsl1095:
+ecsl1200:
+ecsl1440:
+ecsl1728:
+ecsl2074:
+ecsl2488:
+ecsl2986:
+ecsl3583:
+ecso0500:
+ecso0600:
+ecso0700:
+ecso0800:
+ecso0900:
+ecso1000:
+ecso1095:
+ecso1200:
+ecso1440:
+ecso1728:
+ecso2074:
+ecso2488:
+ecso2986:
+ecso3583:
+ecss0500:
+ecss0600:
+ecss0700:
+ecss0800:
+ecss0900:
+ecss1000:
+ecss1095:
+ecss1200:
+ecss1440:
+ecss1728:
+ecss2074:
+ecss2488:
+ecss2986:
+ecss3583:
+ecst0800:
+ecst0900:
+ecst1000:
+ecst1095:
+ecst1200:
+ecst1440:
+ecst1728:
+ecst2074:
+ecst2488:
+ecst2986:
+ecst3583:
+ecsx0500:
+ecsx0600:
+ecsx0700:
+ecsx0800:
+ecsx0900:
+ecsx1000:
+ecsx1095:
+ecsx1200:
+ecsx1440:
+ecsx1728:
+ecsx2074:
+ecsx2488:
+ecsx2986:
+ecsx3583:
+ectc0800:
+ectc0900:
+ectc1000:
+ectc1095:
+ectc1200:
+ectc1440:
+ectc1728:
+ectc2074:
+ectc2488:
+ectc2986:
+ectc3583:
+ecti0500:
+ecti0600:
+ecti0700:
+ecti0800:
+ecti0900:
+ecti1000:
+ecti1095:
+ecti1200:
+ecti1440:
+ecti1728:
+ecti2074:
+ecti2488:
+ecti2986:
+ecti3583:
+ectt0800:
+ectt0900:
+ectt1000:
+ectt1095:
+ectt1200:
+ectt1440:
+ectt1728:
+ectt2074:
+ectt2488:
+ectt2986:
+ectt3583:
+ecui0500:
+ecui0600:
+ecui0700:
+ecui0800:
+ecui0900:
+ecui1000:
+ecui1095:
+ecui1200:
+ecui1440:
+ecui1728:
+ecui2074:
+ecui2488:
+ecui2986:
+ecui3583:
+ecvi0800:
+ecvi0900:
+ecvi1000:
+ecvi1095:
+ecvi1200:
+ecvi1440:
+ecvi1728:
+ecvi2074:
+ecvi2488:
+ecvi2986:
+ecvi3583:
+ecvt0800:
+ecvt0900:
+ecvt1000:
+ecvt1095:
+ecvt1200:
+ecvt1440:
+ecvt1728:
+ecvt2074:
+ecvt2488:
+ecvt2986:
+ecvt3583:
+ecxc0500:
+ecxc0600:
+ecxc0700:
+ecxc0800:
+ecxc0900:
+ecxc1000:
+ecxc1095:
+ecxc1200:
+ecxc1440:
+ecxc1728:
+ecxc2074:
+ecxc2488:
+ecxc2986:
+ecxc3583:
+eocc10:
+eorm10:
+eorm5:
+eorm6:
+eorm7:
+eorm8:
+eorm9:
+eosl10:
+eosl5:
+eosl6:
+eosl7:
+eosl8:
+eosl9:
+eoti10:
+ieclb8:
+iecli8:
+ieclo8:
+ieclq8:
+iecltt8:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/afii61664/perthousandzero/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/uni2423
+/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.alt/Abreve
+/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash
+/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron/Scedilla/Tcaron
+/Tcommaaccent/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron/Zdotaccent/IJ
+/Idotaccent/dcroat/section/abreve/aogonek/cacute/ccaron/dcaron/ecaron
+/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/eng/ohungarumlaut/racute
+/rcaron/sacute/scaron/scedilla/tcaron/tcommaaccent/uhungarumlaut/uring
+/ydieresis/zacute/zcaron/zdotaccent/ij/exclamdown/questiondown/sterling
+/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute
+/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve
+/Oacute/Ocircumflex/Otilde/Odieresis/OE/Oslash/Ugrave/Uacute/Ucircumflex
+/Udieresis/Yacute/Thorn/SS/agrave/aacute/acircumflex/atilde/adieresis/aring
+/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex
+/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/oe/oslash
+/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/germandbls]
+mathb10:
+mathb12:
+mathb5:
+mathb6:
+mathb7:
+mathb8:
+mathb9:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl/.notdef/.notdef
+/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/.notdef/T/.notdef/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/sfthyphen/Abreve/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek
+/Gbreve/Lacute/Lcaron/Lslash/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron
+/Sacute/Scaron/Scedilla/Tcaron/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute
+/Zcaron/Zdotaccent/IJ/Idotaccent/dcroat/section/abreve/aogonek/cacute/ccaron
+/dcaron/ecaron/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/eng
+/ohungarumlaut/racute/rcaron/sacute/scaron/scedilla/tcaron/tcedilla
+/uhungarumlaut/uring/ydieresis/zacute/zcaron/zdotaccent/ij/exclamdown
+/questiondown/sterling/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
+/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
+/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/OE/Oslash
+/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/SS/agrave/aacute
+/acircumflex/atilde/adieresis/aring/.notdef/.notdef/egrave/eacute
+/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve
+/oacute/ocircumflex/otilde/odieresis/oe/oslash/ugrave/uacute/.notdef
+/udieresis/yacute/thorn/germandbls]
+frcbx10:
+frcbx14:
+frcbx6:
+frcc10:
+frcc14:
+frcc6:
+frcf10:
+frcf14:
+frcf6:
+frcr10:
+frcr14:
+frcr6:
+frcsl10:
+frcsl14:
+frcsl6:
+frcslbx10:
+frcslbx14:
+frcslbx6:
+frcslc10:
+frcslc14:
+frcslc6:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/.notdef/exclam
+/quotedbl 3{/.notdef}repeat/ampersand/quoteright/parenleft/parenright
+/.notdef/.notdef/comma/hyphen/period/slash/zero/one/two/three/four/five/six
+/seven/eight/nine/colon/semicolon/less/.notdef/greater/question/.notdef/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/.notdef/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/.notdef/Abreve
+/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash
+/Nacute/Ncaron/.notdef/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron/Scedilla
+/Tcaron/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron/Zdotaccent
+/.notdef/Idotaccent/.notdef/.notdef/abreve/aogonek/cacute/ccaron/dcaron
+/ecaron/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/.notdef
+/ohungarumlaut/racute/rcaron/sacute/scaron/scedilla/tcaron/tcedilla
+/uhungarumlaut/uring/ydieresis/zacute/zcaron/zdotaccent/.notdef/exclamdown
+/questiondown/.notdef/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring
+/.notdef/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute
+/Icircumflex/Idieresis/.notdef/Ntilde/Ograve/Oacute/Ocircumflex/Otilde
+/Odieresis/.notdef/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/.notdef
+/.notdef/agrave/aacute/acircumflex/atilde/adieresis/aring/.notdef/ccedilla
+/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
+/.notdef/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/oe/oslash/ugrave
+/uacute/ucircumflex/udieresis/yacute/.notdef/.notdef]
+ygoth:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/.notdef/exclam
+/quotedbl/numbersign/dollar/.notdef/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
+/.notdef/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 131{/.notdef}repeat]
+ssmsbm10:
+ssmsbm5:
+ssmsbm6:
+ssmsbm7:
+ssmsbm8:
+ssmsbm9:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/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/asciicircum/.notdef/quoteleft/a 4{/.notdef}repeat/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/sfthyphen
+128{/.notdef}repeat]
+xslhz20:
+xslhz20d:
+xtie20:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/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/asciicircum/underscore/quoteleft/a/b/c 28{/.notdef}repeat
+/Abreve/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron
+/Lslash/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron/Scedilla
+/Tcaron/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron/Zdotaccent/IJ
+/Idotaccent/dcroat/section/abreve/aogonek/cacute/ccaron/dcaron/ecaron
+/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/eng/ohungarumlaut/racute
+/rcaron/sacute/scaron/scedilla/tcaron/tcedilla/uhungarumlaut/uring/ydieresis
+/zacute/zcaron/zdotaccent/ij/exclamdown/questiondown/sterling/Agrave/Aacute
+/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex
+/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute
+/Ocircumflex/Otilde/Odieresis/OE/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis
+/Yacute/Thorn/SS/agrave/aacute/acircumflex/atilde 28{/.notdef}repeat]
+xslz20:
+xslz20d:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/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/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k 148{
+/.notdef}repeat]
+musix24:
+musix29:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/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/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/.notdef/Abreve
+/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash
+/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron/Scedilla/Tcaron
+/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron/Zdotaccent/IJ
+/Idotaccent/dcroat/section/abreve/aogonek/cacute/ccaron/dcaron/ecaron
+/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/eng/ohungarumlaut/racute
+/rcaron/sacute/scaron/scedilla/tcaron/tcedilla/uhungarumlaut/uring/ydieresis
+/zacute/zcaron/zdotaccent 4{/.notdef}repeat/Agrave/Aacute/Acircumflex/Atilde
+/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave
+/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde
+/Odieresis/OE/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/SS
+/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute
+/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve
+/oacute/ocircumflex/otilde/odieresis/oe/oslash/ugrave/uacute/ucircumflex 4{
+/.notdef}repeat]
+cmssex10:
+cmssex7:
+cmssex8:
+cmssex9:
+cmssmi10:
+cmssmi5:
+cmssmi6:
+cmssmi7:
+cmssmi8:
+cmssmi9:
+cmssmib10:
+cmssmib5:
+cmssmib6:
+cmssmib7:
+cmssmib8:
+cmssmib9:
+lcmbsy8:
+lcmex8:
+lcmmi8:
+lcmmib8:
+lcmsy8:
+llcmss8:
+llcmssb8:
+llcmssi8:
+llcmsso8:
+ssmsam10:
+ssmsam5:
+ssmsam6:
+ssmsam7:
+ssmsam8:
+ssmsam9:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/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/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/sfthyphen 128{
+/.notdef}repeat]
+ocrb10:
+ocrb5:
+ocrb6:
+ocrb7:
+ocrb8:
+ocrb9:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/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/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/sfthyphen/Abreve
+/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron 118{
+/.notdef}repeat]
+musix11:
+musix13:
+musix16:
+musix20:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/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/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/sfthyphen/Abreve
+/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash
+/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron/Scedilla/Tcaron
+/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron/Zdotaccent/IJ
+/Idotaccent/dcroat/section/abreve/aogonek/cacute/ccaron/dcaron/ecaron
+/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/eng/ohungarumlaut/racute
+/rcaron/sacute/scaron/scedilla/tcaron/tcedilla/uhungarumlaut/uring/ydieresis
+/zacute/zcaron/zdotaccent 4{/.notdef}repeat/Agrave/Aacute/Acircumflex/Atilde
+/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave
+/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde
+/Odieresis/OE/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/SS
+/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute
+/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve
+/oacute/ocircumflex/otilde/odieresis/oe/oslash/ugrave/uacute/ucircumflex 4{
+/.notdef}repeat]
+musixsps:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/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/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/sfthyphen/Abreve
+/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash
+/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron/Scedilla/Tcaron
+/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron/Zdotaccent/IJ
+/Idotaccent/dcroat/section/abreve/aogonek/cacute/ccaron/dcaron/ecaron
+/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/eng/ohungarumlaut/racute
+/rcaron/sacute/scaron/scedilla/tcaron/tcedilla/uhungarumlaut/uring/ydieresis
+/zacute/zcaron/zdotaccent/ij/exclamdown/questiondown/sterling/Agrave/Aacute
+/Acircumflex/Atilde 60{/.notdef}repeat]
+bxghsb:
+bxghsm:
+bxghwb:
+bxghwm:
+bxgvsb:
+bxgvsm:
+bxgvwb:
+bxgvwm:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/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/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/sfthyphen/Abreve
+/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash
+/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron/Scedilla/Tcaron
+/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron/Zdotaccent/IJ
+/Idotaccent/dcroat/section/abreve/aogonek/cacute/ccaron/dcaron/ecaron
+/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/eng/ohungarumlaut/racute
+/rcaron/sacute/scaron/scedilla/tcaron/tcedilla/uhungarumlaut/uring/ydieresis
+/zacute/zcaron/zdotaccent/ij/exclamdown/questiondown/sterling/Agrave/Aacute
+/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex
+/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute
+/Ocircumflex/Otilde/Odieresis/OE/Oslash/Ugrave/Uacute/Ucircumflex 35{
+/.notdef}repeat/germandbls]
+musixspx:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/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/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/sfthyphen/Abreve
+/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash
+/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron/Scedilla/Tcaron
+/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron/Zdotaccent/IJ
+/Idotaccent/dcroat/section/abreve/aogonek/cacute/ccaron/dcaron/ecaron
+/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/eng/ohungarumlaut/racute
+/rcaron/sacute/scaron/scedilla/tcaron/tcedilla/uhungarumlaut/uring/ydieresis
+/zacute/zcaron/zdotaccent/ij/exclamdown/questiondown/sterling/Agrave/Aacute
+/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex
+/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute
+/Ocircumflex/Otilde/Odieresis/OE/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis
+/Yacute/Thorn/SS/agrave/aacute/acircumflex/atilde/adieresis/aring/ae
+/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex
+/idieresis/eth/ntilde/ograve/oacute 12{/.notdef}repeat]
+eczi0500:
+eczi0600:
+eczi0700:
+eczi0800:
+eczi0900:
+eczi1000:
+eczi1095:
+eczi1200:
+eczi1440:
+eczi1728:
+eczi2074:
+eczi2488:
+eczi2986:
+eczi3583:
+eczo0500:
+eczo0600:
+eczo0700:
+eczo0800:
+eczo0900:
+eczo1000:
+eczo1095:
+eczo1200:
+eczo1440:
+eczo1728:
+eczo2074:
+eczo2488:
+eczo2986:
+eczo3583:
+eczx0500:
+eczx0600:
+eczx0700:
+eczx0800:
+eczx0900:
+eczx1000:
+eczx1095:
+eczx1200:
+eczx1440:
+eczx1728:
+eczx2074:
+eczx2488:
+eczx2986:
+eczx3583:
+eczz0500:
+eczz0600:
+eczz0700:
+eczz0800:
+eczz0900:
+eczz1000:
+eczz1095:
+eczz1200:
+eczz1440:
+eczz1728:
+eczz2074:
+eczz2488:
+eczz2986:
+eczz3583:
+leclb8:
+lecli8:
+leclo8:
+leclq8:
+tipa10:
+tipa12:
+tipa17:
+tipa8:
+tipa9:
+tipab10:
+tipabs10:
+tipabx10:
+tipabx12:
+tipabx8:
+tipabx9:
+tipasb10:
+tipasi10:
+tipasl10:
+tipasl12:
+tipasl8:
+tipasl9:
+tipass10:
+tipass12:
+tipass17:
+tipass8:
+tipass9:
+tipats10:
+tipatt10:
+tipatt12:
+tipatt8:
+tipatt9:
+xipa10:
+xipab10:
+xipabs10:
+xipasb10:
+xipasi10:
+xipasl10:
+xipass10:
+xsld11:
+xsld11d:
+xsld13:
+xsld13d:
+xsld16:
+xsld16d:
+xsld20:
+xsld20d:
+xsld24:
+xsld24d:
+xsld29:
+xsld29d:
+xsldd20:
+xsldu20:
+xslhd11:
+xslhd11d:
+xslhd13:
+xslhd13d:
+xslhd16:
+xslhd16d:
+xslhd20:
+xslhd20d:
+xslhd24:
+xslhd24d:
+xslhd29:
+xslhd29d:
+xslhu11:
+xslhu11d:
+xslhu13:
+xslhu13d:
+xslhu16:
+xslhu16d:
+xslhu20:
+xslhu20d:
+xslhu24:
+xslhu24d:
+xslhu29:
+xslhu29d:
+xslu11:
+xslu11d:
+xslu13:
+xslu13d:
+xslu16:
+xslu16d:
+xslu20:
+xslu20d:
+xslu24:
+xslu24d:
+xslu29:
+xslu29d:
+xslud20:
+xslup20:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/dotlessi/dotlessj/ff/fi/fl/ffi/ffl/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/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/sfthyphen/Abreve
+/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash
+/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron/Scedilla/Tcaron
+/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron/Zdotaccent/IJ
+/Idotaccent/dcroat/section/abreve/aogonek/cacute/ccaron/dcaron/ecaron
+/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/eng/ohungarumlaut/racute
+/rcaron/sacute/scaron/scedilla/tcaron/tcedilla/uhungarumlaut/uring/ydieresis
+/zacute/zcaron/zdotaccent/ij/exclamdown/questiondown/sterling/Agrave/Aacute
+/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex
+/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute
+/Ocircumflex/Otilde/Odieresis/OE/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis
+/Yacute/Thorn/SS/agrave/aacute/acircumflex/atilde/adieresis/aring/ae
+/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex
+/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/oe/oslash
+/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/germandbls]
+matha10:
+matha12:
+matha5:
+matha6:
+matha7:
+matha8:
+matha9:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/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/sfthyphen/Abreve
+/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash
+/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron/Scedilla/Tcaron
+/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron/Zdotaccent/IJ
+/Idotaccent/dcroat/section/abreve/aogonek/cacute/ccaron/dcaron/ecaron
+/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/eng/ohungarumlaut/racute
+/rcaron/sacute/scaron/scedilla/tcaron/tcedilla/uhungarumlaut/uring/ydieresis
+/zacute/zcaron/zdotaccent/ij/exclamdown/questiondown/sterling/Agrave/Aacute
+/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex
+/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute
+/Ocircumflex/Otilde/Odieresis/OE/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis
+/Yacute/Thorn/SS/agrave/aacute/acircumflex/atilde/adieresis/aring/ae
+/ccedilla/egrave/eacute/ecircumflex/edieresis 4{/.notdef}repeat/eth/ntilde
+/ograve/oacute/ocircumflex/otilde/odieresis/oe/oslash/ugrave/uacute
+/ucircumflex 4{/.notdef}repeat]
+mathx10:
+mathx12:
+mathx5:
+mathx6:
+mathx7:
+mathx8:
+mathx9:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/cwm/perthousand/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/sfthyphen/Abreve
+/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute/Lcaron/Lslash
+/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron/Scedilla/Tcaron
+/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron/Zdotaccent/IJ
+/Idotaccent/dcroat/section/abreve/aogonek/cacute/ccaron/dcaron/ecaron
+/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/eng/ohungarumlaut/racute
+/rcaron/sacute/scaron/scedilla/tcaron/tcedilla/uhungarumlaut/uring/ydieresis
+/zacute/zcaron/zdotaccent/ij/exclamdown/questiondown/sterling/Agrave/Aacute
+/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex
+/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute
+/Ocircumflex/Otilde/Odieresis/OE/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis
+/Yacute/Thorn/SS/agrave/aacute/acircumflex/atilde/adieresis/aring/ae
+/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex
+/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/oe/oslash
+/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/germandbls]
+ffmb10:
+ffmb8:
+ffmb9:
+ffmbc40:
+ffmbco40:
+ffmbo10:
+ffmbo8:
+ffmbo9:
+ffmbw10:
+ffmbwo10:
+ffmc10:
+ffmco10:
+ffmh10:
+ffmh8:
+ffmh9:
+ffmho10:
+ffmho8:
+ffmho9:
+ffmhw10:
+ffmhwo10:
+ffml10:
+ffmlc10:
+ffmlco10:
+ffmlo10:
+ffmlq10:
+ffmlqo10:
+ffmlw10:
+ffmlwo10:
+ffmo10:
+ffmo8:
+ffmo9:
+ffmr10:
+ffmr8:
+ffmr9:
+ffmw10:
+ffmwo10:
+[/grave/acute/circumflex/tilde/dieresis/hungarumlaut/ring/caron/breve/macron
+/dotaccent/cedilla/ogonek/quotesinglbase/guilsinglleft/guilsinglright
+/quotedblleft/quotedblright/quotedblbase/guillemotleft/guillemotright/endash
+/emdash/zerowidthspace/uniE000/dotlessi/dotlessj/ff/fi/fl/ffi/ffl
+/visiblespace/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
+/hyphentwo/Abreve/Aogonek/Cacute/Ccaron/Dcaron/Ecaron/Eogonek/Gbreve/Lacute
+/Lcaron/Lslash/Nacute/Ncaron/Eng/Ohungarumlaut/Racute/Rcaron/Sacute/Scaron
+/Scedilla/Tcaron/Tcedilla/Uhungarumlaut/Uring/Ydieresis/Zacute/Zcaron
+/Zdotaccent/IJ/Idotaccent/dcroat/section/abreve/aogonek/cacute/ccaron/dcaron
+/ecaron/eogonek/gbreve/lacute/lcaron/lslash/nacute/ncaron/eng/ohungarumlaut
+/racute/rcaron/sacute/scaron/scedilla/tcaron/tcedilla/uhungarumlaut/uring
+/ydieresis/zacute/zcaron/zdotaccent/ij/exclamdown/questiondown/sterling
+/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute
+/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve
+/Oacute/Ocircumflex/Otilde/Odieresis/OE/Oslash/Ugrave/Uacute/Ucircumflex
+/Udieresis/Yacute/Thorn/uni1E9E/agrave/aacute/acircumflex/atilde/adieresis
+/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute
+/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis
+/oe/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/germandbls]
+cmbrbs10:
+cmbrbs8:
+cmbrbs9:
+lmsbm8:
+msbm10:
+msbm5:
+msbm6:
+msbm7:
+msbm8:
+msbm9:
+[/lessornotequal/greaterornotequal/notlessequal/notgreaterequal/notless
+/notgreater/notprecedes/notfollows/lessornotdbleql/greaterornotdbleql
+/notlessorslnteql/notgreaterorslnteql/lessnotequal/greaternotequal
+/notprecedesoreql/notfollowsoreql/precedeornoteqvlnt/followornoteqvlnt
+/lessornotsimilar/greaterornotsimilar/notlessdblequal/notgreaterdblequal
+/precedenotslnteql/follownotslnteql/precedenotdbleqv/follownotdbleqv
+/lessnotdblequal/greaternotdblequal/notsimilar/notapproxequal/upslope
+/downslope/notsubsetoreql/notsupersetoreql/notsubsetordbleql
+/notsupersetordbleql/subsetornotdbleql/supersetornotdbleql/subsetornoteql
+/supersetornoteql/subsetnoteql/supersetnoteql/notsubseteql/notsuperseteql
+/notparallel/notbar/notshortbar/notshortparallel/notturnstile/notforces
+/notsatisfies/notforcesextra/nottriangeqlright/nottriangeqlleft
+/nottriangleleft/nottriangleright/notarrowleft/notarrowright/notdblarrowleft
+/notdblarrowright/notdblarrowboth/notarrowboth/dividemultiply/emptyset
+/notexistential/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/hatwide
+/hatwider/tildewide/tildewider/.notdef/Finv/Gmir 4{/.notdef}repeat/Omegainv
+/eth/equalorsimilar/beth/gimel/daleth/lessdot/greaterdot/multicloseleft
+/multicloseright/barshort/parallelshort/integerdivide/similar/approxequal
+/approxorequal/followsorequal/precedesorequal/archleftdown/archrightdown
+/Digamma/kappa/k/planckover2pi/planckover2pi1/epsiloninv 128{/.notdef}repeat
+]
+cmbrsy10:
+cmbrsy8:
+cmbrsy9:
+cmbsy10:
+cmbsy5:
+cmbsy6:
+cmbsy7:
+cmbsy8:
+cmbsy9:
+cmssbsy10:
+cmssbsy5:
+cmssbsy6:
+cmssbsy7:
+cmssbsy8:
+cmssbsy9:
+cmsssy10:
+cmsssy5:
+cmsssy6:
+cmsssy7:
+cmsssy8:
+cmsssy9:
+cmsy10:
+cmsy5:
+cmsy6:
+cmsy7:
+cmsy8:
+cmsy9:
+cmsytt10:
+euxm10:
+euxm7:
+[/minus/periodcentered/multiply/asteriskmath/divide/diamondmath/plusminus
+/minusplus/circleplus/circleminus/circlemultiply/circledivide/circledot
+/circlecopyrt/openbullet/bullet/equivasymptotic/equivalence/reflexsubset
+/reflexsuperset/lessequal/greaterequal/precedesequal/followsequal/similar
+/approxequal/propersubset/propersuperset/lessmuch/greatermuch/precedes
+/follows/arrowleft/arrowright/arrowup/arrowdown/arrowboth/arrownortheast
+/arrowsoutheast/similarequal/arrowdblleft/arrowdblright/arrowdblup
+/arrowdbldown/arrowdblboth/arrownorthwest/arrowsouthwest/proportional/prime
+/infinity/element/owner/triangle/triangleinv/negationslash/mapsto/universal
+/existential/logicalnot/emptyset/Rfractur/Ifractur/latticetop/perpendicular
+/aleph/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/union
+/intersection/unionmulti/logicaland/logicalor/turnstileleft/turnstileright
+/floorleft/floorright/ceilingleft/ceilingright/braceleft/braceright
+/angbracketleft/angbracketright/bar/bardbl/arrowbothv/arrowdblbothv
+/backslash/wreathproduct/radical/coproduct/nabla/integral/unionsq
+/intersectionsq/subsetsqequal/supersetsqequal/section/dagger/daggerdbl
+/paragraph/club/diamond/heart/spade 128{/.notdef}repeat]
+plbsy10:
+plsy10:
+plsy5:
+plsy6:
+plsy7:
+plsy8:
+plsy9:
+[/minus/periodcentered/multiply/asteriskmath/divide/diamondmath/plusminus
+/minusplus/circleplus/circleminus/circlemultiply/circledivide/circledot
+/circlecopyrt/openbullet/bullet/equivasymptotic/equivalence/reflexsubset
+/reflexsuperset/lessequal/greaterequal/precedesequal/followsequal/similar
+/approxequal/propersubset/propersuperset/lessmuch/greatermuch/precedes
+/follows/arrowleft/arrowright/arrowup/arrowdown/arrowboth/arrownortheast
+/arrowsoutheast/similarequal/arrowdblleft/arrowdblright/arrowdblup
+/arrowdbldown/arrowdblboth/arrownorthwest/arrowsouthwest/proportional/prime
+/infinity/element/owner/triangle/triangleinv/negationslash/mapsto/universal
+/existential/logicalnot/emptyset/Rfractur/Ifractur/latticetop/perpendicular
+/aleph/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/union
+/intersection/unionmulti/logicaland/logicalor/turnstileleft/turnstileright
+/floorleft/floorright/ceilingleft/ceilingright/braceleft/braceright
+/angbracketleft/angbracketright/bar/bardbl/arrowbothv/arrowdblbothv
+/backslash/wreathproduct/radical/coproduct/nabla/integral/unionsq
+/intersectionsq/subsetsqequal/supersetsqequal/section/dagger/daggerdbl
+/paragraph/club/diamond/heart/spade 44{/.notdef}repeat/xlessequal
+/xgreaterequal 82{/.notdef}repeat]
+FdSymbolF-Bold:
+FdSymbolF-Book:
+FdSymbolF-Medium:
+FdSymbolF-Regular:
+MdSymbolF-Bold:
+MdSymbolF-Light:
+MdSymbolF-Regular:
+MdSymbolF-Semibold:
+[/parenleft/parenleft.big1/parenleft.big2/parenleft.big3/parenleft.big4
+/parenleft.big5/parenright/parenright.big1/parenright.big2/parenright.big3
+/parenright.big4/parenright.big5/uni239B/uni239E/uni239D/uni23A0/uni239C
+/uni239F/bracketleft/bracketleft.big1/bracketleft.big2/bracketleft.big3
+/bracketleft.big4/bracketleft.big5/bracketright/bracketright.big1
+/bracketright.big2/bracketright.big3/bracketright.big4/bracketright.big5
+/uni230A/uni230A.big1/uni230A.big2/uni230A.big3/uni230A.big4/uni230A.big5
+/uni230B/uni230B.big1/uni230B.big2/uni230B.big3/uni230B.big4/uni230B.big5
+/uni2308/uni2308.big1/uni2308.big2/uni2308.big3/uni2308.big4/uni2308.big5
+/uni2309/uni2309.big1/uni2309.big2/uni2309.big3/uni2309.big4/uni2309.big5
+/uni231C/uni231C.big1/uni231C.big2/uni231C.big3/uni231C.big4/uni231C.big5
+/uni231D/uni231D.big1/uni231D.big2/uni231D.big3/uni231D.big4/uni231D.big5
+/uni231E/uni231E.big1/uni231E.big2/uni231E.big3/uni231E.big4/uni231E.big5
+/uni231F/uni231F.big1/uni231F.big2/uni231F.big3/uni231F.big4/uni231F.big5
+/sym0A0/sym0A0.big1/sym0A0.big2/sym0A0.big3/sym0A0.big4/sym0A0.big5/sym0A1
+/sym0A1.big1/sym0A1.big2/sym0A1.big3/sym0A1.big4/sym0A1.big5/uni23A1/uni23A4
+/uni23A3/uni23A6/uni23A2/uni23A5/uni27E6/uni27E6.big1/uni27E6.big2
+/uni27E6.big3/uni27E6.big4/uni27E6.big5/uni27E7/uni27E7.big1/uni27E7.big2
+/uni27E7.big3/uni27E7.big4/uni27E7.big5/sym0A2/sym0A5/sym0A4/sym0A7/sym0A3
+/sym0A6/braceleft/braceleft.big1/braceleft.big2/braceleft.big3
+/braceleft.big4/braceleft.big5/braceright/braceright.big1/braceright.big2
+/braceright.big3/braceright.big4/braceright.big5/uni23A7/uni23AB/uni23A9
+/uni23AD/uni23A8/uni23AC/uni23AA/uni27E8/uni27E8.big1/uni27E8.big2
+/uni27E8.big3/uni27E8.big4/uni27E8.big5/uni27E9/uni27E9.big1/uni27E9.big2
+/uni27E9.big3/uni27E9.big4/uni27E9.big5/uni27EA/uni27EA.big1/uni27EA.big2
+/uni27EA.big3/uni27EA.big4/uni27EA.big5/uni27EB/uni27EB.big1/uni27EB.big2
+/uni27EB.big3/uni27EB.big4/uni27EB.big5/uni2991/uni2991.big1/uni2991.big2
+/uni2991.big3/uni2991.big4/uni2991.big5/uni2992/uni2992.big1/uni2992.big2
+/uni2992.big3/uni2992.big4/uni2992.big5/slash/slash.big1/slash.big2
+/slash.big3/slash.big4/slash.big5/backslash/backslash.big1/backslash.big2
+/backslash.big3/backslash.big4/backslash.big5/uni2223.short/uni2223
+/uni2223.big1/uni2224.short/uni2224/uni2224.big1/sym0A8/uni2225.short
+/uni2225/uni2225.big1/uni2226.short/uni2226/uni2226.big1/sym0A9/uni2980
+/uni2980.big1/sym0AA/arrowup.short/arrowdown.short/sym0AB/arrowdblup.short
+/arrowdbldown.short/sym0AC/sym0AD/sym0AF/sym0AE/sym0B0/sym0B2/sym0B3/sym0B1
+/radical.tex/radical.tex.big1/radical.tex.big2/radical.tex.big3
+/radical.tex.big4/radical.tex.big5/radical.tex.top/uni23B7.tex/radical.ex
+/radical/radical.big1/radical.big2/radical.big3/radical.big4/radical.big5
+/radical.top/uni23B7 28{/.notdef}repeat]
+cmex10:
+cmex7:
+cmex8:
+cmex9:
+cmexb10:
+plex10:
+[/parenleftbig/parenrightbig/bracketleftbig/bracketrightbig/floorleftbig
+/floorrightbig/ceilingleftbig/ceilingrightbig/braceleftbig/bracerightbig
+/angbracketleftbig/angbracketrightbig/vextendsingle/vextenddouble/slashbig
+/backslashbig/parenleftBig/parenrightBig/parenleftbigg/parenrightbigg
+/bracketleftbigg/bracketrightbigg/floorleftbigg/floorrightbigg
+/ceilingleftbigg/ceilingrightbigg/braceleftbigg/bracerightbigg
+/angbracketleftbigg/angbracketrightbigg/slashbigg/backslashbigg
+/parenleftBigg/parenrightBigg/bracketleftBigg/bracketrightBigg/floorleftBigg
+/floorrightBigg/ceilingleftBigg/ceilingrightBigg/braceleftBigg
+/bracerightBigg/angbracketleftBigg/angbracketrightBigg/slashBigg
+/backslashBigg/slashBig/backslashBig/parenlefttp/parenrighttp/bracketlefttp
+/bracketrighttp/bracketleftbt/bracketrightbt/bracketleftex/bracketrightex
+/bracelefttp/bracerighttp/braceleftbt/bracerightbt/braceleftmid
+/bracerightmid/braceex/arrowvertex/parenleftbt/parenrightbt/parenleftex
+/parenrightex/angbracketleftBig/angbracketrightBig/unionsqtext
+/unionsqdisplay/contintegraltext/contintegraldisplay/circledottext
+/circledotdisplay/circleplustext/circleplusdisplay/circlemultiplytext
+/circlemultiplydisplay/summationtext/producttext/integraltext/uniontext
+/intersectiontext/unionmultitext/logicalandtext/logicalortext
+/summationdisplay/productdisplay/integraldisplay/uniondisplay
+/intersectiondisplay/unionmultidisplay/logicalanddisplay/logicalordisplay
+/coproducttext/coproductdisplay/hatwide/hatwider/hatwidest/tildewide
+/tildewider/tildewidest/bracketleftBig/bracketrightBig/floorleftBig
+/floorrightBig/ceilingleftBig/ceilingrightBig/braceleftBig/bracerightBig
+/radicalbig/radicalBig/radicalbigg/radicalBigg/radicalbt/radicalvertex
+/radicaltp/arrowvertexdbl/arrowtp/arrowbt/bracehtipdownleft
+/bracehtipdownright/bracehtipupleft/bracehtipupright/arrowdbltp/arrowdblbt
+128{/.notdef}repeat]
+MnSymbolF-Bold10:
+MnSymbolF-Bold12:
+MnSymbolF-Bold5:
+MnSymbolF-Bold6:
+MnSymbolF-Bold7:
+MnSymbolF-Bold8:
+MnSymbolF-Bold9:
+MnSymbolF10:
+MnSymbolF12:
+MnSymbolF5:
+MnSymbolF6:
+MnSymbolF7:
+MnSymbolF8:
+MnSymbolF9:
+[/plus.big/plus.big.disp/uni2A09/uni2A09.disp/uni22C0/uni22C0.disp/uni22C1
+/uni22C1.disp/wedgedot.big/wedgedot.big.disp/veedot.big/veedot.big.disp
+/uni2A55.big/uni2A55.big.disp/uni2A54.big/uni2A54.big.disp/curlyand.big
+/curlyand.big.disp/curlyor.big/curlyor.big.disp/curlywedgedot.big
+/curlywedgedot.big.disp/curlyveedot.big/curlyveedot.big.disp
+/doublecurlywedge.big/doublecurlywedge.big.disp/doublecurlyvee.big
+/doublecurlyvee.big.disp/uni22C2/uni22C2.disp/uni22C3/uni22C3.disp
+/uni2A40.big/uni2A40.big.disp/uni228D.big/uni228D.big.disp/capplus.big
+/capplus.big.disp/uni228E.big/uni228E.big.disp/uni2293.big/uni2293.big.disp
+/uni2294.big/uni2294.big.disp/sqcapdot.big/sqcapdot.big.disp/sqcupdot.big
+/sqcupdot.big.disp/sqcapplus.big/sqcapplus.big.disp/sqcupplus.big
+/sqcupplus.big.disp/uni25EF.big/uni25EF.big.disp/uni2296.big
+/uni2296.big.disp/uni29B6.big/uni29B6.big.disp/uni2298.big/uni2298.big.disp
+/uni29B8.big/uni29B8.big.disp/uni2295.big/uni2295.big.disp/uni2297.big
+/uni2297.big.disp/uni2299.big/uni2299.big.disp/uni229A.big/uni229A.big.disp
+/otriangle.big/otriangle.big.disp/uni229B.big/uni229B.big.disp/uni235F.big
+/uni235F.big.disp/product/product.disp/uni2210/uni2210.disp/summation
+/summation.disp/integral/integral.disp/uni222C/uni222C.disp/uni222D
+/uni222D.disp/uni2A0C/uni2A0C.disp/uni222B2026222B/uni222B2026222B.disp
+/uni2A19/uni2A19.disp/uni2A1A/uni2A1A.disp/uni2A0F/uni2A0F.disp/uni222E
+/uni222E.disp/uni222F/uni222F.disp/uni2233/uni2233.disp/uni2232.alt1
+/uni2232.disp.alt1/uni2233.alt1/uni2233.disp.alt1/uni2232/uni2232.disp
+/uni2A0B/uni2A0B.disp/uni222B2026222B.part/uni222B2026222B.part.disp
+/uni2A19.part/uni2A19.part.disp/uni2A1A.part/uni2A1A.part.disp/uni2A0F.part
+/uni2A0F.part.disp/uni222E.part/uni222E.part.disp/uni222F.part
+/uni222F.part.disp/uni2233.part/uni2233.part.disp/uni2232.part.alt1
+/uni2232.part.disp.alt1/uni2233.part.alt1/uni2233.part.disp.alt1
+/uni2232.part/uni2232.part.disp/uni2A0B.part/uni2A0B.part.disp/uni2201
+/uni2201.disp 120{/.notdef}repeat]
+stmary10:
+stmary5:
+stmary6:
+stmary7:
+stmary8:
+stmary9:
+[/shortleftarrow/shortrightarrow/shortuparrow/shortdownarrow/Yup/Ydown/Yleft
+/Yright/varcurlyvee/varcurlywedge/minuso/baro/sslash/bbslash/moo/varotimes
+/varoast/varobar/varodot/varoslash/varobslash/varocircle/varoplus/varominus
+/boxast/boxbar/boxdot/boxslash/boxbslash/boxcircle/boxbox/boxempty/lightning
+/merge/vartimes/fatsemi/ssearrow/curlywedgeuparrow/sswarrow
+/curlywedgedownarrow/fatslash/fatbslash/lbag/rbag/varbigcirc
+/leftrightarroweq/curlyveedownarrow/curlyveeuparrow/nnwarrow/nnearrow
+/leftslice/rightslice/varolessthan/varogreaterthan/varovee/varowedge
+/talloblong/interleave/obar/obslash/olessthan/ogreaterthan/ovee/owedge
+/oblong/inplus/niplus/nplus/subsetplus/supsetplus/subsetpluseq/supsetpluseq
+/Lbag/Rbag/llbracket/rrbracket/llparenthesis/rrparenthesis/binampersand
+/bindnasrepma/trianglelefteqslant/trianglerighteqslant/ntrianglelefteqslant
+/ntrianglerighteqslant/llfloor/rrfloor/llceil/rrceil/arrownot/Arrownot
+/Mapstochar/mapsfromchar/Mapsfromchar/leftrightarrowtriangle
+/leftarrowtriangle/rightarrowtriangle/bigtriangledown/bigtriangleup
+/bigcurlyvee/bigcurlywedge/bigsqcap/bigbox/bigparallel/biginterleave
+/hugetriangledown/hugetriangleup/hugecurlyvee/hugecurlywedge/hugesqcap
+/hugebox/hugeparallel/hugeinterleave/hugenplus/largellbracket/Largellbracket
+/LARGEllbracket/hugellbracket/Hugellbrackettop/Hugellbracketbot
+/Hugellbracketex/Hugenplus/largerrbracket/Largerrbracket/LARGErrbracket
+/hugerrbracket/Hugerrbrackettop/Hugerrbracketbot/Hugerrbracketex 128{
+/.notdef}repeat]
+skt10:
+skt8:
+skt9:
+sktb10:
+sktbs10:
+sktf10:
+sktfs10:
+skts10:
+[/skt000/skt001/skt002/skt003/skt004/skt005/skt006/skt007/skt008/skt009
+/skt010/skt011/skt012/skt013/skt014/skt015/skt016/skt017/skt018/skt019
+/skt020/skt021/skt022/skt023/skt024/skt025/skt026/skt027/skt028/skt029
+/skt030/skt031/skt032/skt033/skt034/skt035/skt036/skt037/skt038/skt039
+/skt040/skt041/skt042/skt043/skt044/skt045/skt046/skt047/skt048/skt049
+/skt050/skt051/skt052/skt053/skt054/skt055/skt056/skt057/skt058/skt059
+/skt060/skt061/skt062/skt063/skt064/skt065/skt066/skt067/skt068/skt069
+/skt070/skt071/skt072/skt073/skt074/skt075/skt076/skt077/skt078/skt079
+/skt080/skt081/skt082/skt083/skt084/skt085/skt086/skt087/skt088/skt089
+/skt090/skt091/skt092/skt093/skt094/skt095/skt096/skt097/skt098/skt099
+/skt100/skt101/skt102/skt103/skt104/skt105/skt106/skt107/skt108/skt109
+/skt110/skt111/skt112/skt113/skt114/skt115/skt116/skt117/skt118/skt119
+/skt120/skt121/skt122/skt123/skt124/skt125/skt126/skt127/skt128/skt129
+/skt130/skt131/skt132/skt133/skt134/skt135/skt136/skt137/skt138/skt139
+/skt140/skt141/skt142/skt143/skt144/skt145/skt146/skt147/skt148/skt149
+/skt150/skt151/skt152/skt153/skt154/skt155/skt156/skt157/skt158/skt159
+/skt160/skt161/skt162/skt163/skt164/skt165/skt166/skt167/skt168/skt169
+/skt170/skt171/skt172/skt173/skt174/skt175/skt176/skt177/skt178/skt179
+/skt180/skt181/skt182/skt183/skt184/skt185/skt186/skt187/skt188/skt189
+/skt190/skt191/skt192/skt193/skt194/skt195/skt196/skt197/skt198/skt199
+/skt200/skt201/skt202/skt203/skt204/skt205/skt206/skt207/skt208/skt209
+/skt210/skt211/skt212/skt213/skt214/skt215/skt216/skt217/skt218/skt219
+/skt220/skt221/skt222/skt223/skt224/skt225/skt226/skt227/skt228/skt229
+/skt230/skt231/skt232/skt233/skt234/skt235/skt236/skt237/skt238/skt239
+/skt240/skt241/skt242/skt243/skt244/skt245/skt246/skt247/skt248/skt249
+/skt250/skt251/skt252/skt253/skt254/skt255]
+cmbras10:
+cmbras8:
+cmbras9:
+lmsam8:
+msam10:
+msam5:
+msam6:
+msam7:
+msam8:
+msam9:
+[/squaredot/squareplus/squaremultiply/square/squaresolid/squaresmallsolid
+/diamond/diamondsolid/clockwise/anticlockwise/harpoonleftright
+/harpoonrightleft/squareminus/forces/forcesbar/satisfies/dblarrowheadright
+/dblarrowheadleft/dblarrowleft/dblarrowright/dblarrowup/dblarrowdwn
+/harpoonupright/harpoondownright/harpoonupleft/harpoondownleft
+/arrowtailright/arrowtailleft/arrowparrleftright/arrowparrrightleft
+/shiftleft/shiftright/squiggleright/squiggleleftright/curlyleft/curlyright
+/circleequal/followsorequal/greaterorsimilar/greaterorapproxeql/multimap
+/therefore/because/equalsdots/defines/precedesorequal/lessorsimilar
+/lessorapproxeql/equalorless/equalorgreater/equalorprecedes/equalorfollows
+/precedesorcurly/lessdblequal/lessorequalslant/lessorgreater/primereverse
+/axisshort/equaldotrightleft/equaldotleftright/followsorcurly
+/greaterdblequal/greaterorequalslant/greaterorless/squareimage
+/squareoriginal/triangleright/triangleleft/trianglerightequal
+/triangleleftequal/star/between/triangledownsld/trianglerightsld
+/triangleleftsld/arrowaxisright/arrowaxisleft/triangle/trianglesolid
+/triangleinv/ringinequal/lessequalgreater/greaterlessequal/lessdbleqlgreater
+/greaterdbleqlless/Yen/arrowtripleright/arrowtripleleft/check/orunderscore
+/nand/perpcorrespond/angle/measuredangle/sphericalangle/proportional/smile
+/frown/subsetdbl/supersetdbl/uniondbl/intersectiondbl/uprise/downfall
+/multiopenleft/multiopenright/subsetdblequal/supersetdblequal/difference
+/geomequivalent/muchless/muchgreater/rightanglenw/rightanglene/circleR
+/circleS/fork/dotplus/revsimilar/revasymptequal/rightanglesw/rightanglese
+/maltesecross/complement/intercal/circlering/circleasterisk/circleminus 128{
+/.notdef}repeat]
+FdSymbolE-Bold:
+FdSymbolE-Book:
+FdSymbolE-Medium:
+FdSymbolE-Regular:
+[/sym090/sym090.disp/uni2A09/uni2A09.disp/uni22C0/uni22C0.disp/uni22C1
+/uni22C1.disp/sym091/sym091.disp/sym092/sym092.disp/uni2A07/uni2A07.disp
+/uni2A08/uni2A08.disp/sym093/sym093.disp/sym094/sym094.disp/uni22C2
+/uni22C2.disp/uni22C3/uni22C3.disp/sym095/sym095.disp/uni2A03/uni2A03.disp
+/sym096/sym096.disp/uni2A04/uni2A04.disp/uni2A05/uni2A05.disp/uni2A06
+/uni2A06.disp/sym097/sym097.disp/sym098/sym098.disp/sym099/sym099.disp
+/sym09A/sym09A.disp/uni2A01/uni2A01.disp/uni2A02/uni2A02.disp/uni2A00
+/uni2A00.disp/sym09B/sym09B.disp/product/product.disp/product.sf
+/product.sf.disp/uni2210/uni2210.disp/uni2210.sf/uni2210.sf.disp/summation
+/summation.disp/summation.sf/summation.sf.disp/uni2A0A/uni2A0A.disp
+/uni2A0A.sf/uni2A0A.sf.disp/integral/integral.disp/uni222C/uni222C.disp
+/uni222D/uni222D.disp/uni2A0C/uni2A0C.disp/uni222B22EF222B
+/uni222B22EF222B.disp/uni2231/uni2231.disp/uni2A11/uni2A11.disp/uni2A0D
+/uni2A0D.disp/uni2A0E/uni2A0E.disp/uni2A0F/uni2A0F.disp/uni222E/uni222E.disp
+/uni222F/uni222F.disp/uni2230/uni2230.disp/uni2233/uni2233.disp/uni2232.alt
+/uni2232.alt.disp/uni2233.alt/uni2233.alt.disp/uni2232/uni2232.disp/uni2A0B
+/uni2A0B.disp/uni2A0B.sf/uni2A0B.sf.disp 8{/.notdef}repeat/uni0302
+/uni0302.big1/uni0302.big2/uni0302.big3/uni0302.big4/uni0302.big5/uni0303
+/uni0303.big1/uni0303.big2/uni0303.big3/uni0303.big4/uni0303.big5/uni0311
+/uni0311.big1/uni0311.big2/uni0311.big3/uni0311.big4/uni0311.big5/uni20D7
+/uni0335/uni0337/uni0338 120{/.notdef}repeat]
+MdSymbolE-Bold:
+MdSymbolE-Light:
+MdSymbolE-Regular:
+MdSymbolE-Semibold:
+[/sym090/sym090.disp/uni2A09/uni2A09.disp/uni22C0/uni22C0.disp/uni22C1
+/uni22C1.disp/sym091/sym091.disp/sym092/sym092.disp/uni2A07/uni2A07.disp
+/uni2A08/uni2A08.disp/sym093/sym093.disp/sym094/sym094.disp/uni22C2
+/uni22C2.disp/uni22C3/uni22C3.disp/sym095/sym095.disp/uni2A03/uni2A03.disp
+/sym096/sym096.disp/uni2A04/uni2A04.disp/uni2A05/uni2A05.disp/uni2A06
+/uni2A06.disp/sym097/sym097.disp/sym098/sym098.disp/sym099/sym099.disp
+/sym09A/sym09A.disp/uni2A01/uni2A01.disp/uni2A02/uni2A02.disp/uni2A00
+/uni2A00.disp/sym09B/sym09B.disp/product/product.disp/uni2210/uni2210.disp
+/summation/summation.disp/uni2A0A/uni2A0A.disp/integral/integral.disp
+/uni222C/uni222C.disp/uni222D/uni222D.disp/uni2A0C/uni2A0C.disp
+/uni222B22EF222B/uni222B22EF222B.disp/uni2231/uni2231.disp/uni2A11
+/uni2A11.disp/uni2A0D/uni2A0D.disp/uni2A0E/uni2A0E.disp/uni2A0F/uni2A0F.disp
+/uni222E/uni222E.disp/uni222F/uni222F.disp/uni2230/uni2230.disp/uni2233
+/uni2233.disp/uni2232.alt/uni2232.alt.disp/uni2233.alt/uni2233.alt.disp
+/uni2232/uni2232.disp/uni2A0B/uni2A0B.disp/sym09C/sym09C.disp/sym09D
+/sym09D.disp 14{/.notdef}repeat/uni0302/uni0302.big1/uni0302.big2
+/uni0302.big3/uni0302.big4/uni0302.big5/uni0303/uni0303.big1/uni0303.big2
+/uni0303.big3/uni0303.big4/uni0303.big5/uni0311/uni0311.big1/uni0311.big2
+/uni0311.big3/uni0311.big4/uni0311.big5/uni20D7/uni0335/uni0337/uni0338 120{
+/.notdef}repeat]
+dvnb10:
+dvnb8:
+dvnb9:
+dvnbb10:
+dvnbb8:
+dvnbb9:
+dvnbbi10:
+dvnbbi8:
+dvnbbi9:
+dvnbi10:
+dvnbi8:
+dvnbi9:
+dvnc10:
+dvnc8:
+dvnc9:
+dvncb10:
+dvncb8:
+dvncb9:
+dvncbi10:
+dvncbi8:
+dvncbi9:
+dvnci10:
+dvnci8:
+dvnci9:
+dvng10:
+dvng8:
+dvng9:
+dvngb10:
+dvngb8:
+dvngb9:
+dvngbi10:
+dvngbi8:
+dvngbi9:
+dvngi10:
+dvngi8:
+dvngi9:
+dvnn10:
+dvnn8:
+dvnn9:
+dvnnb10:
+dvnnb8:
+dvnnb9:
+dvnnbi10:
+dvnnbi8:
+dvnnbi9:
+dvnni10:
+dvnni8:
+dvnni9:
+dvpb10:
+dvpb8:
+dvpb9:
+dvpc10:
+dvpc8:
+dvpc9:
+dvpn10:
+dvpn8:
+dvpn9:
+dvpnn10:
+dvpnn8:
+dvpnn9:
+[/umatra/uumatra/rimatra/ematra/candra/halfya/halfna/halfkhha/halffa/halfssa
+/halfqa/ghha/khha/repha/riimatra/lla/halflla/rii/iianusvara/rephaanusvara
+/nukta/ellipsisdot/halfnya/halfnna/ll/lii/nya/rr/halfghha/rmarathi/halfza
+/limatra/candrabindu/ruu/ksa/halfksa/halfjha/halfpha/halfva/fa/halfta/za/qa
+/openya/visarga/halfsa/danda/tr/zero/one/two/three/four/five/six/seven/eight
+/nine/om/dbldanda/halfbha/halfpa/halfja/halfka/halfdha/aamatra/bha/cha/dha
+/imatra/iimatra/gha/halfkha/ii/jha/kha/halftha/halfma/halfba/aumatra/pha
+/halfca/nga/halfla/tha/uu/tta/ttha/dda/ddha/nna/halfsha/anusvara/halfgha
+/virama/avagraha/halfga/a/ba/ca/da/e/sha/ga/ha/i/ja/ka/la/ma/na/omatra/pa
+/ssa/ra/sa/ta./u/va/rra/rrha/ya/ru/aimatra/liimatra/rstroke/subr1
+/abbreviation/sr/t_t/_t_t/ph_r/fr/jr/zr/kr/d_dh/d_bh/d_gh/d_g/d_d/d_y/d_bh_y
+/d_dh_y/d_d_y/d_n/d_v/d_b/d_m/d_v_y/sh_c/sh_n/sh_v/sh_r/sh_l/nn_nn/h_m/h_y
+/h_l/h_v/h_r/h_n/h_nn/ss_tt/ss_tth/l_l/v_n/b_n/v_v/b_b/ss_tt_r_y/ss_tt_v
+/ng_k/ng_k_t/ng_k_t_y/ng_k_y/ng_ks/ng_ks_v/ng_kh/dd_g/dd_gh/ng_n/dd_gh_r
+/dd_y/dd_g_y/ng_gh_y/ng_kh_y./dd_m/ng_ng/ng_g/ng_g_y/ng_gh/ng_gh_r/ng_m/ng_y
+/k_k/k_t/k_t_y/k_t_v/k_n/k_y/k_m/k_l/k_v/k_v_y/gh_n/c_c/c_ny/ch_y/ny_c/ny_j
+/tt_tt/tt_y/tth_y/tt_k/t_n/p_t/p_n/p_l/b_v/s_n/m_l/bh_n/m_n/n_n/tt_tth/j_ny
+/h_rr/ddh_y/dd_dd/k_n_y/k_r_y/_gh_n/_g_r/_j_ny/_ny_c/_tr/d_g_r/d_gh_r/d_r_y
+/dh_n/_dh_n/_dh_r/_p_t/_sh_c/_sh_r/_sh_v/ss_tt_y/d_d_v/d_dh_v/s_r/dd_r_y
+/k_t_r_y/subr2/p_r/hyphen]
+MnSymbolB-Bold10:
+MnSymbolB-Bold12:
+MnSymbolB-Bold5:
+MnSymbolB-Bold6:
+MnSymbolB-Bold7:
+MnSymbolB-Bold8:
+MnSymbolB-Bold9:
+MnSymbolB10:
+MnSymbolB12:
+MnSymbolB5:
+MnSymbolB6:
+MnSymbolB7:
+MnSymbolB8:
+MnSymbolB9:
+[/uni219B/uni21910338/uni219A/uni21930338/uni21970338/uni21960338
+/uni21990338/uni21980338/arrowrightdblstroke/uni21D10338/uni21CD/uni21D30338
+/uni21D70338/uni21D60338/uni21D90338/uni21D80338/uni21AE/uni21950338
+/uni29210338/uni29220338/uni21CE/uni21D50338/Neswarrow_uni0338
+/Nwsearrow_uni0338/uni21A00338/uni219F0338/uni219E0338/uni21A10338
+/twoheadnearrow_uni0338/twoheadnwarrow_uni0338/twoheadswarrow_uni0338
+/twoheadsearrow_uni0338/uni21A30338/uparrowtail_uni0338/uni21A20338
+/downarrowtail_uni0338/nearrowtail_uni0338/nwarrowtail_uni0338
+/swarrowtail_uni0338/searrowtail_uni0338/uni21A60338/uni21A50338/uni21A40338
+/uni21A70338/nemapsto_uni0338/nwmapsto_uni0338/swmapsto_uni0338
+/semapsto_uni0338/uni21AA0338/lhookuparrow_uni0338/lhookleftarrow_uni0338
+/lhookdownarrow_uni0338/lhooknearrow_uni0338/uni29230338
+/lhookswarrow_uni0338/uni29250338/rhookrightarrow_uni0338
+/rhookuparrow_uni0338/uni21A90338/rhookdownarrow_uni0338/uni29240338
+/rhooknwarrow_uni0338/uni29260338/rhooksearrow_uni0338/uni21C00338
+/uni21BF0338/uni21BD0338/uni21C20338/neharpoonup_uni0338/nwharpoonup_uni0338
+/swharpoonup_uni0338/seharpoonup_uni0338/uni21C10338/uni21BE0338/uni21BC0338
+/uni21C30338/neharpoondown_uni0338/nwharpoondown_uni0338
+/swharpoondown_uni0338/seharpoondown_uni0338/uni294B0338
+/updownharpoonleftright_uni0338/neswharpoonnwse_uni0338
+/senwharpoonnesw_uni0338/uni294A0338/updownharpoonrightleft_uni0338
+/neswharpoonsenw_uni0338/nwseharpoonswne_uni0338/uni21CC0338/uni296E0338
+/neswharpoons_uni0338/senwharpoons_uni0338/uni21CB0338/uni296F0338
+/swneharpoons_uni0338/nwseharpoons_uni0338/uni21E20338/uni21E10338
+/uni21E00338/uni21E30338/dashednearrow_uni0338/dashednwarrow_uni0338
+/dashedswarrow_uni0338/dashedsearrow_uni0338/uni22B80338/uni2AEF0338
+/uni27DC0338/uni2AF00338/nespoon_uni0338/nwspoon_uni0338/swspoon_uni0338
+/sespoon_uni0338/rightfilledspoon_uni0338/upfilledspoon_uni0338
+/leftfilledspoon_uni0338/downfilledspoon_uni0338/nefilledspoon_uni0338
+/nwfilledspoon_uni0338/swfilledspoon_uni0338/sefilledspoon_uni0338
+/rightfootline_uni0338/upfootline_uni0338/leftfootline_uni0338
+/downfootline_uni0338/nefootline_uni0338/nwfootline_uni0338
+/swfootline_uni0338/sefootline_uni0338/rightfree_uni0338/upfree_uni0338
+/leftfree_uni0338/uni2ADC/nefree_uni0338/nwfree_uni0338/swfree_uni0338
+/sefree_uni0338/rightpitchfork_uni0338/uni22D40338/leftpitchfork_uni0338
+/uni2ADB0338/nepitchfork_uni0338/nwpitchfork_uni0338/swpitchfork_uni0338
+/sepitchfork_uni0338/uni21C90338/uni21C80338/uni21C70338/uni21CA0338
+/nenearrows_uni0338/nwnwarrows_uni0338/swswarrows_uni0338/sesearrows_uni0338
+/uni21C40338/updownarrows_uni0338/neswarrows_uni0338/nwsearrows_uni0338
+/uni21C60338/downuparrows_uni0338/swnearrows_uni0338/senwarrows_uni0338
+/uni219D0338/uplsquigarrow_uni0338/leftlsquigarrow_uni0338
+/downlsquigarrow_uni0338/nelsquigarrow_uni0338/nwlsquigarrow_uni0338
+/swlsquigarrow_uni0338/selsquigarrow_uni0338/rightrsquigarrow_uni0338
+/uprsquigarrow_uni0338/uni219C0338/downrsquigarrow_uni0338
+/nersquigarrow_uni0338/nwrsquigarrow_uni0338/swrsquigarrow_uni0338
+/sersquigarrow_uni0338/squigarrowleftright_uni0338/squigarrowupdown_uni0338
+/squigarrowrightleft_uni0338/squigarrowdownup_uni0338/squigarrownesw_uni0338
+/squigarrownwse_uni0338/squigarrowswne_uni0338/squigarrowsenw_uni0338
+/uni21B70338/lcurvearrowup_uni0338/lcurvearrowleft_uni0338/uni29380338
+/lcurvearrowne_uni0338/lcurvearrownw_uni0338/lcurvearrowsw_uni0338
+/lcurvearrowse_uni0338/rcurvearrowright_uni0338/rcurvearrowup_uni0338
+/uni21B60338/uni29390338/rcurvearrowne_uni0338/rcurvearrownw_uni0338
+/rcurvearrowsw_uni0338/rcurvearrowse_uni0338/curvearrowleftright_uni0338
+/curvearrowupdown_uni0338/curvearrowrightleft_uni0338
+/curvearrowdownup_uni0338/curvearrownesw_uni0338/curvearrownwse_uni0338
+/curvearrowswne_uni0338/curvearrowsenw_uni0338/leftrightline_uni0338/uni2224
+/neswline_uni0338/nwseline_uni0338/Leftrightline_uni0338/notparallel
+/Neswline_uni0338/Nwseline_uni0338/uni22AC/perpendicular_uni0338/uni22A30338
+/uni22A40338/nevdash_uni0338/nwvdash_uni0338/swvdash_uni0338/sevdash_uni0338
+/uni22AD/upmodels_uni0338/leftmodels_uni0338/downmodels_uni0338
+/nemodels_uni0338/nwmodels_uni0338/swmodels_uni0338/semodels_uni0338/uni22AE
+/uni234A0338/leftVdash_uni0338/uni23510338/neVdash_uni0338/nwVdash_uni0338
+/swVdash_uni0338/seVdash_uni0338/uni22AF/upModels_uni0338/leftModels_uni0338
+/downModels_uni0338/neModels_uni0338/nwModels_uni0338/swModels_uni0338
+/seModels_uni0338/uni293F0338/uni21BA0338/uni27F20338
+/rcirclearrowdown_uni0338/uni27F30338/uni21BB0338/uni293E0338
+/lcirclearrowdown_uni0338]
+FdSymbolD-Bold:
+FdSymbolD-Book:
+FdSymbolD-Medium:
+FdSymbolD-Regular:
+MdSymbolD-Bold:
+MdSymbolD-Light:
+MdSymbolD-Regular:
+MdSymbolD-Semibold:
+[/uni219B/uni21910338/uni219A/uni21930338/uni21970338/uni21960338
+/uni21990338/uni21980338/uni21CF/uni21D10338/uni21CD/uni21D30338/uni21D70338
+/uni21D60338/uni21D90338/uni21D80338/uni21AE/uni21950338/uni29210338
+/uni29220338/uni21CE/uni21D50338/sym030_uni0338/sym031_uni0338/uni21A00338
+/uni219F0338/uni219E0338/uni21A10338/sym033_uni0338/sym032_uni0338
+/sym035_uni0338/sym034_uni0338/uni21A30338/sym036_uni0338/uni21A20338
+/sym037_uni0338/sym039_uni0338/sym038_uni0338/sym03B_uni0338/sym03A_uni0338
+/uni21A60338/uni21A50338/uni21A40338/uni21A70338/uni29070338/sym03C_uni0338
+/uni29060338/sym03D_uni0338/uni21AA0338/sym03E_uni0338/uni21A90338.alt
+/sym03F_uni0338.alt/uni29240338.alt/uni29230338/uni29260338.alt/uni29250338
+/uni21AA0338.alt/sym03E_uni0338.alt/uni21A90338/sym03F_uni0338/uni29240338
+/uni29230338.alt/uni29260338/uni29250338.alt/uni21C00338/uni21BF0338
+/uni21BD0338/uni21C20338/sym041_uni0338/sym040_uni0338/sym043_uni0338
+/sym042_uni0338/uni21C10338/uni21BE0338/uni21BC0338/uni21C30338
+/sym045_uni0338/sym044_uni0338/sym047_uni0338/sym046_uni0338/uni294B0338
+/uni294D0338/sym049_uni0338/sym048_uni0338/uni294A0338/uni294C0338
+/sym04B_uni0338/sym04A_uni0338/uni21CC0338/uni296E0338/sym04D_uni0338
+/sym04C_uni0338/uni21CB0338/uni296F0338/sym04F_uni0338/sym04E_uni0338
+/uni21E20338/uni21E10338/uni21E00338/uni21E30338/sym051_uni0338
+/sym050_uni0338/sym053_uni0338/sym052_uni0338/uni22B80338/uni2AEF0338
+/uni27DC0338/uni2AF00338/sym054_uni0338/sym056_uni0338/sym055_uni0338
+/sym057_uni0338/uni29DF0338/sym058_uni0338/uni22B70338/uni22B60338
+/sym05A_uni0338/uni22D40338/sym05B_uni0338/sym059_uni0338/uni21C90338
+/uni21C80338/uni21C70338/uni21CA0338/sym05D_uni0338/sym05C_uni0338
+/sym05F_uni0338/sym05E_uni0338/uni21C40338/uni21C50338/sym061_uni0338
+/sym060_uni0338/uni21C60338/uni21F50338/sym063_uni0338/sym062_uni0338
+/uni219D0338/sym064_uni0338.alt/uni219C0338.alt/sym065_uni0338
+/uni219D0338.alt/sym064_uni0338/uni219C0338/sym065_uni0338.alt/uni21AD0338
+/sym066_uni0338.alt/uni21AD0338.alt/sym066_uni0338/sym069_uni0338
+/sym068_uni0338/sym067_uni0338/uni29380338/sym06C_uni0338/sym06B_uni0338
+/uni29360338/uni29350338/uni293B0338/sym06A_uni0338/uni293A0338/uni29390338
+/uni29340338/sym06D_uni0338/sym06E_uni0338/uni29370338/sym06F_uni0338
+/sym070_uni0338/sym071_uni0338/sym072_uni0338/sym074_uni0338/sym073_uni0338
+/sym076_uni0338/sym075_uni0338/sym077_uni0338/sym078_uni0338/sym079_uni0338
+/uni21BA0338/uni27F20338/sym07C_uni0338/uni27F30338/uni21BB0338
+/sym07A_uni0338/sym07B_uni0338/uni21DB0338/uni290A0338/uni21DA0338
+/uni290B0338/uni27F60338/uni27F50338/uni27F90338/uni27F80338/uni27F70338
+/uni27FA0338/uni27FC0338/uni27FB0338/uni27FE0338/uni27FD0338/uni27FF0338
+/uni2B330338/uni27DD0338/uni27DE0338 24{/.notdef}repeat/uni22AC/uni22A50338
+/uni22A30338/uni22A40338/uni22A60338/uni2AE00338/uni2ADE0338/uni2ADF0338
+/uni22AD/uni2AEB0338/uni2AE40338/uni2AEA0338/uni22A70338/sym07E_uni0338
+/sym07D_uni0338/sym07F_uni0338/uni22AE/uni234A0338/uni2AE30338/uni23510338
+/uni22AE.alt/uni2AE80338/uni2AE30338.alt/uni2AE70338/uni22AF/sym080_uni0338
+/uni2AE50338/sym081_uni0338/uni22AA0338/sym082_uni0338/uni2AE20338
+/sym083_uni0338]
+ar10:
+ar12:
+ar6:
+ar7:
+ar8:
+ar9:
+arb10:
+arb12:
+arb5:
+arb6:
+arb7:
+arb8:
+arb9:
+arrow:
+arssbi10:
+arssi10:
+artti10:
+bguq10t04:
+bguq10t05:
+bguq10t06:
+bguq10t07:
+bguq10t08:
+bguq10t09:
+bguq10t10:
+bguq10t11:
+bguq10t12:
+pigpen:
+recycle:
+xppff10:
+StandardEncoding
diff --git a/systems/knuth/local/lib/10list.tex b/systems/knuth/local/lib/10list.tex
new file mode 100644
index 0000000000..9b145b8747
--- /dev/null
+++ b/systems/knuth/local/lib/10list.tex
@@ -0,0 +1,83 @@
+% Makes a 10-column landscape listing of one or more files with narrow lines
+% Typical usage:
+% tex 10list foo \\end
+% and then use gv to print the result (my dvips has trouble with landscape)
+
+\def\grabfile#1 {\setbox0=\lastbox\endgraf\doit{#1}}
+\everypar{\grabfile}
+
+\font\filenamefont= cmtt8 scaled\magstep3
+\font\headlinefont= cmr8
+\font\listingfont= cmtex8
+\font\eoffont= cmti8
+
+\def\today{\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space\number\day, \number\year}
+\newcount\m \newcount\n
+\n=\time \divide\n 60 \m=-\n \multiply\m 60 \advance\m \time
+\def\hours{\twodigits\n\twodigits\m}
+\def\twodigits#1{\ifnum #1<10 0\fi \number#1}
+
+\newlinechar=`@
+\message{@\today\space at \hours}
+
+\baselineskip=9pt
+\medskipamount=4pt minus 1pt
+\raggedbottom
+\nopagenumbers
+
+\chardef\other=12
+\def\doit#1{\message{@Listing #1@}
+ \begingroup \everypar{} \frenchspacing
+ \headline{\hbox to10in{\filenamefont#1\quad
+ \headlinefont \today\ at \hours\hskip3in Page \folio\hss}\hss}
+ \def\do##1{\catcode`##1=\other}\dospecials
+ \catcode127=\other \catcode9=\other \catcode12=\other
+ \parindent 0pt \parfillskip=0pt plus 1fil minus .8in
+ \everypar{\hangindent 1in} \rightskip=0pt plus 2in
+ \def\par{\ifvmode\penalty-50\medskip\else\endgraf\fi}
+ \listingfont \obeylines \obeyspaces \global\pageno=1
+ \input #1 {\eoffont(end of\/ file)}\endgraf\vfill\eject
+ \ifright\null\vfill\eject\fi\endgroup}
+{\obeyspaces\global\let =\ }
+\catcode`\_=\other % allow _ in file names
+
+\hsize=.9truein
+\vsize=7truein
+\hoffset=-.5truein
+\voffset=-.2truein
+\newif\ifright
+\newcount\boxnum \boxnum=0
+\output{\ifright\else\ifcase\boxnum
+ \global\setbox0=\vbox{\makeheadline\pagebody\makefootline}\global\boxnum=1\or
+ \global\setbox1=\vbox{\pagebody\makefootline}\global\boxnum=2\or
+ \global\setbox2=\vbox{\pagebody\makefootline}\global\boxnum=3\or
+ \global\setbox3=\vbox{\pagebody\makefootline}\global\boxnum=4\or
+ \global\setbox4=\vbox{\pagebody\makefootline}\global\boxnum=5\or
+ \global\setbox5=\vbox{\pagebody\makefootline}\global\boxnum=6\or
+ \global\setbox6=\vbox{\pagebody\makefootline}\global\boxnum=7\or
+ \global\setbox7=\vbox{\pagebody\makefootline}\global\boxnum=8\or
+ \global\setbox8=\vbox{\pagebody\makefootline}\global\boxnum=9\or
+ \shipout\hbox{\hbox to1truein{\box0\hss}%
+ \hbox to1truein{\box1\hss}%
+ \hbox to1truein{\box2\hss}%
+ \hbox to1truein{\box3\hss}%
+ \hbox to1truein{\box4\hss}%
+ \hbox to1truein{\box5\hss}%
+ \hbox to1truein{\box6\hss}%
+ \hbox to1truein{\box7\hss}%
+ \hbox to1truein{\box8\hss}%
+ \vbox{\pagebody\makefootline}}
+ \advancepageno\global\boxnum=0\fi\fi}
+
+\special{landscape}
+
+% A tab (^^I) prints as lowercase gamma.
+% Character ^^M could be made visible, with a bit of work;
+% at present, it's indistinguishable from newline (^^J).
+
+% You can get up to 63 characters on a line without an overfull box.
+% (But lines with more than 59 characters may overlap with the next column,
+% or be clipped off in the rightmost column.)
diff --git a/systems/knuth/local/lib/6list.tex b/systems/knuth/local/lib/6list.tex
index 5d59194ffe..06c316c254 100644
--- a/systems/knuth/local/lib/6list.tex
+++ b/systems/knuth/local/lib/6list.tex
@@ -36,7 +36,7 @@
\def\do##1{\catcode`##1=\other}\dospecials
\catcode127=\other \catcode9=\other \catcode12=\other
\parindent 0pt \parfillskip=0pt plus 1fil minus .8in
- \everypar{\hangindent 1in} \rightskip=0pt plus 2in
+ \everypar{\hangindent 6pt} \rightskip=0pt plus 2in
\def\par{\ifvmode\penalty-50\medskip\else\endgraf\fi}
\listingfont \obeylines \obeyspaces \global\pageno=1
\input #1 {\eoffont(end of\/ file)}\endgraf\vfill\eject
diff --git a/systems/knuth/local/lib/cwebmac.tex b/systems/knuth/local/lib/cwebmac.tex
index 8890b63b4d..60f86ce5a9 100644
--- a/systems/knuth/local/lib/cwebmac.tex
+++ b/systems/knuth/local/lib/cwebmac.tex
@@ -1,8 +1,8 @@
% standard macros for CWEB listings (in addition to plain.tex)
-% Version 3.67 --- July 2006
+% Version 3.70 --- July 2017
\ifx\renewenvironment\undefined\else\endinput\fi % LaTeX will use other macros
-\xdef\fmtversion{\fmtversion+CWEB3.67}
-\chardef\cwebversion=3 \chardef\cwebrevision=67
+\xdef\fmtversion{\fmtversion+CWEB3.70}
+\chardef\cwebversion=3 \chardef\cwebrevision=70
\newif\ifpdf
\ifx\pdf+\pdftrue\fi
% Uncomment the following line if you want PDF goodies to be the default
@@ -10,7 +10,11 @@
\def\pdflinkcolor{0 0 1} % the RGB values for hyperlink color
\newif\ifpdftex
\ifx\pdfoutput\undefined \pdftexfalse \else\ifnum\pdfoutput=0 \pdftexfalse
-\else \pdftextrue \pdfoutput=1 \input pdfcolor \let\setcolor\pdfsetcolor \fi\fi
+%\else \pdftextrue \pdfoutput=1 \input pdfcolor \let\setcolor\pdfsetcolor \fi\fi
+\else \pdftextrue \pdfoutput=1 % changed in 3.69
+ \def\Black{\pdfliteral{0 g 0 G}} % use rgb colors for direct PDF output too
+ \def\Blue{\pdfliteral{0 0 1 rg 0 0 1 RG}}
+\fi\fi
\newif\ifacro \ifpdf\acrotrue\fi \ifpdftex\acrotrue\fi
\let\:=\. % preserve a way to get the dot accent
@@ -136,7 +140,7 @@
\ifpdftex
\ifx\pdfannotlink\undefined\let\pdfannotlink\pdfstartlink\fi% for pdfTeX 0.14
\def\pdflink#1#2{\hbox{\pdfannotlink height\ht\strutbox depth\dp\strutbox
- attr{/Border [0 0 0]} goto num #1 \BlueGreen #1\Black\pdfendlink}}
+ attr{/Border [0 0 0]} goto num #1 \Blue #1\Black\pdfendlink}} % changed 3.69
\else\def\pdflink#1#2{\setbox0=\hbox{\special{pdf: bc [ \pdflinkcolor ]}{#1}%
\special{pdf: ec}}\special{pdf: ann width \thewidth height \theheight
depth \thedepth << /Type /Annot /Subtype /Link
@@ -166,7 +170,7 @@
\def\maketoksdone{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
\def\pdfURL#1#2{\ifpdftex\pdfannotlink height\ht\strutbox depth\dp\strutbox
attr {/Border [0 0 0]} user { /Type /Action /Subtype /Link /A
- << /S /URI /URI (#2) >>}\BlueGreen #1\Black \pdfendlink
+ << /S /URI /URI (#2) >>}\Blue #1\Black \pdfendlink % changed in 3.69
\else \ifpdf{\setbox0=\hbox{\special{pdf: bc [ \pdflinkcolor ]}{#1}%
\special{pdf: ec}}\special{pdf: ann width \thewidth\space height \theheight
\space depth \thedepth\space << /Border [0 0 0]
@@ -278,7 +282,8 @@
\sfcode`;=1500 \pretolerance 200 \hyphenpenalty 50 \exhyphenpenalty 50
\noindent{\let\*=\lapstar\bf\secstar.\quad}%
\ifpdftex\smash{\raise\baselineskip\hbox to0pt{%
- \let\*=\empty\pdfdest num \secstar fith}}
+% \let\*=\empty\pdfdest num \secstar fith}} % bad space in versions < 3.68
+ \let\*=\empty\pdfdest num \secstar fith}}% changed in version 3.68
\else\ifpdf\smash{\raise\baselineskip\hbox to0pt{%
\let\*=\empty\special{%
pdf: dest (\romannumeral\secstar) [ @thispage /FitH @ypos ]}}}\fi\fi}
@@ -340,7 +345,7 @@
\def\T#1{\leavevmode % octal, hex or decimal constant
\hbox{$\def\?{\kern.2em}%
% \def\$##1{\egroup_{\,\rm##1}\bgroup}% suffix to constant % versions < 3.67
- \def\$##1{\egroup_{\rm##1}\bgroup}% suffix to constant
+ \def\$##1{\egroup_{\rm##1}\bgroup}% suffix to constant % in version 3.67
\def\_{\cdot 10^{\aftergroup}}% power of ten (via dirty trick)
\let\~=\oct \let\^=\hex {#1}$}}
\def\U{\note{This code is used in section}} % xref for use of a section
@@ -407,7 +412,8 @@
\newdimen\pagewidth \pagewidth=6.5in % the width of each page
\newdimen\pageheight \pageheight=8.7in % the height of each page
\newdimen\fullpageheight \fullpageheight=9in % page height including headlines
-\newdimen\pageshift \pageshift=0in % shift righthand pages wrt lefthand ones
+\newdimen\pageshift \pageshift=\hoffset
+ % shift righthand pages wrt lefthand ones (changed in version 3.70)
\def\magnify#1{\mag=#1\pagewidth=6.5truein\pageheight=8.7truein
\fullpageheight=9truein\setpage}
\def\setpage{\hsize\pagewidth\vsize\pageheight} % use after changing page size
@@ -457,6 +463,7 @@
\def\fin{\par\vfill\eject % this is done when we are ending the index
\ifpagesaved\null\vfill\eject\fi % output a null index column
\if L\lr\else\null\vfill\eject\fi % finish the current page
+ \ifpdftex \makebookmarks \fi % added in Version 3.68
\parfillskip 0pt plus 1fil
\def\grouptitle{NAMES OF THE SECTIONS}
\let\topsecno=\nullsec
@@ -470,7 +477,8 @@
\def\Us{\note{Used in sections}} % crossref for uses of a section
\def\I{\par\hangindent 2em}\let\*=*
\ifacro \def\outsecname{Names of the sections} \let\Xpdf\X
- \ifpdftex \makebookmarks \pdfdest name {NOS} fitb
+% \ifpdftex \makebookmarks \pdfdest name {NOS} fitb % in versions < 3.68
+ \ifpdftex \pdfdest name {NOS} fith % changed in version 3.69
\pdfoutline goto name {NOS} count -\secno {\outsecname}
\def\X##1:##2\X{\Xpdf##1:##2\X \firstsecno##1.%
{\toksF={}\makeoutlinetoks##2\outlinedone\outlinedone}%
diff --git a/systems/knuth/local/lib/domino.mf b/systems/knuth/local/lib/domino.mf
index 6bd9da121b..578110eb32 100644
--- a/systems/knuth/local/lib/domino.mf
+++ b/systems/knuth/local/lib/domino.mf
@@ -14,41 +14,49 @@
% instead of 16,32,48. But the present scheme seems mathematically better.
mode_setup;
p#:=in#/300;
-d#:=64p#;
+%d#:=64p#;
+d#:=63p#; % changed September 2016 (makes the font slightly smaller)
define_pixels(p);
font_identifier:="DOMINO";
font_coding_scheme:="dominoes";
font_size:=10pt#;
+font_quad:=d#;
+font_normal_space:=d#;
-pickup pencircle scaled p; tiny_pen=savepen;
+pickup pencircle scaled .5p; tiny_pen=savepen;
pickup pencircle scaled 13p; huge_pen=savepen;
% I first tried 15p, and it looked OK, but the Taiwan set has smaller dots
-pickup pencircle scaled 3p; bound_pen=savepen;
def begindomchar(expr code)=
beginchar(code,d#,d#,0);
pickup tiny_pen;
- for x=0 step 2p until 60p:
- drawdot (x+.5p,1.5p); drawdot (x+1.5p,.5p);
- drawdot (.5p,x+3.5p); drawdot (1.5p,x+2.5p);
- drawdot (w-1.5p,x+1.5p); drawdot (w-.5p,x+.5p);
- drawdot (x+2.5p,h-.5p); drawdot (x+3.5p,h-1.5p);
+% for x=0 step 2p until 60p:
+% drawdot (x+.5p,1.5p); drawdot (x+1.5p,.5p);
+% drawdot (.5p,x+3.5p); drawdot (1.5p,x+2.5p);
+% drawdot (w-1.5p,x+1.5p); drawdot (w-.5p,x+.5p);
+% drawdot (x+2.5p,h-.5p); drawdot (x+3.5p,h-1.5p);
+% September 2016: that approach gave bad effect at join between domino halves
+ for x=0 step 3p until 57p:
+ drawdot (x+1.5p,1.5p);
+ drawdot (w-1.5p,x+1.5p);
+ drawdot (w-1.5p-x,h-1.5p);
+ drawdot (1.5p,h-1.5p-x);
endfor
% fill (2p,2p)--(w-2p,2p)--(w-2p,h-2p)--(2p,h-2p)--cycle;
fill (3p,3p)--(w-3p,3p)--(w-3p,h-3p)--(3p,h-3p)--cycle;
pickup huge_pen;
enddef;
-def dota = erase drawdot(16p,48p) enddef;
-def dotb = erase drawdot(32p,48p) enddef;
-def dotc = erase drawdot(48p,48p) enddef;
-def dotd = erase drawdot(16p,32p) enddef;
-def dote = erase drawdot(32p,32p) enddef;
-def dotf = erase drawdot(48p,32p) enddef;
+def dota = erase drawdot(16p,47p) enddef;
+def dotb = erase drawdot(31.5p,47p) enddef;
+def dotc = erase drawdot(47p,47p) enddef;
+def dotd = erase drawdot(16p,31.5p) enddef;
+def dote = erase drawdot(31.5p,31.5p) enddef;
+def dotf = erase drawdot(47p,31.5p) enddef;
def dotg = erase drawdot(16p,16p) enddef;
-def doth = erase drawdot(32p,16p) enddef;
-def doti = erase drawdot(48p,16p) enddef;
+def doth = erase drawdot(31.5p,16p) enddef;
+def doti = erase drawdot(47p,16p) enddef;
def v(expr code)=128+ASCII code enddef;
% change character code for vertical format
diff --git a/systems/knuth/local/lib/gkpmac.tex b/systems/knuth/local/lib/gkpmac.tex
index 1ae0f1a7a6..5b143505a2 100644
--- a/systems/knuth/local/lib/gkpmac.tex
+++ b/systems/knuth/local/lib/gkpmac.tex
@@ -4,12 +4,12 @@
% Fonts for regular text
-\font\textrm=ccr10 % roman
-\font\textit=ccti10 % italic (emphasis)
-\font\textsl=ccsl10 % slanted (titles)
-\font\textbf=cmbx10 % bold
-\font\textcsc=cccsc10 % caps and small caps
-\font\oldsty=ccmi10 % equation numbers
+\font\textrm=ccr10 % roman
+\font\textit=ccti10 % italic (emphasis)
+\font\textsl=ccsl10 % slanted (titles)
+\font\textbf=cmbx10 % bold
+\font\textcsc=cccsc10 % caps and small caps
+\font\oldsty=ccmi10 % equation numbers
\font\twelvett=cmtt12
% Fonts for regular math
@@ -266,8 +266,8 @@
\smallskip\noindent}
\def\beginsection#1 #2 \par{ % should not be first in the chapter
- \backup=\lastskip % but should come on first or second page of chapter
- \mark{#1\enspace #2} % because the mark gives running head on right page
+ \backup=\lastskip % but should come on first or second page of chapter
+ \mark{#1\enspace #2} % because the mark gives running head on right page
\nobreak\vskip-\backup\penalty-200
{\subtitle\baselineskip=34pt
\noindent\hbox to2\parindent{#1\hfil}\uppercase{\kern-.05em#2}\par}
@@ -413,8 +413,8 @@
\def\copyrite{\ifpreprint{\textfont2=\sevensy\sevenrm\copyright\ 1988
Addison-Wesley Publishing Company; all rights reserved}\fi}
-\newdimen\htrimsize \htrimsize=7.5in
-\newdimen\vtrimsize \vtrimsize=9.1875in
+\newdimen\htrimsize \htrimsize=7.375in
+\newdimen\vtrimsize \vtrimsize=9.25in
\newdimen\outermargin \outermargin=23mm
\newdimen\topmargin \topmargin=10mm % plus height of the headline box
\newbox\htrim \newbox\vtrim \newbox\trimmarks
@@ -438,14 +438,15 @@
\vbox to\vtrimsize{\kern\topmargin\fi
\vbox to\totheight{
\offinterlineskip % butt the boxes together
+ \vskip2.5pt % adjustment at the top (10 Jan 2011)
\vbox to 2pc{ % this part goes on top of the regular pages
\ifodd\pageno \rightheadline\else\leftheadline\fi
\vfill} % this completes the \vbox to 2pc
\ifodd\pageno\moveright7pc\fi #1
\vfill
\iftitle \global\titlefalse % reset the titlepage switch
- \ifodd\pageno \hbox to35pc{\hfil\foliofont\folio}
- \else\hbox{\foliofont\folio}\fi\fi
+ \ifodd\pageno \hbox to35pc{\hfil\foliofont\folio}
+ \else\hbox{\foliofont\folio}\fi\fi
\ifpreprint\ifinxmode\makeinxfooter\fi\fi
\iffinal % finish the trimmed page
}\vfill}\ifodd\pageno\hskip\outermargin\else\hss\fi
@@ -489,9 +490,9 @@
\catcode`\|=\active
\expandafter\def\expandafter\dospecials\expandafter{\dospecials\do\|}
-\newcount\defcount % number of old definitions not yet repeated
-\newcount\changecount % number of new definitions that are changed
-\newcount\miscount % number of unknown references
+\newcount\defcount % number of old definitions not yet repeated
+\newcount\changecount % number of new definitions that are changed
+\newcount\miscount % number of unknown references
\newread\tempin
\def\refin#1 {\openin\tempin=#1.ref
@@ -763,6 +764,7 @@
\def\And{\quad{\rm and}\quad}
\let\==\equiv
\def\tmod#1{(mod~$#1$)}
+\def\pmod#1{\allowbreak\mkern18mu\hbox{(}{\rm mod}\,\,#1\hbox{)}}
\let\implies=\Longrightarrow
\def\?{\hbox{!`}} % subfactorial
\def\hyp{\mathop{F{}}\nolimits\hyper}
@@ -770,14 +772,14 @@
\def\hyper#1#2#3{\mathchoice{\tightplus
\hbox{$\displaystyle\biggl({#1\atop#2}\Big\vert\,{#3}\!\biggr)$}}%
{\bigl({#1\atop#2}\vert\mskip2mu#3\bigr)}%
- {}{}} % used only in D and T styles
+ {}{}} % used only in D and T styles
%\def\hypk_#1{\mathop{F{}}_{#1}\nolimits\hyper} % confl with mFn convention
\def\hypk_#1#2#3#4{\mathop{F{}}\mathchoice{\tightplus
\hbox{$\displaystyle\biggl({#2\atop#3}\Big\vert\,{#4}\!\biggr)$}%
\lower\fontdimen11\mathsym\hbox{$\scriptstyle\!#1$}}%
{\bigl({#2\atop#3}\vert\mskip2mu#4\bigr)\lower\fontdimen12\mathsym
\hbox{$\scriptstyle\!#1$}}%
- {}{}} % used only in D and T styles
+ {}{}} % used only in D and T styles
\def\double(#1\choose#2){\mathchoice{\biggl(\!\!{#1\choose#2}\!\!\biggr)}
{\bigl(\!{#1\choose#2}\!\bigr)}{}{}} % only D and T styles
\def\hypstrut{\vphantom{_1\_^k}} % if there's another denominator with \_^k
@@ -853,9 +855,9 @@
\hyphenation{logical Mac-Mahon hyper-geo-metric hyper-geo-met-rics Ber-noulli}
-\preprintfalse % WE ARE MAKING THE REAL BOOK!
-\inxmodetrue % WE ARE PREPARING A ROUGH INDEX
-\showmissestrue % THE REFERENCES SHOULD ALL BE READY NOW
+\preprintfalse % WE ARE MAKING THE REAL BOOK!
+\inxmodetrue % WE ARE PREPARING A ROUGH INDEX
+\showmissestrue % THE REFERENCES SHOULD ALL BE READY NOW
\ifinxmode\immediate\openout\inx=\jobname.inx \fi % file for index reminders
\ifinxmode\immediate\openout\bnx=\jobname.bnx \fi % file for bib reminders
@@ -883,7 +885,8 @@
\message{OK, I'm making final copy with trim marks!}
\hoffset=-.5in
\getnxtpg % this should ensure eof on the \pages file
-\else\message{OK, I'll ship only the requested pages!}\fi\fi
+\else\message{OK, I'll ship only the requested pages!}
+ \hoffset=-.5in\fi\fi
\def\shipout{\ifeof\pages\let\next=\Shipout
\else\ifnum\pageno=\nxtpg\getnxtpg\let\next=\Shipout
\else\let\next=\Tosspage\fi\fi \next}
diff --git a/systems/knuth/local/lib/letter.tex b/systems/knuth/local/lib/letter.tex
deleted file mode 100644
index efa2bf02fd..0000000000
--- a/systems/knuth/local/lib/letter.tex
+++ /dev/null
@@ -1,119 +0,0 @@
-% This macro file is for business letters
-
-\def\today{\ifcase\month\or
- January\or February\or March\or April\or May\or June\or
- July\or August\or September\or October\or November\or December\fi
- \space\number\day, \number\year}
-\def\narrower{\advance\leftskip by 20pt \advance\rightskip by 20pt }
-
-\raggedbottom
-\interlinepenalty=1000
-\hsize=6.25truein \voffset=24pt \advance\vsize by-\voffset
-\parindent=0pt \parskip=0pt
-\nopagenumbers
-\headline={\ifnum\pageno>1
- \tenrm To \addressee\hfil\today\hfil Page \folio
- \else\hfil\fi}
-
-\def\beginlinemode{\endmode
- \begingroup\obeylines\def\endmode{\par\endgroup}}
-\def\beginparmode{\endmode
- \begingroup\parskip=\medskipamount \def\endmode{\par\endgroup}}
-\let\endmode=\par
-\def\endletter{\endmode\vfill\supereject \pageno=1 }
-
-\newdimen\longindentation \longindentation=4truein
-\newbox\theaddress
-\def\address{\beginlinemode\getaddress}
-{\obeylines\gdef\getaddress#1
- #2
- {\gdef\addressee{#2\unskip}%
- \global\setbox\theaddress=\vbox\bgroup\raggedright%
- \hsize=\longindentation \everypar{\hangindent2em}#2
- \def\endmode{\egroup\endgroup \copy\theaddress \bigskip}}}
-
-\def\body{\beginparmode}
-\def\closing{\beginlinemode\getclosing}
-{\obeylines\gdef\getclosing #1
- #2
- {\nobreak\bigskip \leftskip=\longindentation #2
- \nobreak\bigskip\bigskip\bigskip % space for signature
- \def
- {\endgraf\nobreak}}}
-\def\annotations{\beginlinemode\def\par{\endgraf\nobreak}\obeylines\par}
-\def\ps{\beginparmode\nobreak
- \interlinepenalty5000\def\par{\endgraf\penalty5000}}
-\def\cc{\beginparmode\nobreak
- \interlinepenalty5000\def\par{\endgraf\penalty5000}}
-
-\def\up#1{\leavevmode \raise.16ex\hbox{#1}}
-\font\smallheadfont=cmr8 at 8truept
-\font\largeheadfont=cmbx10 at 14.4truept
-\font\logofont=stan70 at 70truept
-\def\stanfordseal{\vbox{\kern-3truept\hbox{\logofont A}\kern-3truept}}
-
-\def\csdreturn{Computer Science Department\par \stanfordreturn}
-\def\stanfordreturn{Stanford University\par
- Stanford, CA 94305\kern.5pt-9045 USA\par}
-\def\letterhead{\pageno=1 \univletterhead
- {\leftskip=\longindentation
- {\baselineskip9truept\smallheadfont\sendingaddress}
- \bigskip\bigskip\rm\today\bigskip}}
-\def\specrule#1{\nointerlineskip
- \line{\hbox to 60truept{\hrulefill
- \hphantom{\stanfordseal\kern-#1truept}%
- \hrulefill}\hrulefill}\nointerlineskip}
-\def\univletterhead{\vglue-34pt
- \specrule{11}\vskip8truept
- \hbox{\hbox to\longindentation{\smash{\hbox to60truept{\hfil\kern2.5truept
- \lower10truept\stanfordseal\hfil}}%
- \largeheadfont STANFORD UNIVERSITY\hfil}%
- \smallheadfont STANFORD, CALIFORNIA 94305\kern.5pt-9045}
- \vskip6truept\specrule{17}\vskip13truept }
-
-\def\deklet{
- \def\sendingaddress{DONALD E. KNUTH\par
- Professor Emeritus of The Art of\par
- \qquad Computer Programming\par
- Department of Computer Science\par
- Telephone \up[650\up]\thinspace 723-4367\par}
- \def\returnaddress{Prof.~D. E. Knuth\par \csdreturn}
- \letterhead}
-
-\def\memoto{\beginlinemode\parindent=60truept
- \everypar{\hangindent70truept}\startmemo}
-\def\bigmemoto{\beginlinemode\parindent=60pt % use this for magstep>1!
- \everypar{\hangindent70pt}\startmemo}
-\def\textin#1{\noindent\hbox to\parindent{#1\hss}\ignorespaces}
-{\obeylines\gdef\startmemo #1
- {\gdef\addressee{#1}%
- \global\pageno=1 \vglue-34pt\specrule{11}\vskip8truept
- \leftline{\smash{\hbox to60truept{\hfil\kern2.5truept
- \lower10truept\stanfordseal\hfil}}%
- \largeheadfont Stanford Computer Science Department %
- \rm\today}%
- \vskip6truept\specrule{20}\bigskip\bigskip\bigskip%
- \textin{Memo to:}#1
- \def\endmode{\par\endgroup\bigskip}}
- \gdef\from #1
- {\smallskip\textin{From:}#1
- }
- \gdef\subject #1
- {\smallskip\textin{Subject:}#1
- }
-}
-
-\def\makelabel{\endletter\hbox{\vrule
- \vbox{\hrule \kern6truept
- \hbox{\kern6truept\stanfordseal\kern3pt
- \vbox{\smallheadfont\baselineskip9truept\hsize=2truein\returnaddress}
- \kern6truept}\kern6truept\hrule}\vrule}
- \kern.1truein
- \hbox{\vrule
- \vbox{\hrule \kern12truept
- \hbox{\kern12truept\copy\theaddress
- \kern12truept}\kern12truept\hrule}\vrule}
- \pageno=0\vfill\eject}
-
-\def\frac#1/#2{\leavemode\kern.1em\raise.5ex\hbox{\the\scriptfont0
- #1}\kern-.1em/\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}}
diff --git a/systems/knuth/local/lib/letterformat.tex b/systems/knuth/local/lib/letterformat.tex
new file mode 100644
index 0000000000..bc2144a3c1
--- /dev/null
+++ b/systems/knuth/local/lib/letterformat.tex
@@ -0,0 +1,85 @@
+% This macro file is for business letters
+
+\def\today{\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space\number\day, \number\year}
+
+\raggedbottom
+\interlinepenalty=1000
+\hsize=6.25truein
+\voffset=24pt
+\advance\vsize by-\voffset
+\parindent=0pt
+\parskip=0pt
+\nopagenumbers
+\headline={\ifnum\pageno>1
+ \tenrm To \addressee\hfil\today\hfil Page \folio
+ \else\hfil\fi}
+
+\def\beginlinemode{\endmode
+ \begingroup\obeylines\def\endmode{\par\endgroup}}
+\def\beginparmode{\endmode
+ \begingroup\parskip=\medskipamount \def\endmode{\par\endgroup}}
+\let\endmode=\par
+\def\endletter{\endmode\vfill\supereject}
+
+\newdimen\longindentation \longindentation=4truein
+\newbox\theaddress
+\def\address{\beginlinemode\getaddress}
+{\obeylines\gdef\getaddress #1
+ #2
+ {#1\gdef\addressee{#2}%
+ \global\setbox\theaddress=\vbox\bgroup\raggedright%
+ \hsize=\longindentation \everypar{\hangindent2em}#2
+ \def\endmode{\egroup\endgroup \copy\theaddress \bigskip}}}
+
+\def\body{\beginparmode}
+\def\closing{\beginlinemode\getclosing}
+{\obeylines\gdef\getclosing #1
+ #2
+ {#1\nobreak\bigskip \leftskip=\longindentation #2
+ \nobreak\bigskip\bigskip\bigskip % space for signature
+ \def
+ {\endgraf\nobreak}}}
+\def\annotations{\beginlinemode\def\par{\endgraf\nobreak}\obeylines\par}
+\def\ps{\beginparmode\nobreak
+ \interlinepenalty5000\def\par{\endgraf\penalty5000 }}
+
+\def\up#1{\leavevmode \raise.16ex\hbox{#1}}
+\font\smallheadfont=cmr8 at 8truept
+\font\largeheadfont=cmdunh10 at 14.4truept
+\font\logofont=manfnt at 14.4truept
+
+\def\rjdletterhead{
+ \def\sendingaddress{R. J. DROFNATS, F.T.U.G.\par
+ PROFESSOR OF FARM ECOLOGY\par
+ TEX.RJD @ SU-SCORE.ARPA\par
+ \up[415\up]\thinspace 497-4975\par}
+ \def\returnaddress{R. J. Drofnats, Dept.~of Farm Ecology\par
+ The University of St.~Anford\par
+ P. O. Box 1009, Haga Alto, CA 94321 USA}
+ \letterhead}
+
+\def\letterhead{\pageno=1 \def\addressee{} \univletterhead
+ {\leftskip=\longindentation
+ {\baselineskip9truept\smallheadfont\sendingaddress}
+ \bigskip\bigskip\rm\today\bigskip}}
+
+\def\univletterhead{\vglue-\voffset
+ \hbox{\hbox to\longindentation{\raise4truemm\hbox{\logofont
+ \kern2truept X\kern-1.667truept
+ \lower2truept\hbox{X}\kern-1.667truept X}\hfil
+ \largeheadfont The University of St.~Anford\hfil}%
+ \kern-\longindentation
+ \vbox{\smallheadfont\baselineskip9truept
+ \leftskip=\longindentation BOX 1009\par HAGA ALTO, CA 94321}}
+ \vskip2truept\hrule\vskip4truept }
+
+\def\makelabel{\endletter\hbox{\vrule
+ \vbox{\hrule \kern6truept
+ \hbox{\kern6truept\vbox to 2truein{\hsize=\longindentation
+ \smallheadfont\baselineskip9truept\returnaddress
+ \vfill\moveright 2truein\copy\theaddress\vfill}%
+ \kern6truept}\kern6truept\hrule}\vrule}
+ \pageno=0\vfill\eject}
diff --git a/systems/knuth/local/lib/list-latin.tex b/systems/knuth/local/lib/list-latin.tex
index 71d5bb6d9a..09e27dd479 100644
--- a/systems/knuth/local/lib/list-latin.tex
+++ b/systems/knuth/local/lib/list-latin.tex
@@ -1,4 +1,3 @@
-% This program by D. E. Knuth is not copyrighted and can be used freely.
% Makes a listing of one or more files
% Extended to allow the Latin-1 accented characters in UTF-8 encoding
% Typical usage:
@@ -63,32 +62,3 @@
% at present, it's indistinguishable from newline (^^J).
% You can get up to 103 characters on a line without an overfull box.
-
-% Further notes from Don, January 2017:
-%
-% Maybe I'm the only person left who still uses plain TeX in a UTF-8 world.
-%
-% But for what it's worth, I'm appending a little file that I prepared today,
-% since it turned out to be useful in a project of interest to me.
-%
-% Namely, I've got a program that takes an XML encoding of organ-pipe
-% settings, used by performers when they change the stops during a
-% performance, and translates it into a human-readable form.
-% I mean, the output says "when you reach combination nunber 0013,
-% the following ranks of pipes are set to play".
-%
-% The names of those ranks of pipes often contain accented characters,
-% as well as things like the German \ss. In order to use such texts on the Web,
-% I have them in UTF-8 code. But to make a verbatim hardcopy listing using
-% nice typewriter-style fonts, I wanted a program like "list.tex", which
-% I've been using to print text files for more than 25 years.
-%
-% Fortunately, the accented characters all turn out to be two-character
-% sequences in UTF-8, where the first character is always '303. So I
-% can simply make that character active, and it can then change the
-% following character appropriately.
-%
-% Therefore I added a few lines to "list.tex", resulting in "list-latin.tex".
-% And it works! Hence it might be a useful addition to the CTAN archives.
-%
-% Yours truly, Don
diff --git a/systems/knuth/local/lib/llist-latin.tex b/systems/knuth/local/lib/llist-latin.tex
new file mode 100644
index 0000000000..cbc6140850
--- /dev/null
+++ b/systems/knuth/local/lib/llist-latin.tex
@@ -0,0 +1,84 @@
+% Makes a landscape listing of one or more files
+% Extended to allow the Latin-1 accented characters in UTF-8 encoding
+% Typical usage:
+% tex llist-latin *.txt \\end
+
+\def\grabfile#1 {\setbox0=\lastbox\endgraf\doit{#1}}
+\everypar{\grabfile}
+
+\font\filenamefont= cmtt8 scaled\magstep3
+\font\headlinefont= cmr8
+\font\listingfont= cmtex8
+\font\ttfont= cmtt8
+\font\syttfont= cmsytt10 at 8pt
+\font\eoffont= cmti8
+
+\def\today{\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space\number\day, \number\year}
+\newcount\m \newcount\n
+\n=\time \divide\n 60 \m=-\n \multiply\m 60 \advance\m \time
+\def\hours{\twodigits\n\twodigits\m}
+\def\twodigits#1{\ifnum #1<10 0\fi \number#1}
+
+\newlinechar=`@
+\message{@\today\space at \hours}
+
+\baselineskip=9pt
+\medskipamount=4pt minus 1pt
+\raggedbottom
+\nopagenumbers
+
+\newcount\n
+\catcode`\^^c3=\active
+\def\missing{{\syttfont\char15}}
+\def^^c3#1{\n=`#1\advance\n by-128
+ {\ttfont\ifcase\n
+ \`A\or\'A\or\^A\or\~A\or\"A\or\AA\or\AE\or\c C\or
+ \`E\or\'E\or\^E\or\"E\or\`I\or\'I\or\^I\or\"I\or
+ \missing\or\~N\or\`O\or\'O\or\^O\or\~O\or\"O\or{\syttfont\char2}\or
+ \O\or\`U\or\'U\or\^U\or\"U\or\'Y\or\missing\or\ss\or
+ \`a\or\'a\or\^a\or\~a\or\"a\or\aa\or\ae\or\c c\or
+ \`e\or\'e\or\^e\or\"e\or\`\i\or\'\i\or\^\i\or\"\i\or
+ \missing\or\~n\or\`o\or\'o\or\^o\or\~o\or\"o\or{\syttfont\char4}\or
+ \o\or\`u\or\'u\or\^u\or\"u\or\'y\or\missing\or\"y\fi}}
+
+\chardef\other=12
+\def\doit#1{\message{@Listing #1@}
+ \begingroup \everypar{} \frenchspacing
+ \headline{\ifright \headlinefont \hfill Page \folio
+ \else\filenamefont#1\quad\headlinefont \today\ at \hours\hss \fi}
+ \def\do##1{\catcode`##1=\other}\dospecials
+ \catcode127=\other \catcode9=\other \catcode12=\other
+ \parindent 0pt \parfillskip=0pt plus 1fil minus .8in
+ \everypar{\hangindent 1in} \rightskip=0pt plus 2in
+ \def\par{\ifvmode\penalty-50\medskip\else\endgraf\fi}
+ \listingfont \obeylines \obeyspaces \global\pageno=1
+ \input #1 {\eoffont(end of\/ file)}\endgraf\vfill\eject
+ \ifright\null\vfill\eject\fi\endgroup}
+{\obeyspaces\global\let =\ }
+\catcode`\_=\other % allow _ in file names
+
+\hsize=4.6truein
+\vsize=7truein
+\hoffset=-.5truein
+\voffset=-.2truein
+\newif\ifright
+\newbox\lefthalf
+\output{\ifright
+ \shipout\hbox{\hbox to5.5in{\box\lefthalf\hss}%
+ \vbox{\makeheadline\pagebody\makefootline}}
+ \advancepageno\global\rightfalse
+ \else\global\setbox\lefthalf\vbox{\makeheadline\pagebody\makefootline}
+ \global\righttrue\fi}
+
+\special{landscape}
+
+% A tab (^^I) prints as lowercase gamma.
+% Character ^^M could be made visible, with a bit of work;
+% at present, it's indistinguishable from newline (^^J).
+
+% You can get up to 91 characters on a line without an overfull box.
+% (But lines with more than 84 characters will be clipped, if they
+% appear on a righthand halfpage.)
diff --git a/systems/knuth/local/lib/llist.tex b/systems/knuth/local/lib/llist.tex
index f107169e24..9674f61803 100644
--- a/systems/knuth/local/lib/llist.tex
+++ b/systems/knuth/local/lib/llist.tex
@@ -31,7 +31,7 @@
\def\doit#1{\message{@Listing #1@}
\begingroup \everypar{} \frenchspacing
\headline{\ifright \headlinefont \hfill Page \folio
- \else\filenamefont#1\quad\headlinefont \today\ at \hours\hfill \fi}
+ \else\filenamefont#1\quad\headlinefont \today\ at \hours\hss \fi}
\def\do##1{\catcode`##1=\other}\dospecials
\catcode127=\other \catcode9=\other \catcode12=\other
\parindent 0pt \parfillskip=0pt plus 1fil minus .8in
diff --git a/systems/knuth/local/lib/twimac.tex b/systems/knuth/local/lib/twimac.tex
index 99905f168c..ce9d983350 100644
--- a/systems/knuth/local/lib/twimac.tex
+++ b/systems/knuth/local/lib/twimac.tex
@@ -238,10 +238,11 @@
\begingroup\catcode`\_=\active \globaldefs=1
\def\flushout{\ifvoid\partialpage\else
\setbox0=\vsplit\partialpage to 44pc
- \shipout\vbox{
+ \setbox2=\vbox{
\vbox to 3pc{
\hbox to 35pc{\vbox to10pt{}\nineit\rhead\hfil\eightrm\folio}\vfill}
- \nointerlineskip\box0}
+ \nointerlineskip\box0}%
+ \shipout\box2
\global\advance\pageno 1
\let\=\makeref
\ifsorted \let\readin=\readln \readrefs
@@ -252,13 +253,12 @@
\hyphenpenalty 10000 \exhyphenpenalty 10000
\noindent\vbox to1pt{}\par % 1pt = \topskip - \ninept
\readin}
- \shipout\vbox to47pc{
+ \setbox2=\vbox to47pc{
\vbox to 3pc{
\hbox to 35pc{\vbox to10pt{}\eightrm\folio\hfil\nineit\rrhead\/}\vfill}
\unvbox\partialpage
\vfill
-% \ifdim\ht0>1pt \kern8pt\hrule \hbox{%
- \ifdim\ht0>1pt \kern11pt\hrule \hbox{% % changed Oct 87 by DEK!
+ \ifdim\ht0>1pt \kern11pt\hrule \hbox{% changed 8pt to 11pt Oct 87 by DEK!
\nsize=\ht0 \advance\nsize-\topskip
\divide\nsize by 3 \divide\nsize by\ninept
\multiply\nsize by\ninept \advance\nsize\topskip
@@ -267,7 +267,8 @@
\divide\msize by 2 \divide\msize by\ninept
\multiply\msize by\ninept \advance\msize\topskip
\vbox to\nsize{\vsplit0 to\msize\vss}\kern1pc
- \vbox to\nsize{\box0\vss}} \fi}
+ \vbox to\nsize{\box0\vss}} \fi}%
+ \shipout\box2
\global\advance\pageno 1 \global\let\rhead=\rrhead\fi
{\globaldefs=1
\nn=199 \loop \ifnum\nn<221 \toks\nn={} \count\nn=0 \advance\nn 1 \repeat
@@ -338,10 +339,11 @@
\def\lheader{\vbox to10pt{}\nineit\rhead\hfil\eightrm\folio}
\def\rheader{\vbox to10pt{}\eightrm\folio\hfil\nineit\rhead\/}
\def\page{\box255 }
-\def\normaloutput#1{\shipout\vbox{
+\def\normaloutput#1{\setbox2=\vbox{
\vbox to 3pc{
\hbox to 35pc{\ifodd\pageno\rheader\else\lheader\fi}\vfill}
- \nointerlineskip#1}
+ \nointerlineskip#1}%
+ \shipout\box2
\global\advance\pageno 1 }
\newbox\sbox % saved box preceding the index
diff --git a/systems/knuth/local/mf-sparc/ini_to_trap b/systems/knuth/local/mf-sparc/ini_to_trap
index c18984179f..c18984179f 100644..100755
--- a/systems/knuth/local/mf-sparc/ini_to_trap
+++ b/systems/knuth/local/mf-sparc/ini_to_trap
diff --git a/systems/knuth/local/mf/ini_to_trap b/systems/knuth/local/mf/ini_to_trap
index c18984179f..c18984179f 100644..100755
--- a/systems/knuth/local/mf/ini_to_trap
+++ b/systems/knuth/local/mf/ini_to_trap
diff --git a/systems/knuth/local/mfware/ext.o b/systems/knuth/local/mfware/ext.o
new file mode 100644
index 0000000000..e39b18e77f
--- /dev/null
+++ b/systems/knuth/local/mfware/ext.o
Binary files differ
diff --git a/systems/knuth/local/mfware/gftodvi b/systems/knuth/local/mfware/gftodvi
new file mode 100755
index 0000000000..6e52c25f83
--- /dev/null
+++ b/systems/knuth/local/mfware/gftodvi
Binary files differ
diff --git a/systems/knuth/local/mfware/gftodvi.ch b/systems/knuth/local/mfware/gftodvi.ch
new file mode 100644
index 0000000000..b4acb5b484
--- /dev/null
+++ b/systems/knuth/local/mfware/gftodvi.ch
@@ -0,0 +1,516 @@
+% Change file for the GFtoDVI processor, for use with GNU Pascal
+% (by Don Knuth; see ../mfware-sparc for the prehistory)
+
+% History:
+% 2000.04.30 Original version
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [0] WEAVE: print changes only
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+\pageno=\contentspagenumber \advance\pageno by 1
+@y
+\pageno=\contentspagenumber \advance\pageno by 1
+\let\maybe=\iffalse
+\def\title{GF\lowercase{to}DVI changes for {\mc GNU} Pascal}
+@z
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [1] Change banner string
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+@d banner=='This is GFtoDVI, Version 3.0' {printed when the program starts}
+@y
+@d banner=='This is GFtoDVI, Version 3.0 for Linux'
+ {printed when the program starts}
+@z
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [2] Use default case statement feature of ISO Extended Pascal
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+@d othercases == others: {default for cases not listed explicitly}
+@y
+@d othercases == otherwise {default for cases not listed explicitly}
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [3] Add inclusion of ext.h and standard input to program header
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+@p program GF_to_DVI(@!output);
+label @<Labels in the outer block@>@/
+const @<Constants in the outer block@>@/
+type @<Types in the outer block@>@/
+var @<Globals in the outer block@>@/
+procedure initialize; {this procedure gets things started properly}
+ var @!i,@!j,@!m,@!n:integer; {loop indices for initializations}
+ begin print_ln(banner);@/
+ @<Set initial values@>@/
+ end;
+@y
+@p program GF_to_DVI(@!input,@!output);
+label @<Labels in the outer block@>@/
+const @<Constants in the outer block@>@/
+type UNIX_filename = packed array [1..1024] of char;
+@<Types in the outer block@>@/
+var @<Globals in the outer block@>@/
+@\@=#include "../tex/ext.h"@>@\ {declarations for external C procedures}
+procedure initialize; {this procedure gets things started properly}
+ var @!i,@!j,@!m,@!n:integer; {loop indices for initializations}
+ begin print_ln(banner);@/
+ @<Set initial values@>@/
+ first_input:=true;
+ end;
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [5] Enlarge file_name_size to 1024
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+@<Constants...@>=
+@!max_labels=2000; {maximum number of labels and dots and rules per character}
+@!pool_size=10000; {maximum total length of labels and other strings}
+@!max_strings=1100; {maximum number of labels and other strings}
+@!terminal_line_length=150; {maximum number of characters input in a single
+ line of input from the terminal}
+@!file_name_size=50; {a file name shouldn't be longer than this}
+@!font_mem_size=2000; {space for font metric data}
+@!dvi_buf_size=800; {size of the output buffer; must be a multiple of 8}
+@!widest_row=8192; {maximum number of pixels per row}
+@!lig_lookahead=20; {size of stack used when inserting ligature characters}
+@y
+@<Constants...@>=
+@!max_labels=2000; {maximum number of labels and dots per character}
+@!pool_size=10000; {maximum total length of labels and other strings}
+@!max_strings=1100; {maximum number of labels and other strings}
+@!terminal_line_length=150; {maximum number of characters input in a single
+ line of input from the terminal}
+@!file_name_size=1024; {a file name shouldn't be longer than this}
+@!font_mem_size=2000; {space for font metric data}
+@!dvi_buf_size=800; {size of the output buffer; must be a multiple of 8}
+@!widest_row=8192; {maximum number of pixels per row}
+@!lig_lookahead=20; {size of stack used when inserting ligature characters}
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [8] Add <nl> to end of abort() message
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+@d abort(#)==@+begin print(' ',#); jump_out;@+end
+@y
+@d abort(#)==@+begin print_ln(' ',#); jump_out;@+end
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [was15,now16] change update_terminal to flush(), change def'n of term_in
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+Since the terminal is being used for both input and output, some systems
+need a special routine to make sure that the user can see a prompt message
+before waiting for input based on that message. (Otherwise the message
+may just be sitting in a hidden buffer somewhere, and the user will have
+no idea what the program is waiting for.) We shall call a system-dependent
+subroutine |update_terminal| in order to avoid this problem.
+
+@d update_terminal == break(output) {empty the terminal output buffer}
+
+@<Glob...@>=
+@!buffer:array[0..terminal_line_length] of 0..255;
+@!term_in:text_file; {the terminal, considered as an input file}
+@y
+Since the terminal is being used for both input and output, some systems
+need a special routine to make sure that the user can see a prompt message
+before waiting for input based on that message. (Otherwise the message
+may just be sitting in a hidden buffer somewhere, and the user will have
+no idea what the program is waiting for.) We shall call a system-dependent
+subroutine |update_terminal| in order to avoid this problem.
+@^system dependencies@>
+
+@d update_terminal == flush_stdout {empty the terminal output buffer}
+@d term_in == input {standard input}
+
+@<Glob...@>=
+@!buffer:array[0..terminal_line_length] of ByteCard;
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [was16,now17] Remove reset(term_in) from input_ln
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+@ A global variable |line_length| records the first buffer position after
+the line just read.
+@^system dependencies@>
+
+@p procedure input_ln; {inputs a line from the terminal}
+begin update_terminal; reset(term_in);
+if eoln(term_in) then read_ln(term_in);
+line_length:=0;
+while (line_length<terminal_line_length)and not eoln(term_in) do
+ begin buffer[line_length]:=xord[term_in^]; incr(line_length); get(term_in);
+ end;
+end;
+
+@y
+@ A global variable |line_length| records the first buffer position after
+the line just read. Another one, |first_input|, tells if such a line exists.
+@^system dependencies@>
+
+@p procedure input_ln; {inputs a line from the terminal}
+begin update_terminal;
+if first_input then first_input:=false
+else if eoln(term_in) then read_ln(term_in);
+line_length:=0;
+while (line_length<terminal_line_length)and not eoln(term_in) do
+ begin buffer[line_length]:=xord[term_in^]; incr(line_length); get(term_in);
+ end;
+end;
+
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [45] Change type of binary file for binary (byte) files
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+@!eight_bits=0..255; {unsigned one-byte quantity}
+@y
+@!eight_bits=ByteCard; {unsigned one-byte quantity}
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [47] Modify file open routines to match binary I/O library
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+variable that specifies the file name.
+@^system dependencies@>
+
+@p procedure open_gf_file; {prepares to read packed bytes in |gf_file|}
+begin reset(gf_file,name_of_file);
+cur_loc:=0;
+end;
+@#
+procedure open_tfm_file; {prepares to read packed bytes in |tfm_file|}
+begin reset(tfm_file,name_of_file);
+end;
+@#
+procedure open_dvi_file; {prepares to write packed bytes in |dvi_file|}
+begin rewrite(dvi_file,name_of_file);
+end;
+@y
+variable that specifies the file name.
+
+An external C procedure, |test_access| is used to check whether or not the
+open will work. It is declared in the \.{ext.h} include file, and it returns
+|true| or |false|. The |name_of_file| global holds the file name whose access
+is to be tested.
+The first parameter for |test_access| is the access mode,
+one of |read_access_mode| or |write_access_mode|.
+
+We also implement path searching in |test_access|: its second parameter is
+one of the ``file path'' constants defined below. If |name_of_file|
+doesn't start with |'/'| then |test_access| tries prepending pathnames
+from the appropriate path list until success or the end of path list
+is reached.
+On return, |real_name_of_file| contains the original name with the path
+that succeeded (if any) prepended. It is the name used in the various
+open procedures.
+
+@d read_access_mode=4 {``read'' mode for |test_access|}
+@d write_access_mode=2 {``write'' mode for |test_access|}
+
+@d no_file_path=0 {do no path searching}
+@d font_file_path=3 {path specifier for \.{TFM} files}
+
+@p procedure open_gf_file; {prepares to read packed bytes in |gf_file|}
+var@!i: 1..file_name_size;
+begin if test_access(read_access_mode,no_file_path) then
+ begin reset(gf_file,real_name_of_file); cur_loc:=0;
+ end
+else begin i:=1;
+ while (real_name_of_file[i] <> chr(0)) do@+incr(i);
+ abort('Can''t open GF file ',real_name_of_file:i);
+ end;
+end;
+@#
+procedure open_tfm_file; {prepares to read packed bytes in |tfm_file|}
+var@!i: 1..file_name_size;
+begin if test_access(read_access_mode,font_file_path) then
+ begin reset(tfm_file,real_name_of_file); cur_loc:=0;
+ end
+else begin i:=1;
+ while (real_name_of_file[i] <> chr(0)) do@+incr(i);
+ abort('Can''t open TFM file ',real_name_of_file:i);
+ end;
+end;
+@#
+procedure open_dvi_file; {prepares to write packed bytes in |dvi_file|}
+var@!i: 1..file_name_size;
+begin if test_access(write_access_mode,no_file_path) then
+ rewrite(dvi_file,real_name_of_file)
+else begin i:=1;
+ while (real_name_of_file[i] <> chr(0)) do@+incr(i);
+ abort('Can''t write on DVI file ',real_name_of_file:i);
+ end;
+end;
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [48] Declare real_name_of_file
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+be read next, and the string |name_of_file| will be set to the current
+file name before the file-opening procedures are called.
+
+@<Glob...@>=
+@!cur_loc:integer; {current byte number in |gf_file|}
+@!name_of_file:packed array[1..file_name_size] of char; {external file name}
+@y
+be read next, and the string |name_of_file| will be set to the current
+file name before the file-opening procedures are called.
+Under UNIX, we also have a |real_name_of_file| string, that gets
+set by the external |test_access| procedure after path searching.
+
+@<Glob...@>=
+@!cur_loc:integer; {current byte number in |gf_file|}
+@!name_of_file,@!real_name_of_file:external UNIX_filename;
+ {external names}
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [78] change default extension to ".2602gf"
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+l:=3; init_str3(".")("g")("f")(gf_ext);@/
+@y
+l:=7; init_str7(".")("2")("6")("0")("2")("g")("f")(gf_ext);@/
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [87] change ">" and ":" to "/" in file name scanning
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+@ The file names we shall deal with for illustrative purposes have the
+following structure: If the name contains `\.>' or `\.:', the file area
+consists of all characters up to and including the final such character;
+otherwise the file area is null. If the remaining file name contains
+`\..', the file extension consists of all such characters from the first
+remaining `\..' to the end, otherwise the file extension is null.
+@^system dependencies@>
+
+We can scan such file names easily by using two global variables that keep track
+of the occurrences of area and extension delimiters:
+
+@<Glob...@>=
+@!area_delimiter:pool_pointer; {the most recent `\.>' or `\.:', if any}
+@!ext_delimiter:pool_pointer; {the relevant `\..', if any}
+@y
+@ The file names we shall deal with for Linux have the
+following structure: If the name contains `\./', the file area
+consists of all characters up to and including the final such character;
+otherwise the file area is null. If the remaining file name contains
+`\..', the file extension consists of all such characters from the first
+remaining `\..' to the end, otherwise the file extension is null.
+@^system dependencies@>
+
+We can scan such file names easily by using two global variables that keep track
+of the occurrences of area and extension delimiters:
+
+@<Glob...@>=
+@!area_delimiter:pool_pointer; {the most recent `\./', if any}
+@!ext_delimiter:pool_pointer; {the relevant `\..', if any}
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [88] change home_font_area to null_string (open_tfm provides path)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+@ Font metric files whose areas are not given
+explicitly are assumed to appear in a standard system area called
+|home_font_area|. This system area name will, of course, vary from place
+to place. The program here sets it to `\.{TeXfonts:}'.
+@^system dependencies@>
+@.TeXfonts@>
+
+@<Initialize the strings@>=
+l:=9; init_str9("T")("e")("X")("f")("o")("n")("t")("s")(":")(home_font_area);@/
+@y
+@ Font metric files whose areas are not given
+explicitly are assumed to appear in a standard system area called
+|home_font_area|. This system area name will, of course, vary from place
+to place. In the Linux version, we set |home_font_area|
+to |null_string| because the default areas to search for \.{TFM} files
+are built into the routine |test_access|.
+@^system dependencies@>
+
+@<Initialize the strings@>=
+l:=0; init_str0(home_font_area);@/
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [90] change more_name to understand UNIX file name paths
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+@p function more_name(@!c:ASCII_code):boolean;
+begin if c=" " then more_name:=false
+else begin if (c=">")or(c=":") then
+ begin area_delimiter:=pool_ptr; ext_delimiter:=0;
+ end
+ else if (c=".")and(ext_delimiter=0) then ext_delimiter:=pool_ptr;
+ str_room(1); append_char(c); {contribute |c| to the current string}
+ more_name:=true;
+ end;
+end;
+@y
+@p function more_name(@!c:ASCII_code):boolean;
+begin if c=" " then more_name:=false
+else begin if (c="/") then
+ begin area_delimiter:=pool_ptr; ext_delimiter:=0;
+ end
+ else if (c=".")and(ext_delimiter=0) then ext_delimiter:=pool_ptr;
+ str_room(1); append_char(c); {contribute |c| to the current string}
+ more_name:=true;
+ end;
+end;
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [92] change pack_file_name for UNIX conventions
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+if k<=file_name_size then name_length:=k@+else name_length:=file_name_size;
+for k:=name_length+1 to file_name_size do name_of_file[k]:=' ';
+end;
+@y
+if k<file_name_size then name_length:=k@+else name_length:=file_name_size-1;
+for k:=name_length+1 to file_name_size do name_of_file[k]:=chr(0);
+end;
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [94] change start_gf to get file name from command line arguments
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+@ The |start_gf| procedure prompts the user for the name of the generic
+font file to be input. It opens the file, making sure that some input is
+present; then it opens the output file.
+
+Although this routine is system-independent, it should probably be
+modified to take the file name from the command line (without an initial
+prompt), on systems that permit such things.
+
+@p procedure start_gf;
+label found,done;
+begin loop@+begin print_nl('GF file name: '); input_ln;
+@.GF file name@>
+ buf_ptr:=0; buffer[line_length]:="?";
+ while buffer[buf_ptr]=" " do incr(buf_ptr);
+ if buf_ptr<line_length then
+ begin @<Scan the file name in the buffer@>;
+ if cur_ext=null_string then cur_ext:=gf_ext;
+ pack_file_name(cur_name,cur_area,cur_ext); open_gf_file;
+ if not eof(gf_file) then goto found;
+ print_nl('Oops... I can''t find file '); print(name_of_file);
+@.Oops...@>
+@.I can't find...@>
+ end;
+ end;
+found:job_name:=cur_name; pack_file_name(job_name,null_string,dvi_ext);
+open_dvi_file;
+end;
+@y
+@ The |start_gf| procedure obtains the name of the generic font file to
+be input from the command line.
+It opens the file, making sure that some input is
+present; then it opens the output file.
+
+@p procedure start_gf;
+label done;
+var
+ arg_buffer: UNIX_filename;
+ arg_buf_ptr: 1..file_name_size;
+begin if (argc > 2) then abort('Usage: gftodvi [GF-file]');
+if argc = 1 then begin
+ print_nl('GF file name: '); input_ln;
+@.GF file name@>
+ end
+else begin
+ argv(1, arg_buffer);
+ arg_buf_ptr := 1;
+ line_length := 0;
+ while (arg_buf_ptr < file_name_size)
+ and (line_length < terminal_line_length)
+ and (arg_buffer[arg_buf_ptr] <> chr(0)) do
+ begin
+ buffer[line_length] := xord[arg_buffer[arg_buf_ptr]];
+ incr(line_length);
+ incr(arg_buf_ptr);
+ end;
+end;
+ buf_ptr:=0; buffer[line_length]:="?";
+ while buffer[buf_ptr]=" " do incr(buf_ptr);
+ if buf_ptr<line_length then
+ begin @<Scan the file name in the buffer@>;
+ if cur_ext=null_string then cur_ext:=gf_ext;
+ pack_file_name(cur_name,cur_area,cur_ext); open_gf_file;
+ end;
+job_name:=cur_name; pack_file_name(job_name,null_string,dvi_ext);
+open_dvi_file;
+end;
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [was216,now219] call set_paths before gf_start to initialize paths
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+@p begin initialize; {get all variables initialized}
+@<Initialize the strings@>;
+start_gf; {open the input and output files}
+@y
+@p begin initialize; {get all variables initialized}
+@<Initialize the strings@>;
+set_paths; {initialize paths for \.{TFM} files from environment if needed}
+start_gf; {open the input and output files}
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [was216,now219] finish normal end with newline on terminal
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+ cur_gf:=get_byte; str_ptr:=init_str_ptr; pool_ptr:=str_start[str_ptr];
+ end;
+final_end:end.
+@y
+ cur_gf:=get_byte; str_ptr:=init_str_ptr; pool_ptr:=str_start[str_ptr];
+ end;
+final_end:print_ln(' ');
+end.
+@z
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% [was219,now222] declare special global
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+@x
+@* System-dependent changes.
+This section should be replaced, if necessary, by changes to the program
+that are necessary to make \.{GFtoDVI} work at a particular installation.
+It is usually best to design your change file so that all changes to
+previous sections preserve the section numbering; then everybody's version
+will be consistent with the printed program. More extensive changes,
+which introduce new sections, can be inserted here; then only the index
+itself will get a new section number.
+@^system dependencies@>
+@y
+@* System-dependent changes.
+This section should be replaced, if necessary, by changes to the program
+that are necessary to make \.{GFtoDVI} work at a particular installation.
+It is usually best to design your change file so that all changes to
+previous sections preserve the section numbering; then everybody's version
+will be consistent with the printed program. More extensive changes,
+which introduce new sections, can be inserted here; then only the index
+itself will get a new section number.
+@^system dependencies@>
+
+@<Glob...@>=
+@!first_input:boolean; {true before the first call to |input_ln|}
+
+@ @<Types in...@>=
+@!word_file=file of memory_word; {needed in \.{ext.h}}
+@z
diff --git a/systems/knuth/local/mfware/gftodvi.o b/systems/knuth/local/mfware/gftodvi.o
new file mode 100644
index 0000000000..5d1defdd72
--- /dev/null
+++ b/systems/knuth/local/mfware/gftodvi.o
Binary files differ
diff --git a/systems/knuth/local/mfware/gftodvi.p b/systems/knuth/local/mfware/gftodvi.p
new file mode 100644
index 0000000000..59b5810afb
--- /dev/null
+++ b/systems/knuth/local/mfware/gftodvi.p
@@ -0,0 +1,854 @@
+{3:}program GFtoDVI(input,output);label{4:}9999;{:4}const{5:}
+maxlabels=2000;poolsize=10000;maxstrings=1100;terminallinelength=150;
+filenamesize=1024;fontmemsize=2000;dvibufsize=800;widestrow=8192;
+liglookahead=20;{:5}type UNIXfilename=packed array[1..1024]of char;{9:}
+scaled=integer;{:9}{10:}ASCIIcode=0..255;{:10}{11:}
+textfile=packed file of char;{:11}{45:}eightbits=ByteCard;
+bytefile=packed file of eightbits;{:45}{52:}fontindex=0..fontmemsize;
+quarterword=0..255;fourquarters=packed record b0:quarterword;
+b1:quarterword;b2:quarterword;b3:quarterword;end;
+memoryword=record case boolean of true:(sc:scaled);
+false:(qqqq:fourquarters);end;internalfontnumber=1..5;{:52}{70:}
+poolpointer=0..poolsize;strnumber=0..maxstrings;{:70}{79:}
+keywordcode=0..19;{:79}{104:}dviindex=0..dvibufsize;{:104}{139:}
+nodepointer=0..maxlabels;{:139}{223:}wordfile=file of memoryword;{:223}
+var{12:}xord:array[char]of ASCIIcode;xchr:array[ASCIIcode]of char;{:12}
+{16:}buffer:array[0..terminallinelength]of ByteCard;{:16}{18:}
+bufptr:0..terminallinelength;linelength:0..terminallinelength;{:18}{37:}
+lf,lh,bc,ec,nw,nh,nd,ni,nl,nk,ne,np:0..32767;{:37}{46:}gffile:bytefile;
+dvifile:bytefile;tfmfile:bytefile;{:46}{48:}curloc:integer;
+nameoffile,realnameoffile:external UNIXfilename;{:48}{49:}
+b0,b1,b2,b3:eightbits;{:49}{53:}fontinfo:array[fontindex]of memoryword;
+fmemptr:fontindex;fontcheck:array[internalfontnumber]of fourquarters;
+fontsize:array[internalfontnumber]of scaled;
+fontdsize:array[internalfontnumber]of scaled;
+fontbc:array[internalfontnumber]of eightbits;
+fontec:array[internalfontnumber]of eightbits;
+charbase:array[internalfontnumber]of integer;
+widthbase:array[internalfontnumber]of integer;
+heightbase:array[internalfontnumber]of integer;
+depthbase:array[internalfontnumber]of integer;
+italicbase:array[internalfontnumber]of integer;
+ligkernbase:array[internalfontnumber]of integer;
+kernbase:array[internalfontnumber]of integer;
+extenbase:array[internalfontnumber]of integer;
+parambase:array[internalfontnumber]of integer;
+bcharlabel:array[internalfontnumber]of fontindex;
+fontbchar:array[internalfontnumber]of 0..256;{:53}{71:}
+strpool:packed array[poolpointer]of ASCIIcode;
+strstart:array[strnumber]of poolpointer;poolptr:poolpointer;
+strptr:strnumber;initstrptr:strnumber;{:71}{76:}l:integer;{:76}{80:}
+curgf:eightbits;curstring:strnumber;labeltype:eightbits;{:80}{86:}
+curname:strnumber;curarea:strnumber;curext:strnumber;{:86}{87:}
+areadelimiter:poolpointer;extdelimiter:poolpointer;{:87}{93:}
+jobname:strnumber;{:93}{96:}interaction:boolean;fontsnotloaded:boolean;
+fontname:array[internalfontnumber]of strnumber;
+fontarea:array[internalfontnumber]of strnumber;
+fontat:array[internalfontnumber]of scaled;{:96}{102:}totalpages:integer;
+maxv:scaled;maxh:scaled;lastbop:integer;{:102}{105:}
+dvibuf:array[dviindex]of eightbits;halfbuf:dviindex;dvilimit:dviindex;
+dviptr:dviindex;dvioffset:integer;{:105}{117:}boxwidth:scaled;
+boxheight:scaled;boxdepth:scaled;
+ligstack:array[1..liglookahead]of quarterword;dummyinfo:fourquarters;
+suppresslig:boolean;{:117}{127:}c:array[1..120]of 1..4095;
+d:array[1..120]of 2..4096;twotothe:array[0..13]of 1..8192;{:127}{134:}
+ruleslant:real;slantn:integer;slantunit:real;slantreported:real;{:134}
+{140:}xl,xr,yt,yb:array[1..maxlabels]of scaled;
+xx,yy:array[0..maxlabels]of scaled;
+prev,next:array[0..maxlabels]of nodepointer;
+info:array[1..maxlabels]of strnumber;maxnode:nodepointer;
+maxheight:scaled;maxdepth:scaled;{:140}{149:}firstdot:nodepointer;
+twin:boolean;{:149}{155:}rulethickness:scaled;offsetx,offsety:scaled;
+xoffset,yoffset:scaled;preminx,premaxx,preminy,premaxy:scaled;{:155}
+{158:}ruleptr:nodepointer;{:158}{160:}labeltail:nodepointer;
+titlehead,titletail:nodepointer;{:160}{166:}charcode,ext:integer;
+minx,maxx,miny,maxy:integer;x,y:integer;z:integer;{:166}{168:}
+xratio,yratio,slantratio:real;unscxratio,unscyratio,unscslantratio:real;
+fudgefactor:real;deltax,deltay:scaled;dvix,dviy:scaled;overcol:scaled;
+pageheight,pagewidth:scaled;{:168}{174:}grayrulethickness:scaled;
+tempx,tempy:scaled;{:174}{182:}overflowline:integer;{:182}{183:}
+delta:scaled;halfxheight:scaled;thricexheight:scaled;
+dotwidth,dotheight:scaled;{:183}{207:}b:array[0..4095]of 0..120;
+rho:array[0..4095]of 1..4096;{:207}{211:}
+a:array[0..widestrow]of 0..4095;{:211}{212:}blankrows:integer;{:212}
+{220:}k,m,p,q,r,s,t,dx,dy:integer;timestamp:strnumber;uselogo:boolean;
+{:220}{222:}firstinput:boolean;{:222}
+#include "../tex/ext.h"
+procedure initialize;var i,j,m,n:integer;
+begin writeln('This is GFtoDVI, Version 3.0 for Linux');{13:}
+xchr[32]:=' ';xchr[33]:='!';xchr[34]:='"';xchr[35]:='#';xchr[36]:='$';
+xchr[37]:='%';xchr[38]:='&';xchr[39]:='''';xchr[40]:='(';xchr[41]:=')';
+xchr[42]:='*';xchr[43]:='+';xchr[44]:=',';xchr[45]:='-';xchr[46]:='.';
+xchr[47]:='/';xchr[48]:='0';xchr[49]:='1';xchr[50]:='2';xchr[51]:='3';
+xchr[52]:='4';xchr[53]:='5';xchr[54]:='6';xchr[55]:='7';xchr[56]:='8';
+xchr[57]:='9';xchr[58]:=':';xchr[59]:=';';xchr[60]:='<';xchr[61]:='=';
+xchr[62]:='>';xchr[63]:='?';xchr[64]:='@';xchr[65]:='A';xchr[66]:='B';
+xchr[67]:='C';xchr[68]:='D';xchr[69]:='E';xchr[70]:='F';xchr[71]:='G';
+xchr[72]:='H';xchr[73]:='I';xchr[74]:='J';xchr[75]:='K';xchr[76]:='L';
+xchr[77]:='M';xchr[78]:='N';xchr[79]:='O';xchr[80]:='P';xchr[81]:='Q';
+xchr[82]:='R';xchr[83]:='S';xchr[84]:='T';xchr[85]:='U';xchr[86]:='V';
+xchr[87]:='W';xchr[88]:='X';xchr[89]:='Y';xchr[90]:='Z';xchr[91]:='[';
+xchr[92]:='\';xchr[93]:=']';xchr[94]:='^';xchr[95]:='_';xchr[96]:='`';
+xchr[97]:='a';xchr[98]:='b';xchr[99]:='c';xchr[100]:='d';xchr[101]:='e';
+xchr[102]:='f';xchr[103]:='g';xchr[104]:='h';xchr[105]:='i';
+xchr[106]:='j';xchr[107]:='k';xchr[108]:='l';xchr[109]:='m';
+xchr[110]:='n';xchr[111]:='o';xchr[112]:='p';xchr[113]:='q';
+xchr[114]:='r';xchr[115]:='s';xchr[116]:='t';xchr[117]:='u';
+xchr[118]:='v';xchr[119]:='w';xchr[120]:='x';xchr[121]:='y';
+xchr[122]:='z';xchr[123]:='{';xchr[124]:='|';xchr[125]:='}';
+xchr[126]:='~';{:13}{14:}for i:=0 to 31 do xchr[i]:='?';
+for i:=127 to 255 do xchr[i]:='?';{:14}{15:}
+for i:=0 to 255 do xord[chr(i)]:=32;for i:=1 to 255 do xord[xchr[i]]:=i;
+xord['?']:=63;{:15}{54:}fmemptr:=0;{:54}{97:}interaction:=false;
+fontsnotloaded:=true;fontname[1]:=29;fontname[2]:=30;fontname[3]:=31;
+fontname[4]:=0;fontname[5]:=32;for k:=1 to 5 do begin fontarea[k]:=0;
+fontat[k]:=0;end;{:97}{103:}totalpages:=0;maxv:=0;maxh:=0;lastbop:=-1;
+{:103}{106:}halfbuf:=dvibufsize div 2;dvilimit:=dvibufsize;dviptr:=0;
+dvioffset:=0;{:106}{118:}dummyinfo.b0:=0;dummyinfo.b1:=0;
+dummyinfo.b2:=0;dummyinfo.b3:=0;{:118}{126:}c[1]:=1;d[1]:=2;
+twotothe[0]:=1;m:=1;for k:=1 to 13 do twotothe[k]:=2*twotothe[k-1];
+for k:=2 to 6 do{128:}begin n:=twotothe[k-1];
+for j:=0 to n-1 do begin m:=m+1;c[m]:=m;d[m]:=n+n;end;end{:128};
+for k:=7 to 12 do{129:}begin n:=twotothe[k-1];
+for j:=k downto 1 do begin m:=m+1;d[m]:=n+n;
+if j=k then c[m]:=n else c[m]:=c[m-1]+twotothe[j-1];end;end{:129};{:126}
+{142:}yy[0]:=-1073741824;yy[maxlabels]:=1073741824;{:142}
+firstinput:=true;end;{:3}{8:}procedure jumpout;begin goto 9999;end;{:8}
+{17:}procedure inputln;begin flushstdout;
+if firstinput then firstinput:=false else if eoln(input)then readln(
+input);linelength:=0;
+while(linelength<terminallinelength)and not eoln(input)do begin buffer[
+linelength]:=xord[input^];linelength:=linelength+1;get(input);end;end;
+{:17}{47:}procedure opengffile;var i:1..filenamesize;
+begin if testaccess(4,0)then begin reset(gffile,realnameoffile);
+curloc:=0;end else begin i:=1;while(realnameoffile[i]<>chr(0))do i:=i+1;
+begin writeln(' ','Can''t open GF file ',realnameoffile:i);jumpout;end;
+end;end;procedure opentfmfile;var i:1..filenamesize;
+begin if testaccess(4,3)then begin reset(tfmfile,realnameoffile);
+curloc:=0;end else begin i:=1;while(realnameoffile[i]<>chr(0))do i:=i+1;
+begin writeln(' ','Can''t open TFM file ',realnameoffile:i);jumpout;end;
+end;end;procedure opendvifile;var i:1..filenamesize;
+begin if testaccess(2,0)then rewrite(dvifile,realnameoffile)else begin i
+:=1;while(realnameoffile[i]<>chr(0))do i:=i+1;
+begin writeln(' ','Can''t write on DVI file ',realnameoffile:i);jumpout;
+end;end;end;{:47}{50:}procedure readtfmword;begin read(tfmfile,b0);
+read(tfmfile,b1);read(tfmfile,b2);read(tfmfile,b3);end;{:50}{51:}
+function getbyte:integer;var b:eightbits;
+begin if eof(gffile)then getbyte:=0 else begin read(gffile,b);
+curloc:=curloc+1;getbyte:=b;end;end;function gettwobytes:integer;
+var a,b:eightbits;begin read(gffile,a);read(gffile,b);curloc:=curloc+2;
+gettwobytes:=a*256+b;end;function getthreebytes:integer;
+var a,b,c:eightbits;begin read(gffile,a);read(gffile,b);read(gffile,c);
+curloc:=curloc+3;getthreebytes:=(a*256+b)*256+c;end;
+function signedquad:integer;var a,b,c,d:eightbits;begin read(gffile,a);
+read(gffile,b);read(gffile,c);read(gffile,d);curloc:=curloc+4;
+if a<128 then signedquad:=((a*256+b)*256+c)*256+d else signedquad:=(((a
+-256)*256+b)*256+c)*256+d;end;{:51}{58:}
+procedure readfontinfo(f:integer;s:scaled);label 30,11;var k:fontindex;
+lf,lh,bc,ec,nw,nh,nd,ni,nl,nk,ne,np:0..65535;bchlabel:integer;
+bchar:0..256;qw:fourquarters;sw:scaled;z:scaled;alpha:integer;
+beta:1..16;begin{59:}{60:}begin readtfmword;lf:=b0*256+b1;lh:=b2*256+b3;
+readtfmword;bc:=b0*256+b1;ec:=b2*256+b3;
+if(bc>ec+1)or(ec>255)then goto 11;if bc>255 then begin bc:=1;ec:=0;end;
+readtfmword;nw:=b0*256+b1;nh:=b2*256+b3;readtfmword;nd:=b0*256+b1;
+ni:=b2*256+b3;readtfmword;nl:=b0*256+b1;nk:=b2*256+b3;readtfmword;
+ne:=b0*256+b1;np:=b2*256+b3;
+if lf<>6+lh+(ec-bc+1)+nw+nh+nd+ni+nl+nk+ne+np then goto 11;end{:60};
+{61:}lf:=lf-6-lh;if np<8 then lf:=lf+8-np;
+if fmemptr+lf>fontmemsize then begin writeln(' ','No room for TFM file!'
+);jumpout;end;charbase[f]:=fmemptr-bc;widthbase[f]:=charbase[f]+ec+1;
+heightbase[f]:=widthbase[f]+nw;depthbase[f]:=heightbase[f]+nh;
+italicbase[f]:=depthbase[f]+nd;ligkernbase[f]:=italicbase[f]+ni;
+kernbase[f]:=ligkernbase[f]+nl;extenbase[f]:=kernbase[f]+nk;
+parambase[f]:=extenbase[f]+ne{:61};{62:}begin if lh<2 then goto 11;
+begin readtfmword;qw.b0:=b0+0;qw.b1:=b1+0;qw.b2:=b2+0;qw.b3:=b3+0;
+fontcheck[f]:=qw;end;readtfmword;if b0>127 then goto 11;
+z:=((b0*256+b1)*256+b2)*16+(b3 div 16);if z<65536 then goto 11;
+while lh>2 do begin readtfmword;lh:=lh-1;end;fontdsize[f]:=z;
+if s>0 then z:=s;fontsize[f]:=z;end{:62};{63:}
+for k:=fmemptr to widthbase[f]-1 do begin begin readtfmword;qw.b0:=b0+0;
+qw.b1:=b1+0;qw.b2:=b2+0;qw.b3:=b3+0;fontinfo[k].qqqq:=qw;end;
+if(b0>=nw)or(b1 div 16>=nh)or(b1 mod 16>=nd)or(b2 div 4>=ni)then goto 11
+;case b2 mod 4 of 1:if b3>=nl then goto 11;3:if b3>=ne then goto 11;
+0,2:;end;end{:63};{64:}begin{65:}begin alpha:=16*z;beta:=16;
+while z>=8388608 do begin z:=z div 2;beta:=beta div 2;end;end{:65};
+for k:=widthbase[f]to ligkernbase[f]-1 do begin readtfmword;
+sw:=(((((b3*z)div 256)+(b2*z))div 256)+(b1*z))div beta;
+if b0=0 then fontinfo[k].sc:=sw else if b0=255 then fontinfo[k].sc:=sw-
+alpha else goto 11;end;if fontinfo[widthbase[f]].sc<>0 then goto 11;
+if fontinfo[heightbase[f]].sc<>0 then goto 11;
+if fontinfo[depthbase[f]].sc<>0 then goto 11;
+if fontinfo[italicbase[f]].sc<>0 then goto 11;end{:64};{66:}
+begin bchlabel:=32767;bchar:=256;
+if nl>0 then begin for k:=ligkernbase[f]to kernbase[f]-1 do begin begin
+readtfmword;qw.b0:=b0+0;qw.b1:=b1+0;qw.b2:=b2+0;qw.b3:=b3+0;
+fontinfo[k].qqqq:=qw;end;
+if b0>128 then begin if 256*b2+b3>=nl then goto 11;
+if b0=255 then if k=ligkernbase[f]then bchar:=b1;
+end else begin if b1<>bchar then begin if(b1<bc)or(b1>ec)then goto 11
+end;
+if b2<128 then begin if(b3<bc)or(b3>ec)then goto 11 end else if 256*(b2
+-128)+b3>=nk then goto 11;end;end;if b0=255 then bchlabel:=256*b2+b3;
+end;for k:=kernbase[f]to extenbase[f]-1 do begin readtfmword;
+sw:=(((((b3*z)div 256)+(b2*z))div 256)+(b1*z))div beta;
+if b0=0 then fontinfo[k].sc:=sw else if b0=255 then fontinfo[k].sc:=sw-
+alpha else goto 11;end;end{:66};{67:}
+for k:=extenbase[f]to parambase[f]-1 do begin begin readtfmword;
+qw.b0:=b0+0;qw.b1:=b1+0;qw.b2:=b2+0;qw.b3:=b3+0;fontinfo[k].qqqq:=qw;
+end;if b0<>0 then begin if(b0<bc)or(b0>ec)then goto 11 end;
+if b1<>0 then begin if(b1<bc)or(b1>ec)then goto 11 end;
+if b2<>0 then begin if(b2<bc)or(b2>ec)then goto 11 end;
+begin if(b3<bc)or(b3>ec)then goto 11 end;end{:67};{68:}
+begin for k:=1 to np do if k=1 then begin readtfmword;
+if b0>127 then sw:=b0-256 else sw:=b0;sw:=sw*256+b1;sw:=sw*256+b2;
+fontinfo[parambase[f]].sc:=(sw*16)+(b3 div 16);
+end else begin readtfmword;
+sw:=(((((b3*z)div 256)+(b2*z))div 256)+(b1*z))div beta;
+if b0=0 then fontinfo[parambase[f]+k-1].sc:=sw else if b0=255 then
+fontinfo[parambase[f]+k-1].sc:=sw-alpha else goto 11;end;
+for k:=np+1 to 8 do fontinfo[parambase[f]+k-1].sc:=0;end{:68};{69:}
+fontbc[f]:=bc;fontec[f]:=ec;
+if bchlabel<nl then bcharlabel[f]:=bchlabel+ligkernbase[f]else
+bcharlabel[f]:=fontmemsize;fontbchar[f]:=bchar+0;
+widthbase[f]:=widthbase[f]-0;ligkernbase[f]:=ligkernbase[f]-0;
+kernbase[f]:=kernbase[f]-0;extenbase[f]:=extenbase[f]-0;
+parambase[f]:=parambase[f]-1;fmemptr:=fmemptr+lf;goto 30{:69}{:59};
+11:begin writeln;write('Bad TFM file for');end;
+case f of 1:begin writeln(' ','titles!');jumpout;end;
+2:begin writeln(' ','labels!');jumpout;end;
+3:begin writeln(' ','pixels!');jumpout;end;
+4:begin writeln(' ','slants!');jumpout;end;
+5:begin writeln(' ','METAFONT logo!');jumpout;end;end;30:end;{:58}{74:}
+function makestring:strnumber;
+begin if strptr=maxstrings then begin writeln(' ','Too many labels!');
+jumpout;end;strptr:=strptr+1;strstart[strptr]:=poolptr;
+makestring:=strptr-1;end;{:74}{75:}procedure firststring(c:integer);
+begin if strptr<>c then begin writeln(' ','?');jumpout;end;
+while l>0 do begin begin strpool[poolptr]:=buffer[l];poolptr:=poolptr+1;
+end;l:=l-1;end;strptr:=strptr+1;strstart[strptr]:=poolptr;end;{:75}{81:}
+function interpretxxx:keywordcode;label 30,31,45;var k:integer;
+j:integer;l:0..13;m:keywordcode;n1:0..13;n2:poolpointer;c:keywordcode;
+begin c:=19;curstring:=0;case curgf of 244:goto 30;
+243:begin k:=signedquad;goto 30;end;239:k:=getbyte;240:k:=gettwobytes;
+241:k:=getthreebytes;242:k:=signedquad;end;{82:}j:=0;
+if k<2 then goto 45;while true do begin l:=j;if j=k then goto 31;
+if j=13 then goto 45;j:=j+1;buffer[j]:=getbyte;
+if buffer[j]=32 then goto 31;end;31:{83:}
+for m:=0 to 18 do if(strstart[m+1]-strstart[m])=l then begin n1:=0;
+n2:=strstart[m];
+while(n1<l)and(buffer[n1+1]=strpool[n2])do begin n1:=n1+1;n2:=n2+1;end;
+if n1=l then begin c:=m;if m=0 then begin j:=j+1;labeltype:=getbyte;end;
+begin if poolptr+k-j>poolsize then begin writeln(' ','Too many strings!'
+);jumpout;end;end;while j<k do begin j:=j+1;
+begin strpool[poolptr]:=getbyte;poolptr:=poolptr+1;end;end;
+curstring:=makestring;goto 30;end;end{:83};45:while j<k do begin j:=j+1;
+curgf:=getbyte;end{:82};30:curgf:=getbyte;interpretxxx:=c;end;{:81}{84:}
+function getyyy:scaled;var v:scaled;
+begin if curgf<>243 then getyyy:=0 else begin v:=signedquad;
+curgf:=getbyte;getyyy:=v;end;end;{:84}{85:}procedure skipnop;label 30;
+var k:integer;j:integer;begin case curgf of 244:goto 30;
+243:begin k:=signedquad;goto 30;end;239:k:=getbyte;240:k:=gettwobytes;
+241:k:=getthreebytes;242:k:=signedquad;end;
+for j:=1 to k do curgf:=getbyte;30:curgf:=getbyte;end;{:85}{89:}
+procedure beginname;begin areadelimiter:=0;extdelimiter:=0;end;{:89}
+{90:}function morename(c:ASCIIcode):boolean;
+begin if c=32 then morename:=false else begin if(c=47)then begin
+areadelimiter:=poolptr;extdelimiter:=0;
+end else if(c=46)and(extdelimiter=0)then extdelimiter:=poolptr;
+begin if poolptr+1>poolsize then begin writeln(' ','Too many strings!');
+jumpout;end;end;begin strpool[poolptr]:=c;poolptr:=poolptr+1;end;
+morename:=true;end;end;{:90}{91:}procedure endname;
+begin if strptr+3>maxstrings then begin writeln(' ','Too many strings!')
+;jumpout;end;
+if areadelimiter=0 then curarea:=0 else begin curarea:=strptr;
+strptr:=strptr+1;strstart[strptr]:=areadelimiter+1;end;
+if extdelimiter=0 then begin curext:=0;curname:=makestring;
+end else begin curname:=strptr;strptr:=strptr+1;
+strstart[strptr]:=extdelimiter;curext:=makestring;end;end;{:91}{92:}
+procedure packfilename(n,a,e:strnumber);var k:integer;c:ASCIIcode;
+j:integer;namelength:0..filenamesize;begin k:=0;
+for j:=strstart[a]to strstart[a+1]-1 do begin c:=strpool[j];k:=k+1;
+if k<=filenamesize then nameoffile[k]:=xchr[c];end;
+for j:=strstart[n]to strstart[n+1]-1 do begin c:=strpool[j];k:=k+1;
+if k<=filenamesize then nameoffile[k]:=xchr[c];end;
+for j:=strstart[e]to strstart[e+1]-1 do begin c:=strpool[j];k:=k+1;
+if k<=filenamesize then nameoffile[k]:=xchr[c];end;
+if k<filenamesize then namelength:=k else namelength:=filenamesize-1;
+for k:=namelength+1 to filenamesize do nameoffile[k]:=chr(0);end;{:92}
+{94:}procedure startgf;label 30;var argbuffer:UNIXfilename;
+argbufptr:1..filenamesize;
+begin if(argc>2)then begin writeln(' ','Usage: gftodvi [GF-file]');
+jumpout;end;if argc=1 then begin begin writeln;write('GF file name: ');
+end;inputln;end else begin argv(1,argbuffer);argbufptr:=1;linelength:=0;
+while(argbufptr<filenamesize)and(linelength<terminallinelength)and(
+argbuffer[argbufptr]<>chr(0))do begin buffer[linelength]:=xord[argbuffer
+[argbufptr]];linelength:=linelength+1;argbufptr:=argbufptr+1;end;end;
+bufptr:=0;buffer[linelength]:=63;
+while buffer[bufptr]=32 do bufptr:=bufptr+1;
+if bufptr<linelength then begin{95:}
+if buffer[linelength-1]=47 then begin interaction:=true;
+linelength:=linelength-1;end;beginname;
+while true do begin if bufptr=linelength then goto 30;
+if not morename(buffer[bufptr])then goto 30;bufptr:=bufptr+1;end;
+30:endname{:95};if curext=0 then curext:=19;
+packfilename(curname,curarea,curext);opengffile;end;jobname:=curname;
+packfilename(jobname,0,20);opendvifile;end;{:94}{107:}
+procedure writedvi(a,b:dviindex);var k:dviindex;
+begin for k:=a to b do write(dvifile,dvibuf[k]);end;{:107}{108:}
+procedure dviswap;
+begin if dvilimit=dvibufsize then begin writedvi(0,halfbuf-1);
+dvilimit:=halfbuf;dvioffset:=dvioffset+dvibufsize;dviptr:=0;
+end else begin writedvi(halfbuf,dvibufsize-1);dvilimit:=dvibufsize;end;
+end;{:108}{110:}procedure dvifour(x:integer);
+begin if x>=0 then begin dvibuf[dviptr]:=x div 16777216;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;
+end else begin x:=x+1073741824;x:=x+1073741824;
+begin dvibuf[dviptr]:=(x div 16777216)+128;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;end;x:=x mod 16777216;
+begin dvibuf[dviptr]:=x div 65536;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;x:=x mod 65536;
+begin dvibuf[dviptr]:=x div 256;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;begin dvibuf[dviptr]:=x mod 256;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;end;{:110}{111:}
+procedure dvifontdef(f:internalfontnumber);var k:integer;
+begin begin dvibuf[dviptr]:=243;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;begin dvibuf[dviptr]:=f;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;
+begin dvibuf[dviptr]:=fontcheck[f].b0-0;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;
+begin dvibuf[dviptr]:=fontcheck[f].b1-0;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;
+begin dvibuf[dviptr]:=fontcheck[f].b2-0;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;
+begin dvibuf[dviptr]:=fontcheck[f].b3-0;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;dvifour(fontsize[f]);
+dvifour(fontdsize[f]);
+begin dvibuf[dviptr]:=(strstart[fontarea[f]+1]-strstart[fontarea[f]]);
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;
+begin dvibuf[dviptr]:=(strstart[fontname[f]+1]-strstart[fontname[f]]);
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;{112:}
+for k:=strstart[fontarea[f]]to strstart[fontarea[f]+1]-1 do begin dvibuf
+[dviptr]:=strpool[k];dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;
+end;
+for k:=strstart[fontname[f]]to strstart[fontname[f]+1]-1 do begin dvibuf
+[dviptr]:=strpool[k];dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;
+end{:112};end;{98:}procedure loadfonts;label 30,22,40,45;
+var f:internalfontnumber;i:fourquarters;j,k,v:integer;m:1..8;n1:0..13;
+n2:poolpointer;begin if interaction then{99:}
+while true do begin 45:begin writeln;
+write('Special font substitution: ');end;22:inputln;
+if linelength=0 then goto 30;{100:}bufptr:=0;buffer[linelength]:=32;
+while buffer[bufptr]<>32 do bufptr:=bufptr+1;
+for m:=1 to 8 do if(strstart[m+1]-strstart[m])=bufptr then begin n1:=0;
+n2:=strstart[m];
+while(n1<bufptr)and(buffer[n1]=strpool[n2])do begin n1:=n1+1;n2:=n2+1;
+end;if n1=bufptr then goto 40;end{:100};
+write('Please say, e.g., "grayfont foo" or "slantfontarea baz".');
+goto 45;40:{101:}bufptr:=bufptr+1;
+begin if poolptr+linelength-bufptr>poolsize then begin writeln(' ',
+'Too many strings!');jumpout;end;end;
+while bufptr<linelength do begin begin strpool[poolptr]:=buffer[bufptr];
+poolptr:=poolptr+1;end;bufptr:=bufptr+1;end;
+if m>4 then fontarea[m-4]:=makestring else begin fontname[m]:=makestring
+;fontarea[m]:=0;fontat[m]:=0;end;initstrptr:=strptr{:101};
+write('OK; any more? ');goto 22;end;30:{:99};fontsnotloaded:=false;
+for f:=1 to 5 do if(f<>4)or((strstart[fontname[f]+1]-strstart[fontname[f
+]])>0)then begin if(strstart[fontarea[f]+1]-strstart[fontarea[f]])=0
+then fontarea[f]:=34;packfilename(fontname[f],fontarea[f],21);
+opentfmfile;readfontinfo(f,fontat[f]);
+if fontarea[f]=34 then fontarea[f]:=0;dvifontdef(f);end;{137:}
+if(strstart[fontname[4]+1]-strstart[fontname[4]])=0 then ruleslant:=0.0
+else begin ruleslant:=fontinfo[1+parambase[4]].sc/65536;
+slantn:=fontec[4];i:=fontinfo[charbase[4]+slantn].qqqq;
+slantunit:=fontinfo[heightbase[4]+(i.b1-0)div 16].sc/slantn;end;
+slantreported:=0.0;{:137}{169:}i:=fontinfo[charbase[3]+1].qqqq;
+if not(i.b0>0)then begin writeln(' ','Missing pixel char!');jumpout;end;
+unscxratio:=fontinfo[widthbase[3]+i.b0].sc;xratio:=unscxratio/65536;
+unscyratio:=fontinfo[heightbase[3]+(i.b1-0)div 16].sc;
+yratio:=unscyratio/65536;
+unscslantratio:=fontinfo[1+parambase[3]].sc*yratio;
+slantratio:=unscslantratio/65536;
+if xratio*yratio=0 then begin writeln(' ','Vanishing pixel size!');
+jumpout;end;fudgefactor:=(slantratio/xratio)/yratio;{:169}{175:}
+grayrulethickness:=fontinfo[8+parambase[3]].sc;
+if grayrulethickness=0 then grayrulethickness:=26214;{:175}{184:}
+i:=fontinfo[charbase[3]+0].qqqq;
+if not(i.b0>0)then begin writeln(' ','Missing dot char!');jumpout;end;
+dotwidth:=fontinfo[widthbase[3]+i.b0].sc;
+dotheight:=fontinfo[heightbase[3]+(i.b1-0)div 16].sc;
+delta:=fontinfo[2+parambase[2]].sc div 2;
+thricexheight:=3*fontinfo[5+parambase[2]].sc;
+halfxheight:=thricexheight div 6;{:184}{205:}
+for k:=0 to 4095 do b[k]:=0;
+for k:=fontbc[3]to fontec[3]do if k>=1 then if k<=120 then if(fontinfo[
+charbase[3]+k].qqqq.b0>0)then begin v:=c[k];repeat b[v]:=k;v:=v+d[k];
+until v>4095;end;{:205}{206:}for j:=0 to 11 do begin k:=twotothe[j];
+v:=k;repeat rho[v]:=k;v:=v+k+k;until v>4095;end;rho[0]:=4096;{:206};end;
+{:98}{:111}{113:}procedure typeset(c:eightbits);
+begin if c>=128 then begin dvibuf[dviptr]:=128;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;begin dvibuf[dviptr]:=c;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;end;{:113}{114:}
+procedure dviscaled(x:real);var n:integer;m:integer;k:integer;
+begin n:=round(x/6553.6);if n<0 then begin begin dvibuf[dviptr]:=45;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;n:=-n;end;
+m:=n div 10;k:=0;repeat k:=k+1;buffer[k]:=(m mod 10)+48;m:=m div 10;
+until m=0;repeat begin dvibuf[dviptr]:=buffer[k];dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;k:=k-1;until k=0;
+if n mod 10<>0 then begin begin dvibuf[dviptr]:=46;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;begin dvibuf[dviptr]:=(n mod 10)+48;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;end;end;{:114}
+{116:}procedure hbox(s:strnumber;f:internalfontnumber;sendit:boolean);
+label 22,30;var k,endk,maxk:poolpointer;i,j:fourquarters;curl:0..256;
+curr:0..256;bchar:0..256;stackptr:0..liglookahead;l:fontindex;
+kernamount:scaled;hd:eightbits;x:scaled;savec:ASCIIcode;
+begin boxwidth:=0;boxheight:=0;boxdepth:=0;k:=strstart[s];
+maxk:=strstart[s+1];savec:=strpool[maxk];strpool[maxk]:=32;
+while k<maxk do begin if strpool[k]=32 then{119:}
+begin boxwidth:=boxwidth+fontinfo[2+parambase[f]].sc;
+if sendit then begin begin dvibuf[dviptr]:=146;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;
+dvifour(fontinfo[2+parambase[f]].sc);end;k:=k+1;end{:119}
+else begin endk:=k;repeat endk:=endk+1;until strpool[endk]=32;
+kernamount:=0;curl:=256;stackptr:=0;bchar:=fontbchar[f];
+if k<endk then curr:=strpool[k]+0 else curr:=bchar;suppresslig:=false;
+22:{120:}if(curl<fontbc[f])or(curl>fontec[f])then begin i:=dummyinfo;
+if curl=256 then l:=bcharlabel[f]else l:=fontmemsize;
+end else begin i:=fontinfo[charbase[f]+curl].qqqq;
+if((i.b2-0)mod 4)<>1 then l:=fontmemsize else begin l:=ligkernbase[f]+i.
+b3;j:=fontinfo[l].qqqq;
+if j.b0-0>128 then l:=ligkernbase[f]+256*(j.b2-0)+j.b3;end;end;
+if suppresslig then suppresslig:=false else while l<kernbase[f]+0 do
+begin j:=fontinfo[l].qqqq;
+if j.b1=curr then if j.b0-0<=128 then if j.b2-0>=128 then begin
+kernamount:=fontinfo[kernbase[f]+256*(j.b2-128)+j.b3].sc;goto 30;
+end else{122:}begin case j.b2-0 of 1,5:curl:=j.b3-0;
+2,6:begin curr:=j.b3;if stackptr=0 then begin stackptr:=1;
+if k<endk then k:=k+1 else bchar:=256;end;ligstack[stackptr]:=curr;end;
+3,7,11:begin curr:=j.b3;stackptr:=stackptr+1;ligstack[stackptr]:=curr;
+if j.b2-0=11 then suppresslig:=true;end;otherwise begin curl:=j.b3-0;
+if stackptr>0 then begin stackptr:=stackptr-1;
+if stackptr>0 then curr:=ligstack[stackptr]else if k<endk then curr:=
+strpool[k]+0 else curr:=bchar;
+end else if k=endk then goto 30 else begin k:=k+1;
+if k<endk then curr:=strpool[k]+0 else curr:=bchar;end;end end;
+if j.b2-0>3 then goto 30;goto 22;end{:122};if j.b0-0>=128 then goto 30;
+l:=l+j.b0+1;end;30:{:120};{121:}
+if(i.b0>0)then begin boxwidth:=boxwidth+fontinfo[widthbase[f]+i.b0].sc+
+kernamount;hd:=i.b1-0;x:=fontinfo[heightbase[f]+(hd)div 16].sc;
+if x>boxheight then boxheight:=x;x:=fontinfo[depthbase[f]+hd mod 16].sc;
+if x>boxdepth then boxdepth:=x;if sendit then begin typeset(curl);
+if kernamount<>0 then begin begin dvibuf[dviptr]:=146;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;dvifour(kernamount);end;end;
+kernamount:=0;end{:121};{123:}curl:=curr-0;
+if stackptr>0 then begin begin stackptr:=stackptr-1;
+if stackptr>0 then curr:=ligstack[stackptr]else if k<endk then curr:=
+strpool[k]+0 else curr:=bchar;end;goto 22;end;
+if k<endk then begin k:=k+1;
+if k<endk then curr:=strpool[k]+0 else curr:=bchar;goto 22;end{:123};
+end;end;strpool[maxk]:=savec;end;{:116}{138:}
+procedure slantcomplaint(r:real);
+begin if abs(r-slantreported)>0.001 then begin begin writeln;
+write('Sorry, I can''t make diagonal rules of slant ',r:10:5,'!');end;
+slantreported:=r;end;end;{:138}{141:}function getavail:nodepointer;
+begin maxnode:=maxnode+1;if maxnode=maxlabels then begin writeln(' ',
+'Too many labels and/or rules!');jumpout;end;getavail:=maxnode;end;
+{:141}{143:}procedure nodeins(p,q:nodepointer);var r:nodepointer;
+begin if yy[p]>=yy[q]then begin repeat r:=q;q:=next[q];
+until yy[p]<=yy[q];next[r]:=p;prev[p]:=r;next[p]:=q;prev[q]:=p;
+end else begin repeat r:=q;q:=prev[q];until yy[p]>=yy[q];prev[r]:=p;
+next[p]:=r;prev[p]:=q;next[q]:=p;end;
+if yy[p]-yt[p]>maxheight then maxheight:=yy[p]-yt[p];
+if yb[p]-yy[p]>maxdepth then maxdepth:=yb[p]-yy[p];end;{:143}{145:}
+function overlap(p,q:nodepointer):boolean;label 10;var ythresh:scaled;
+xleft,xright,ytop,ybot:scaled;r:nodepointer;begin xleft:=xl[p];
+xright:=xr[p];ytop:=yt[p];ybot:=yb[p];{146:}ythresh:=ybot+maxheight;
+r:=next[q];
+while yy[r]<ythresh do begin if ybot>yt[r]then if xleft<xr[r]then if
+xright>xl[r]then if ytop<yb[r]then begin overlap:=true;goto 10;end;
+r:=next[r];end{:146};{147:}ythresh:=ytop-maxdepth;r:=q;
+while yy[r]>ythresh do begin if ybot>yt[r]then if xleft<xr[r]then if
+xright>xl[r]then if ytop<yb[r]then begin overlap:=true;goto 10;end;
+r:=prev[r];end{:147};overlap:=false;10:end;{:145}{150:}
+function nearestdot(p:nodepointer;d0:scaled):nodepointer;
+var bestq:nodepointer;dmin,d:scaled;begin twin:=false;bestq:=0;
+dmin:=268435456;{151:}q:=next[p];
+while yy[q]<yy[p]+dmin do begin d:=abs(xx[q]-xx[p]);
+if d<yy[q]-yy[p]then d:=yy[q]-yy[p];
+if d<d0 then twin:=true else if d<dmin then begin dmin:=d;bestq:=q;end;
+q:=next[q];end{:151};{152:}q:=prev[p];
+while yy[q]>yy[p]-dmin do begin d:=abs(xx[q]-xx[p]);
+if d<yy[p]-yy[q]then d:=yy[p]-yy[q];
+if d<d0 then twin:=true else if d<dmin then begin dmin:=d;bestq:=q;end;
+q:=prev[q];end{:152};nearestdot:=bestq;end;{:150}{167:}
+procedure convert(x,y:scaled);begin x:=x+xoffset;y:=y+yoffset;
+dviy:=-round(yratio*y)+deltay;dvix:=round(xratio*x+slantratio*y)+deltax;
+end;{:167}{171:}procedure dvigoto(x,y:scaled);
+begin begin dvibuf[dviptr]:=141;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;
+if x<>0 then begin begin dvibuf[dviptr]:=146;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;dvifour(x);end;
+if y<>0 then begin begin dvibuf[dviptr]:=160;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;dvifour(y);end;end;{:171}{185:}
+procedure topcoords(p:nodepointer);begin xx[p]:=dvix-(boxwidth div 2);
+xl[p]:=xx[p]-delta;xr[p]:=xx[p]+boxwidth+delta;yb[p]:=dviy-dotheight;
+yy[p]:=yb[p]-boxdepth;yt[p]:=yy[p]-boxheight-delta;end;{:185}{186:}
+procedure botcoords(p:nodepointer);begin xx[p]:=dvix-(boxwidth div 2);
+xl[p]:=xx[p]-delta;xr[p]:=xx[p]+boxwidth+delta;yt[p]:=dviy+dotheight;
+yy[p]:=yt[p]+boxheight;yb[p]:=yy[p]+boxdepth+delta;end;
+procedure rightcoords(p:nodepointer);begin xl[p]:=dvix+dotwidth;
+xx[p]:=xl[p];xr[p]:=xx[p]+boxwidth+delta;yy[p]:=dviy+halfxheight;
+yb[p]:=yy[p]+boxdepth+delta;yt[p]:=yy[p]-boxheight-delta;end;
+procedure leftcoords(p:nodepointer);begin xr[p]:=dvix-dotwidth;
+xx[p]:=xr[p]-boxwidth;xl[p]:=xx[p]-delta;yy[p]:=dviy+halfxheight;
+yb[p]:=yy[p]+boxdepth+delta;yt[p]:=yy[p]-boxheight-delta;end;{:186}
+{194:}function placelabel(p:nodepointer):boolean;label 10,40;
+var oct:0..15;dfl:nodepointer;begin hbox(info[p],2,false);dvix:=xx[p];
+dviy:=yy[p];{195:}dfl:=xl[p];oct:=xr[p];{196:}
+case oct of 0,4,9,13:leftcoords(p);1,2,8,11:botcoords(p);
+3,7,10,14:rightcoords(p);6,5,15,12:topcoords(p);end;
+if not overlap(p,dfl)then goto 40{:196};{197:}
+case oct of 0,3,15,12:botcoords(p);1,5,10,14:leftcoords(p);
+2,6,9,13:rightcoords(p);7,4,8,11:topcoords(p);end;
+if not overlap(p,dfl)then goto 40{:197};{198:}
+case oct of 0,3,14,13:topcoords(p);1,5,11,15:rightcoords(p);
+2,6,8,12:leftcoords(p);7,4,9,10:botcoords(p);end;
+if not overlap(p,dfl)then goto 40{:198};{199:}
+case oct of 0,4,8,12:rightcoords(p);1,2,9,10:topcoords(p);
+3,7,11,15:leftcoords(p);6,5,14,13:botcoords(p);end;
+if not overlap(p,dfl)then goto 40{:199};xx[p]:=dvix;yy[p]:=dviy;
+xl[p]:=dfl;placelabel:=false;goto 10{:195};40:nodeins(p,dfl);
+dvigoto(xx[p],yy[p]);hbox(info[p],2,true);begin dvibuf[dviptr]:=142;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;placelabel:=true;
+10:end;{:194}{218:}procedure dopixels;label 30,31,21,22,10;
+var paintblack:boolean;startingcol,finishingcol:0..widestrow;
+j:0..widestrow;l:integer;i:fourquarters;v:eightbits;
+begin begin dvibuf[dviptr]:=174;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;
+deltax:=deltax+round(unscxratio*minx);for j:=0 to maxx-minx do a[j]:=0;
+l:=1;z:=0;startingcol:=0;finishingcol:=0;y:=maxy+12;paintblack:=false;
+blankrows:=0;curgf:=getbyte;while true do begin{213:}repeat{214:}
+if blankrows>0 then blankrows:=blankrows-1 else if curgf<>69 then begin
+x:=z;if startingcol>x then startingcol:=x;{215:}
+while true do begin 22:case curgf of 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,
+15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,
+39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,
+63:k:=curgf;64:k:=getbyte;65:k:=gettwobytes;66:k:=getthreebytes;
+69:goto 31;70:begin blankrows:=0;z:=0;paintblack:=false;curgf:=getbyte;
+goto 31;end;71:begin blankrows:=getbyte;z:=0;paintblack:=false;
+curgf:=getbyte;goto 31;end;72:begin blankrows:=gettwobytes;z:=0;
+paintblack:=false;curgf:=getbyte;goto 31;end;
+73:begin blankrows:=getthreebytes;z:=0;paintblack:=false;curgf:=getbyte;
+goto 31;end;
+74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,
+98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,
+116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,
+134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,
+152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,
+170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,
+188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,
+206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
+224,225,226,227,228,229,230,231,232,233,234,235,236,237,238:begin z:=
+curgf-74;paintblack:=true;curgf:=getbyte;goto 31;end;
+239,240,241,242,243,244:begin skipnop;goto 22;end;
+otherwise begin writeln(' ','Bad GF file: ','Improper opcode',
+'! (at byte ',curloc-1:1,')');jumpout;end end;{216:}
+if x+k>finishingcol then finishingcol:=x+k;
+if paintblack then for j:=x to x+k-1 do a[j]:=a[j]+l;
+paintblack:=not paintblack;x:=x+k;curgf:=getbyte{:216};end;31:{:215};
+end;{:214};l:=l+l;y:=y-1;until l=4096;{:213};
+dvigoto(0,deltay-round(unscyratio*y));{208:}j:=startingcol;
+while true do begin while(j<=finishingcol)and(b[a[j]]=0)do j:=j+1;
+if j>finishingcol then goto 30;begin dvibuf[dviptr]:=141;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;{209:}
+begin dvibuf[dviptr]:=146;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;
+dvifour(round(unscxratio*j+unscslantratio*y)+deltax){:209};
+repeat v:=b[a[j]];a[j]:=a[j]-c[v];k:=j;j:=j+1;
+while b[a[j]]=v do begin a[j]:=a[j]-c[v];j:=j+1;end;k:=j-k;{210:}
+21:if k=1 then typeset(v)else begin i:=fontinfo[charbase[3]+v].qqqq;
+if((i.b2-0)mod 4)=2 then begin if odd(k)then typeset(v);k:=k div 2;
+v:=i.b3-0;goto 21;end else repeat typeset(v);k:=k-1;until k=0;end{:210};
+until b[a[j]]=0;begin dvibuf[dviptr]:=142;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;end;30:{:208};
+begin dvibuf[dviptr]:=142;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;{217:}l:=rho[a[startingcol]];
+for j:=startingcol+1 to finishingcol do if l>rho[a[j]]then l:=rho[a[j]];
+if l=4096 then if curgf=69 then goto 10 else begin y:=y-blankrows;
+blankrows:=0;l:=1;startingcol:=z;finishingcol:=z;
+end else begin while a[startingcol]=0 do startingcol:=startingcol+1;
+while a[finishingcol]=0 do finishingcol:=finishingcol-1;
+for j:=startingcol to finishingcol do a[j]:=a[j]div l;l:=4096 div l;
+end{:217};end;10:end;{:218}{219:}begin initialize;{77:}strptr:=0;
+poolptr:=0;strstart[0]:=0;l:=0;firststring(0);l:=9;buffer[9]:=116;
+buffer[8]:=105;buffer[7]:=116;buffer[6]:=108;buffer[5]:=101;
+buffer[4]:=102;buffer[3]:=111;buffer[2]:=110;buffer[1]:=116;
+firststring(1);l:=9;buffer[9]:=108;buffer[8]:=97;buffer[7]:=98;
+buffer[6]:=101;buffer[5]:=108;buffer[4]:=102;buffer[3]:=111;
+buffer[2]:=110;buffer[1]:=116;firststring(2);l:=8;buffer[8]:=103;
+buffer[7]:=114;buffer[6]:=97;buffer[5]:=121;buffer[4]:=102;
+buffer[3]:=111;buffer[2]:=110;buffer[1]:=116;firststring(3);l:=9;
+buffer[9]:=115;buffer[8]:=108;buffer[7]:=97;buffer[6]:=110;
+buffer[5]:=116;buffer[4]:=102;buffer[3]:=111;buffer[2]:=110;
+buffer[1]:=116;firststring(4);l:=13;buffer[13]:=116;buffer[12]:=105;
+buffer[11]:=116;buffer[10]:=108;buffer[9]:=101;buffer[8]:=102;
+buffer[7]:=111;buffer[6]:=110;buffer[5]:=116;buffer[4]:=97;
+buffer[3]:=114;buffer[2]:=101;buffer[1]:=97;firststring(5);l:=13;
+buffer[13]:=108;buffer[12]:=97;buffer[11]:=98;buffer[10]:=101;
+buffer[9]:=108;buffer[8]:=102;buffer[7]:=111;buffer[6]:=110;
+buffer[5]:=116;buffer[4]:=97;buffer[3]:=114;buffer[2]:=101;
+buffer[1]:=97;firststring(6);l:=12;buffer[12]:=103;buffer[11]:=114;
+buffer[10]:=97;buffer[9]:=121;buffer[8]:=102;buffer[7]:=111;
+buffer[6]:=110;buffer[5]:=116;buffer[4]:=97;buffer[3]:=114;
+buffer[2]:=101;buffer[1]:=97;firststring(7);l:=13;buffer[13]:=115;
+buffer[12]:=108;buffer[11]:=97;buffer[10]:=110;buffer[9]:=116;
+buffer[8]:=102;buffer[7]:=111;buffer[6]:=110;buffer[5]:=116;
+buffer[4]:=97;buffer[3]:=114;buffer[2]:=101;buffer[1]:=97;
+firststring(8);l:=11;buffer[11]:=116;buffer[10]:=105;buffer[9]:=116;
+buffer[8]:=108;buffer[7]:=101;buffer[6]:=102;buffer[5]:=111;
+buffer[4]:=110;buffer[3]:=116;buffer[2]:=97;buffer[1]:=116;
+firststring(9);l:=11;buffer[11]:=108;buffer[10]:=97;buffer[9]:=98;
+buffer[8]:=101;buffer[7]:=108;buffer[6]:=102;buffer[5]:=111;
+buffer[4]:=110;buffer[3]:=116;buffer[2]:=97;buffer[1]:=116;
+firststring(10);l:=10;buffer[10]:=103;buffer[9]:=114;buffer[8]:=97;
+buffer[7]:=121;buffer[6]:=102;buffer[5]:=111;buffer[4]:=110;
+buffer[3]:=116;buffer[2]:=97;buffer[1]:=116;firststring(11);l:=11;
+buffer[11]:=115;buffer[10]:=108;buffer[9]:=97;buffer[8]:=110;
+buffer[7]:=116;buffer[6]:=102;buffer[5]:=111;buffer[4]:=110;
+buffer[3]:=116;buffer[2]:=97;buffer[1]:=116;firststring(12);l:=4;
+buffer[4]:=114;buffer[3]:=117;buffer[2]:=108;buffer[1]:=101;
+firststring(13);l:=5;buffer[5]:=116;buffer[4]:=105;buffer[3]:=116;
+buffer[2]:=108;buffer[1]:=101;firststring(14);l:=13;buffer[13]:=114;
+buffer[12]:=117;buffer[11]:=108;buffer[10]:=101;buffer[9]:=116;
+buffer[8]:=104;buffer[7]:=105;buffer[6]:=99;buffer[5]:=107;
+buffer[4]:=110;buffer[3]:=101;buffer[2]:=115;buffer[1]:=115;
+firststring(15);l:=6;buffer[6]:=111;buffer[5]:=102;buffer[4]:=102;
+buffer[3]:=115;buffer[2]:=101;buffer[1]:=116;firststring(16);l:=7;
+buffer[7]:=120;buffer[6]:=111;buffer[5]:=102;buffer[4]:=102;
+buffer[3]:=115;buffer[2]:=101;buffer[1]:=116;firststring(17);l:=7;
+buffer[7]:=121;buffer[6]:=111;buffer[5]:=102;buffer[4]:=102;
+buffer[3]:=115;buffer[2]:=101;buffer[1]:=116;firststring(18);{:77}{78:}
+l:=7;buffer[7]:=46;buffer[6]:=50;buffer[5]:=54;buffer[4]:=48;
+buffer[3]:=50;buffer[2]:=103;buffer[1]:=102;firststring(19);l:=4;
+buffer[4]:=46;buffer[3]:=100;buffer[2]:=118;buffer[1]:=105;
+firststring(20);l:=4;buffer[4]:=46;buffer[3]:=116;buffer[2]:=102;
+buffer[1]:=109;firststring(21);l:=7;buffer[7]:=32;buffer[6]:=32;
+buffer[5]:=80;buffer[4]:=97;buffer[3]:=103;buffer[2]:=101;buffer[1]:=32;
+firststring(22);l:=12;buffer[12]:=32;buffer[11]:=32;buffer[10]:=67;
+buffer[9]:=104;buffer[8]:=97;buffer[7]:=114;buffer[6]:=97;buffer[5]:=99;
+buffer[4]:=116;buffer[3]:=101;buffer[2]:=114;buffer[1]:=32;
+firststring(23);l:=6;buffer[6]:=32;buffer[5]:=32;buffer[4]:=69;
+buffer[3]:=120;buffer[2]:=116;buffer[1]:=32;firststring(24);l:=4;
+buffer[4]:=32;buffer[3]:=32;buffer[2]:=96;buffer[1]:=96;firststring(25);
+l:=2;buffer[2]:=39;buffer[1]:=39;firststring(26);l:=3;buffer[3]:=32;
+buffer[2]:=61;buffer[1]:=32;firststring(27);l:=4;buffer[4]:=32;
+buffer[3]:=43;buffer[2]:=32;buffer[1]:=40;firststring(28);l:=4;
+buffer[4]:=99;buffer[3]:=109;buffer[2]:=114;buffer[1]:=56;
+firststring(29);l:=6;buffer[6]:=99;buffer[5]:=109;buffer[4]:=116;
+buffer[3]:=116;buffer[2]:=49;buffer[1]:=48;firststring(30);l:=4;
+buffer[4]:=103;buffer[3]:=114;buffer[2]:=97;buffer[1]:=121;
+firststring(31);l:=5;buffer[5]:=108;buffer[4]:=111;buffer[3]:=103;
+buffer[2]:=111;buffer[1]:=56;firststring(32);l:=8;buffer[8]:=77;
+buffer[7]:=69;buffer[6]:=84;buffer[5]:=65;buffer[4]:=70;buffer[3]:=79;
+buffer[2]:=78;buffer[1]:=84;firststring(33);{:78}{88:}l:=0;
+firststring(34);{:88};setpaths;startgf;{221:}
+if getbyte<>247 then begin writeln(' ','Bad GF file: ','No preamble',
+'! (at byte ',curloc-1:1,')');jumpout;end;
+if getbyte<>131 then begin writeln(' ','Bad GF file: ','Wrong ID',
+'! (at byte ',curloc-1:1,')');jumpout;end;k:=getbyte;
+for m:=1 to k do begin strpool[poolptr]:=getbyte;poolptr:=poolptr+1;end;
+begin dvibuf[dviptr]:=247;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;begin dvibuf[dviptr]:=2;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;dvifour(25400000);
+dvifour(473628672);dvifour(1000);begin dvibuf[dviptr]:=k;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;uselogo:=false;
+s:=strstart[strptr];
+for m:=1 to k do begin dvibuf[dviptr]:=strpool[s+m-1];dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;
+if strpool[s]=32 then if strpool[s+1]=77 then if strpool[s+2]=69 then if
+strpool[s+3]=84 then if strpool[s+4]=65 then if strpool[s+5]=70 then if
+strpool[s+6]=79 then if strpool[s+7]=78 then if strpool[s+8]=84 then
+begin strptr:=strptr+1;strstart[strptr]:=s+9;uselogo:=true;end;
+timestamp:=makestring{:221};curgf:=getbyte;initstrptr:=strptr;
+while true do begin{144:}maxnode:=0;next[0]:=maxlabels;
+prev[maxlabels]:=0;maxheight:=0;maxdepth:=0;{:144}{156:}
+rulethickness:=0;offsetx:=0;offsety:=0;xoffset:=0;yoffset:=0;
+preminx:=268435456;premaxx:=-268435456;preminy:=268435456;
+premaxy:=-268435456;{:156}{161:}ruleptr:=0;titlehead:=0;titletail:=0;
+next[maxlabels]:=0;labeltail:=maxlabels;firstdot:=maxlabels;{:161};
+while(curgf>=239)and(curgf<=244)do{154:}begin k:=interpretxxx;
+case k of 19:;
+1,2,3,4:if fontsnotloaded then begin fontname[k]:=curstring;
+fontarea[k]:=0;fontat[k]:=0;initstrptr:=strptr;end else begin writeln;
+write('(Tardy font change will be ignored (byte ',curloc:1,')!)');end;
+5,6,7,8:if fontsnotloaded then begin fontarea[k-4]:=curstring;
+initstrptr:=strptr;end else begin writeln;
+write('(Tardy font change will be ignored (byte ',curloc:1,')!)');end;
+9,10,11,12:if fontsnotloaded then begin fontat[k-8]:=getyyy;
+initstrptr:=strptr;end else begin writeln;
+write('(Tardy font change will be ignored (byte ',curloc:1,')!)');end;
+15:rulethickness:=getyyy;13:{159:}begin p:=getavail;next[p]:=ruleptr;
+ruleptr:=p;xl[p]:=getyyy;yt[p]:=getyyy;xr[p]:=getyyy;yb[p]:=getyyy;
+if xl[p]<preminx then preminx:=xl[p];
+if xl[p]>premaxx then premaxx:=xl[p];
+if yt[p]<preminy then preminy:=yt[p];
+if yt[p]>premaxy then premaxy:=yt[p];
+if xr[p]<preminx then preminx:=xr[p];
+if xr[p]>premaxx then premaxx:=xr[p];
+if yb[p]<preminy then preminy:=yb[p];
+if yb[p]>premaxy then premaxy:=yb[p];xx[p]:=rulethickness;end{:159};
+16:{157:}begin offsetx:=getyyy;offsety:=getyyy;end{:157};
+17:xoffset:=getyyy;18:yoffset:=getyyy;14:{162:}begin p:=getavail;
+info[p]:=curstring;
+if titlehead=0 then titlehead:=p else next[titletail]:=p;titletail:=p;
+end{:162};0:{163:}if(labeltype<47)or(labeltype>56)then begin writeln;
+write('Bad label type precedes byte ',curloc:1,'!');
+end else begin p:=getavail;next[labeltail]:=p;labeltail:=p;
+prev[p]:=labeltype;info[p]:=curstring;xx[p]:=getyyy;yy[p]:=getyyy;
+if xx[p]<preminx then preminx:=xx[p];
+if xx[p]>premaxx then premaxx:=xx[p];
+if yy[p]<preminy then preminy:=yy[p];
+if yy[p]>premaxy then premaxy:=yy[p];end{:163};end;end{:154};
+if curgf=248 then{115:}begin begin dvibuf[dviptr]:=248;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;dvifour(lastbop);
+lastbop:=dvioffset+dviptr-5;dvifour(25400000);dvifour(473628672);
+dvifour(1000);dvifour(maxv);dvifour(maxh);begin dvibuf[dviptr]:=0;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;
+begin dvibuf[dviptr]:=3;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;
+begin dvibuf[dviptr]:=totalpages div 256;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;
+begin dvibuf[dviptr]:=totalpages mod 256;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;
+if not fontsnotloaded then for k:=1 to 5 do if(strstart[fontname[k]+1]-
+strstart[fontname[k]])>0 then dvifontdef(k);begin dvibuf[dviptr]:=249;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;dvifour(lastbop);
+begin dvibuf[dviptr]:=2;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;k:=4+((dvibufsize-dviptr)mod 4);
+while k>0 do begin begin dvibuf[dviptr]:=223;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;k:=k-1;end;{109:}
+if dvilimit=halfbuf then writedvi(halfbuf,dvibufsize-1);
+if dviptr>0 then writedvi(0,dviptr-1){:109};goto 9999;end{:115};
+if curgf<>67 then if curgf<>68 then begin writeln(' ','Missing boc!');
+jumpout;end;{164:}begin if fontsnotloaded then loadfonts;{165:}
+if curgf=67 then begin ext:=signedquad;charcode:=ext mod 256;
+if charcode<0 then charcode:=charcode+256;ext:=(ext-charcode)div 256;
+k:=signedquad;minx:=signedquad;maxx:=signedquad;miny:=signedquad;
+maxy:=signedquad;end else begin ext:=0;charcode:=getbyte;minx:=getbyte;
+maxx:=getbyte;minx:=maxx-minx;miny:=getbyte;maxy:=getbyte;
+miny:=maxy-miny;end;
+if maxx-minx>widestrow then begin writeln(' ','Character too wide!');
+jumpout;end{:165};{170:}
+if preminx<minx*65536 then offsetx:=offsetx+minx*65536-preminx;
+if premaxy>maxy*65536 then offsety:=offsety+maxy*65536-premaxy;
+if premaxx>maxx*65536 then premaxx:=premaxx div 65536 else premaxx:=maxx
+;
+if preminy<miny*65536 then preminy:=preminy div 65536 else preminy:=miny
+;deltay:=round(unscyratio*(maxy+1)-yratio*offsety)+3276800;
+deltax:=round(xratio*offsetx-unscxratio*minx);
+if slantratio>=0 then overcol:=round(unscxratio*premaxx+unscslantratio*
+maxy)else overcol:=round(unscxratio*premaxx+unscslantratio*miny);
+overcol:=overcol+deltax+10000000;
+pageheight:=round(unscyratio*(maxy+1-preminy))+3276800-offsety;
+if pageheight>maxv then maxv:=pageheight;
+pagewidth:=overcol-10000000{:170};{172:}begin dvibuf[dviptr]:=139;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;
+totalpages:=totalpages+1;dvifour(totalpages);dvifour(charcode);
+dvifour(ext);for k:=3 to 9 do dvifour(0);dvifour(lastbop);
+lastbop:=dvioffset+dviptr-45;dvigoto(0,655360);
+if uselogo then begin begin dvibuf[dviptr]:=176;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;hbox(33,5,true);end;
+begin dvibuf[dviptr]:=172;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;hbox(timestamp,1,true);
+hbox(22,1,true);dviscaled(totalpages*65536.0);
+if(charcode<>0)or(ext<>0)then begin hbox(23,1,true);
+dviscaled(charcode*65536.0);if ext<>0 then begin hbox(24,1,true);
+dviscaled(ext*65536.0);end;end;
+if titlehead<>0 then begin next[titletail]:=0;repeat hbox(25,1,true);
+hbox(info[titlehead],1,true);hbox(26,1,true);titlehead:=next[titlehead];
+until titlehead=0;end;begin dvibuf[dviptr]:=142;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end{:172};write('[',totalpages:1);
+flushstdout;{173:}if ruleslant<>0 then begin dvibuf[dviptr]:=175;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;
+while ruleptr<>0 do begin p:=ruleptr;ruleptr:=next[p];
+if xx[p]=0 then xx[p]:=grayrulethickness;
+if xx[p]>0 then begin convert(xl[p],yt[p]);tempx:=dvix;tempy:=dviy;
+convert(xr[p],yb[p]);if abs(tempx-dvix)<6554 then{176:}
+begin if tempy>dviy then begin k:=tempy;tempy:=dviy;dviy:=k;end;
+dvigoto(dvix-(xx[p]div 2),dviy);begin dvibuf[dviptr]:=137;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;
+dvifour(dviy-tempy);dvifour(xx[p]);begin dvibuf[dviptr]:=142;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;end{:176}
+else if abs(tempy-dviy)<6554 then{177:}
+begin if tempx<dvix then begin k:=tempx;tempx:=dvix;dvix:=k;end;
+dvigoto(dvix,dviy+(xx[p]div 2));begin dvibuf[dviptr]:=137;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;dvifour(xx[p]);
+dvifour(tempx-dvix);begin dvibuf[dviptr]:=142;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;end{:177}else{178:}
+if(ruleslant=0)or(abs(tempx+ruleslant*(tempy-dviy)-dvix)>xx[p])then
+slantcomplaint((dvix-tempx)/(tempy-dviy))else begin if tempy>dviy then
+begin k:=tempy;tempy:=dviy;dviy:=k;k:=tempx;tempx:=dvix;dvix:=k;end;
+m:=round((dviy-tempy)/slantunit);if m>0 then begin dvigoto(dvix,dviy);
+q:=((m-1)div slantn)+1;k:=m div q;p:=m mod q;q:=q-p;{179:}typeset(k);
+dy:=round(k*slantunit);begin dvibuf[dviptr]:=170;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;dvifour(-dy);
+while q>1 do begin typeset(k);begin dvibuf[dviptr]:=166;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;q:=q-1;end{:179};
+{180:}if p>0 then begin k:=k+1;typeset(k);dy:=round(k*slantunit);
+begin dvibuf[dviptr]:=170;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;dvifour(-dy);
+while p>1 do begin typeset(k);begin dvibuf[dviptr]:=166;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;p:=p-1;end;
+end{:180};begin dvibuf[dviptr]:=142;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;end;end{:178};end;end{:173};{181:}
+overflowline:=1;if next[maxlabels]<>0 then begin next[labeltail]:=0;
+begin dvibuf[dviptr]:=174;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;{187:}p:=next[maxlabels];
+firstdot:=maxnode+1;while p<>0 do begin convert(xx[p],yy[p]);
+xx[p]:=dvix;yy[p]:=dviy;if prev[p]<53 then{188:}begin q:=getavail;
+xl[p]:=q;info[q]:=p;xx[q]:=dvix;xl[q]:=dvix-dotwidth;
+xr[q]:=dvix+dotwidth;yy[q]:=dviy;yt[q]:=dviy-dotheight;
+yb[q]:=dviy+dotheight;nodeins(q,0);dvigoto(xx[q],yy[q]);
+begin dvibuf[dviptr]:=0;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;begin dvibuf[dviptr]:=142;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;end{:188};
+p:=next[p];end{:187};{191:}p:=next[maxlabels];
+while p<>0 do begin if prev[p]<=48 then{192:}begin r:=xl[p];
+q:=nearestdot(r,10);if twin then xr[p]:=8 else xr[p]:=0;
+if q<>0 then begin dx:=xx[q]-xx[r];dy:=yy[q]-yy[r];
+if dy>0 then xr[p]:=xr[p]+4;if dx<0 then xr[p]:=xr[p]+1;
+if dy>dx then xr[p]:=xr[p]+1;if-dy>dx then xr[p]:=xr[p]+1;end;end{:192};
+p:=next[p];end;{:191};begin dvibuf[dviptr]:=173;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;{189:}q:=maxlabels;
+while next[q]<>0 do begin p:=next[q];
+if prev[p]>48 then begin next[q]:=next[p];{190:}
+begin hbox(info[p],2,false);dvix:=xx[p];dviy:=yy[p];
+if prev[p]<53 then r:=xl[p]else r:=0;case prev[p]of 49,53:topcoords(p);
+50,54:leftcoords(p);51,55:rightcoords(p);52,56:botcoords(p);end;
+nodeins(p,r);dvigoto(xx[p],yy[p]);hbox(info[p],2,true);
+begin dvibuf[dviptr]:=142;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;end{:190};end else q:=next[q];
+end{:189};{193:}q:=maxlabels;while next[q]<>0 do begin p:=next[q];
+r:=next[p];s:=xl[p];
+if placelabel(p)then next[q]:=r else begin info[s]:=0;
+if prev[p]=47 then next[q]:=r else q:=p;end;end{:193};{200:}{201:}
+p:=next[0];while p<>maxlabels do begin q:=next[p];
+if(p<firstdot)or(info[p]=0)then begin r:=prev[p];next[r]:=q;prev[q]:=r;
+next[p]:=r;end;p:=q;end{:201};p:=next[maxlabels];
+while p<>0 do begin{202:}begin r:=next[xl[p]];s:=next[r];t:=next[p];
+next[p]:=s;prev[s]:=p;next[r]:=p;prev[p]:=r;q:=nearestdot(p,0);
+next[r]:=s;prev[s]:=r;next[p]:=t;overflowline:=overflowline+1;
+dvigoto(overcol,overflowline*thricexheight+655360);hbox(info[p],2,true);
+if q<>0 then begin hbox(27,2,true);hbox(info[info[q]],2,true);
+hbox(28,2,true);
+dviscaled((xx[p]-xx[q])/xratio+(yy[p]-yy[q])*fudgefactor);
+begin dvibuf[dviptr]:=44;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;dviscaled((yy[q]-yy[p])/yratio);
+begin dvibuf[dviptr]:=41;dviptr:=dviptr+1;
+if dviptr=dvilimit then dviswap;end;end;begin dvibuf[dviptr]:=142;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;end{:202};
+p:=next[p];end{:200};end{:181};dopixels;begin dvibuf[dviptr]:=140;
+dviptr:=dviptr+1;if dviptr=dvilimit then dviswap;end;{203:}
+if overflowline>1 then pagewidth:=overcol+10000000;
+if pagewidth>maxh then maxh:=pagewidth{:203};write(']');flushstdout;
+end{:164};curgf:=getbyte;strptr:=initstrptr;poolptr:=strstart[strptr];
+end;9999:writeln(' ');end.{:219}
diff --git a/systems/knuth/local/mfware/gray.log b/systems/knuth/local/mfware/gray.log
new file mode 100644
index 0000000000..fc88fc7835
--- /dev/null
+++ b/systems/knuth/local/mfware/gray.log
@@ -0,0 +1,26 @@
+This is METAFONT, Version 2.7182 (Web2C 7.3.1) (base=mf 1999.9.25) 30 APR 2000 22:42
+**\mode:=ljfour; mag:=1+0/600; nonstopmode; input gray
+(/usr/share/texmf/fonts/source/public/misc/gray.mf
+(/usr/share/texmf/fonts/source/public/misc/graycx.mf
+! This file is for cx only.
+<to be read again>
+ ;
+l.4 ...>cx: errmessage "This file is for cx only";
+ fi
+This error message was generated by an `errmessage'
+command, so I can't give any explicit help.
+Pretend that you're Miss Marple: Examine all clues,
+and deduce the truth by inspired guesses.
+
+(/usr/share/texmf/fonts/source/public/misc/grayf.mf [0] [1] [2] [3] [4]
+[5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]
+[21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35]
+[36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50]
+[51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65]
+[66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80]
+[81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95]
+[96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108]
+[109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
+[121] [122] ) ) )
+Font metrics written on gray.tfm.
+Output written on gray.600gf (123 characters, 13296 bytes).
diff --git a/systems/knuth/local/mfware/io.2602gf b/systems/knuth/local/mfware/io.2602gf
new file mode 100644
index 0000000000..1cc09b42dc
--- /dev/null
+++ b/systems/knuth/local/mfware/io.2602gf
Binary files differ
diff --git a/systems/knuth/local/mfware/io.dvi b/systems/knuth/local/mfware/io.dvi
new file mode 100644
index 0000000000..41044640e0
--- /dev/null
+++ b/systems/knuth/local/mfware/io.dvi
Binary files differ
diff --git a/systems/knuth/local/mfware/io.log b/systems/knuth/local/mfware/io.log
new file mode 100644
index 0000000000..82e33f497e
--- /dev/null
+++ b/systems/knuth/local/mfware/io.log
@@ -0,0 +1,6 @@
+This is METAFONT, Version 2.7182 (Web2C 7.3.1) (base=mf 1999.9.25) 30 APR 2000 22:36
+**io
+(/usr/share/texmf/metafont/base/io.mf
+The letter O [79])
+*end
+Output written on io.2602gf (1 character, 1724 bytes).
diff --git a/systems/knuth/local/mfware/io.ps b/systems/knuth/local/mfware/io.ps
new file mode 100644
index 0000000000..8c9011ddc0
--- /dev/null
+++ b/systems/knuth/local/mfware/io.ps
@@ -0,0 +1,332 @@
+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
+%%Title: io.dvi
+%%Pages: 1
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 612 792
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips io -o
+%DVIPSParameters: dpi=600, compressed
+%DVIPSSource: METAFONT output 2000.04.30:2236
+%%BeginProcSet: texc.pro
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
+1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
+0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
+sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
+rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
+gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
+/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
+/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
+A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
+get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
+ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
+fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
+{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
+chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
+1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
+forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
+/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
+(LaserWriter 16/600)]{A length product length le{A length product exch 0
+exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
+end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
+grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
+imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
+exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
+fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
+delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
+B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
+p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
+rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+TeXDict begin 40258431 52099146 1000 600 600 (io.dvi)
+@start
+%DVIPSBitmapFont: Fa logo8 8 7
+/Fa 7 85 df<EB1FFF90B512E0000314F84880390FF803FE391FC0007F90C7121F003EEC
+0F80A248EC07C0A448EC03E0A8B7FCA400F8C71203B00070EC01C0232A79A831>65
+D<007FB6FCB71280A2160000F8C9FCB0B612F081A25D00F8C9FCACB7FC1680A26C150021
+2879A72E>69 D<007FB6FCB71280A2160000F8C9FCB0B612F081A25D00F8C9FCB0127021
+2979A72E>I<007016E000F8ED01F0A26C15036C1507A26C150FA26D141FA26D143F6D14
+7F00FB157DD8F9F014F9A2D8F8F8EB01F1A2017CEB03E1017E1307013E14C16DEB0F81A2
+90390F801F01A2903807C03EECE07E0103137C903801F0F8A2903800F9F0A2EC7FE0A2EC
+3FC0EC1F80A2EC0F00A291C7FCA30070ED00E02C2A79A83A>77 D<0070EC01C000F8EC03
+E07E7E7EA27F7F7FEAFBF0EAF9F8EAF8FC137E7F7FEB0F8014C0EB07E0EB03F0EB01F8EB
+00FC147E143E141F1583EC0FC3EC07E3EC03F3EC01FBEC00FF157F153F151FA2150F1507
+1503A50070EC01C0232A79A831>I<90380FFFF8017F13FF48B612C048813A07FC001FF0
+D80FE0EB03F8D81F80EB00FC90C8127C003E81A24881A448ED0F80B1007CED1F00A36C15
+3E003F157ED81FC0495AD80FF8EB0FF86CB65A6C5DC61580011F01FCC7FC292A7CA831>
+I<007FB712C0B812E0A26C16C0C7001FC8FCB3B2140E2B2980A72B>84
+D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fb gray 7.70874 26
+/Fb 26 123 df<EA01F8EA0FFF4813804813C04813E0A3B512F0A66C13E0A36C13C06C13
+806C1300EA01F814148A8918>0 D<120CA212C0A21203A21230A20808808708>I<120CA2
+12C0A21203A21230A2120CA212C0A21203A21230A20810808708>3
+D<120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230
+A20818808708>7 D<120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA2
+12C0A21203A21230A2120CA212C0A21203A21230A20820808708>15
+D<120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230
+A2120CA212C0A21203A21230A2120CA212C0A21203A21230A20828808708>31
+D<120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230
+A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230
+A20830808708>63 D<120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA2
+12C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA2
+12C0A21203A21230A2120CA212C0A21203A21230A20838808708>70
+D<120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230
+A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230
+A2120CA212C0A21203A21230A2120CA212C0A21203A21230A20840808708>78
+D<120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230
+A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230
+A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230
+A20848808708>87 D<120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA2
+12C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA2
+12C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA2
+12C0A21203A21230A2120CA212C0A21203A21230A20850808708>97
+D<120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230
+A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230
+A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230
+A2120CA212C0A21203A21230A2120CA212C0A21203A21230A20858808708>108
+D<120CA212C0A21203A21230A20808802F08>I<120CA212C0A21203A21230A2120CA212
+C0A21203A21230A20810803708>I<120CA212C0A21203A21230A2120CA212C0A21203A2
+1230A2120CA212C0A21203A21230A20818803F08>I<120CA212C0A21203A21230A2120C
+A212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A20820
+804708>I<120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A212
+03A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A20828804F08>I<
+120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2
+120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2
+0830805708>I<120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0
+A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0
+A21203A21230A2120CA212C0A21203A21230A20838805F08>I<120CA212C0A21203A212
+30A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A212
+30A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A212
+30A2120CA212C0A21203A21230A20840806708>I<120CA212C0A21203A21230A2120CA2
+12C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA2
+12C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA2
+12C0A21203A21230A2120CA212C0A21203A21230A20848806F08>I<120CA212C0A21203
+A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203
+A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203
+A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203
+A21230A20850807708>I<120CA212C0A21203A21230A2120CA212C0A21203A21230A212
+0CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A212
+0CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A212
+0CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A208
+58807F08>I<120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A2
+1203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A2
+1203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A2
+1203A21230A2120CA212C0A21203A21230A2120CA212C0A21203A21230A2120CA212C0A2
+1203A21230A20860808708>I<EA0C0CA2EAC0C0A2EA0303A2EA3030A2EA0C0CA2EAC0C0
+A2EA0303A2EA3030A2EA0C0CA2EAC0C0A2EA0303A2EA3030A2EA0C0CA2EAC0C0A2EA0303
+A2EA3030A2EA0C0CA2EAC0C0A2EA0303A2EA3030A2EA0C0CA2EAC0C0A2EA0303A2EA3030
+A2EA0C0CA2EAC0C0A2EA0303A2EA3030A2EA0C0CA2EAC0C0A2EA0303A2EA3030A2EA0C0C
+A2EAC0C0A2EA0303A2EA3030A2EA0C0CA2EAC0C0A2EA0303A2EA3030A2EA0C0CA2EAC0C0
+A2EA0303A2EA3030A2EA0C0CA2EAC0C0A2EA0303A2EA3030A21060808710>I<390C0C0C
+0CA239C0C0C0C0A23903030303A23930303030A2390C0C0C0CA239C0C0C0C0A239030303
+03A23930303030A2390C0C0C0CA239C0C0C0C0A23903030303A23930303030A2390C0C0C
+0CA239C0C0C0C0A23903030303A23930303030A2390C0C0C0CA239C0C0C0C0A239030303
+03A23930303030A2390C0C0C0CA239C0C0C0C0A23903030303A23930303030A2390C0C0C
+0CA239C0C0C0C0A23903030303A23930303030A2390C0C0C0CA239C0C0C0C0A239030303
+03A23930303030A2390C0C0C0CA239C0C0C0C0A23903030303A23930303030A2390C0C0C
+0CA239C0C0C0C0A23903030303A23930303030A2390C0C0C0CA239C0C0C0C0A239030303
+03A23930303030A2390C0C0C0CA239C0C0C0C0A23903030303A23930303030A220608087
+20>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fc cmtt10 10 16
+/Fc 16 115 df<143814FC13011303EB07F8EB0FF0EB1FC0EB3F80EB7F0013FE485A485A
+5B12075B120F5B485AA2123F90C7FCA25A127EA312FE5AAC7E127EA3127F7EA27F121FA2
+6C7E7F12077F12037F6C7E6C7E137FEB3F80EB1FC0EB0FF0EB07F8EB03FC130113001438
+164272B92C>40 D<127012FC7E7E6C7E6C7EEA0FE06C7E6C7E6C7E6C7E137F7F1480131F
+14C0130FEB07E0A214F01303A214F81301A314FC1300AC130114F8A3130314F0A2130714
+E0A2EB0FC0131F1480133F14005B13FE485A485A485A485AEA3FC0485A48C7FC5A5A1270
+164279B92C>I<147814FCAF007FB612F0B712F8A46C15F0C700FCC7FCAF147825267DAB
+2C>43 D<EA0F80EA1FE0EA3FF0EA7FF8A213FCA3123F121F120F120013F8A21201EA03F0
+1207EA1FE0EA7FC0EAFF80130012FC12700E17718A2C>I<121FEA3F80EA7FC0EAFFE0A5
+EA7FC0EA3F80EA1F000B0B708A2C>46 D<1307497EA2131FA2133F137F13FF5A1207127F
+B5FC13DF139FEA7C1F1200B3AE007FB512E0B612F0A36C14E01C3477B32C>49
+D<EB0FF890387FFF8048B512E00007804814FC391FF80FFE393FE001FF903880007F48C7
+EA3F80007E141F00FE15C0150F6C15E01507A3127E123CC8FCA2150F16C0151F1680153F
+16005D15FE4A5A14034A5A4A5A4A5A4A5AECFF804948C7FC495A495A495AEB3FE0EB7F80
+49C8FC485A4848EB03C04848EB07E0EA1FE0485A48B6FCB7FCA36C15C023347CB32C>I<
+EB0FFC90387FFF8048B512E0000714F84880391FF807FEEBC0004848137F6D7F1680151F
+A26C5A6CC7FCC8FC153F16005D15FE14014A5AEC1FF890381FFFF0495BA215F86D7F9038
+0007FEEC00FF81ED3F80ED1FC0150FA216E01507A2123C127EB4FC150F16C0A248141F00
+7FEC3F806DEB7F006C6C5B391FF807FE6CB55A6C5C6C14E0C66C1380D90FFCC7FC23357C
+B32C>I<EC07F04A7E141F143FA2147EA214FCEB01F8A2EB03F0EB07E0A2EB0FC0EB1F80
+A2EB3F00137EA25B485AA2485A5B1207485AA2485A48C7FCA2127E5AB712FC16FEA36C15
+FCC8EAF800AA91387FFFF091B512F8A36E13F027347EB32C>I<000FB512FE4880A35D01
+80C8FCADEB83FE90389FFF8090B512E015F8819038FE03FE9038F000FF01C07F49EB3F80
+90C7121F6C15C0C8120FA2ED07E0A4123C127EB4FC150F16C0A248141F007EEC3F80007F
+EC7F006C6C5B6D485A391FF80FFC6CB55A6C5C000114C06C6C90C7FCEB0FF823347CB22C
+>I<EC3FC0903801FFF801077F011F7F497F90387FE07F9039FF003F804848137FEA03F8
+485A5B000FEC3F004848131E4990C7FC123F90C9FCA25A127EEB03FE90381FFF80D8FC7F
+13E000FDB57EB67E9038FE07FC9038F001FE9038C0007F49EB3F8090C7121F16C048140F
+16E01507A3127EA47E150F6D14C0001F141F6D1480000F143F6DEB7F003907F801FE3903
+FE07FC6CB55A6C5C6D5B011F1380D907FCC7FC23357CB32C>I<EB07FC90383FFF8090B5
+12E0000314F84880390FFC07FE391FF001FF9038C0007F4848EB3F8090C7121F4815C000
+7E140FA56CEC1F80A26C6CEB3F006D5B390FF001FE3903FC07F86CB55A6C6C13C0D907FC
+C7FC90387FFFC048B512F03903FC07F8390FF001FE391FC0007F497F48C7EA1F80007EEC
+0FC0A248EC07E0A7007EEC0FC0A2007F141F6C6CEB3F806C6CEB7F009038F001FF390FFC
+07FE6CB55A6C5CC614E0013F1380D907FCC7FC23357CB32C>56 D<EB07FCEB3FFF90B512
+C0488048803907FC07F8390FF001FC48486C7ED83F80137E157F48C77E007EEC1F8012FE
+5AED0FC0A416E0A37E127E007F141F7E6D133F6C6C137F390FF001FF3807FC0F6CB6FC6C
+14F76C14C7013F130FD90FF813C090C7FCA2151F1680153F1600000F5C486C137E486C13
+FE4A5A4A5A14079038801FF0391FE07FE090B55A6C91C7FC6C5B000113F838007FC02335
+7CB32C>I<007FB612F0B712F8A4003F15F0CAFCA8003FB612F0B712F8A46C15F025147D
+A22C>61 D<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C158022337BB22C
+>108 D<D87FFEEB3FC0B53801FFF0020713F8021F13FC6C5B39003F7FE1ECFF019138FC
+00F84A13704A13005CA25C5CA391C8FCAF007FB512E0B67EA36C5C26247EA32C>114
+D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fd cmr8 8 27
+/Fd 27 118 df<003C13F0387E01F838FF03FCA2EB83FEA2EA7F81383D80F600011306A3
+0003130EEB000CA248131C00061318000E13384813704813E0387001C00060138017157E
+AD23>34 D<123C127E12FFA4127E123C08087A8714>46 D<EB3FC0EBFFF03803E07C4848
+7E48487E497E001EEB0780A2003E14C0A248EB03E0A500FC14F0B0007C14E0A3007E1307
+003E14C0A36CEB0F806C14006D5A3807C03E3803F0FC3800FFF0EB3FC01C2D7DAB23>48
+D<130C133C137CEA03FC12FFEAFC7C1200B3B113FE387FFFFEA2172C7AAB23>I<EB7F80
+3801FFF0380780FC380E003F48EB1F8048EB0FC05A0060EB07E012F000FC14F07E1403A3
+007C1307C7FCA215E0140F15C0141F1580EC3F00147E147C5C495A495A495A495A011EC7
+FC5B5B4913305B485A4848136048C7FC000E14E0001FB5FC5A4814C0B6FCA21C2C7DAB23
+>I<EB3FC03801FFF03807C0FC380E007E487FEC1F80003F14C0A2EB800F1300A2000C13
+1FC7FC1580A2EC3F00143E5C5CEB03F0EBFFC014F0EB00FC143FEC1F8015C0140F15E0A2
+EC07F0A21238127C12FEA3EC0FE012F8006014C00070131F6C1480001EEB3F00380780FC
+3801FFF038007FC01C2D7DAB23>I<140EA2141E143EA2147E14FEA2EB01BE1303143E13
+06130E130C131813381330136013E013C0EA0180120313001206120E120C5A123812305A
+12E0B612FCA2C7EA3E00A9147F90381FFFFCA21E2D7EAC23>I<EB03F8EB0FFE90383E07
+80EBF8013901F007C03803E00FEA07C0EA0F80A2391F00078091C7FC123EA2127EA2127C
+EB0FC038FC3FF0EBF07C38FDC01EB4487E01001380EC07C04814E0A214034814F0A4127C
+A3127EA2003E14E01407121E001F14C06CEB0F803907801F003803C03E6C6C5A38007FF0
+EB1FC01C2D7DAB23>54 D<1230123C003FB512F8A215F05A15E039700001C00060148014
+0348EB0700140E140CC7121C5C143014705C495AA2495AA249C7FCA25B130E131EA2133E
+A3133C137CA413FCA913781D2E7CAC23>I<EB3F80EBFFF03803E0783807C03E48487E48
+487E003E14801407007E14C0127C00FC14E01403A315F0A5007C1307127EA2003E130F7E
+6C131F3807803B3803E0F33800FFC390383F03E013001407A215C0A2140F001E1480003F
+14005C143E143C003E5B001C5B380E03E03807FF80D801FEC7FC1C2D7DAB23>57
+D<123C127E12FFA4127E123C1200AD123C127E12FFA4127E123C081D7A9C14>I<DA1FF0
+13C09138FFFE01903903F00F8390390F8001E3013FC71277017C143F4848141F4848140F
+48481407A248481403121F491401123F90C8FC481500A300FE1600AB127F17C0A27E7F00
+1F15016D1580120F6C6C1403EE07006C6C14066C6C140ED8007C5C013F147890390F8001
+E0903903F00FC0902600FFFEC7FCEC1FF02A2F7CAD33>67 D<EC3FF0903801FFFE903907
+E01F8090391F8007E090393E0001F001FCEB00FC4848147E4848804848EC1F8049140F00
+0F16C04848EC07E0A248C8EA03F0A24816F8A2007E1501A200FE16FCAA007FED03F8A36C
+16F06D1407001F16E0A26C6CEC0FC06D141F000716806C6CEC3F006C6C147E6C6C5C017E
+495A90391F8007E0903907E01F80902601FFFEC7FC9038003FF02E2F7CAD37>79
+D<B612FCEDFF803A03F8000FE00001EC03F0ED00F882167E167F821780A617005E167E5E
+5EED03F0ED0FE090B6128003FCC7FC01F8C9FCB2487EB512F0A2292D7EAC30>I<007FB7
+12F8A29039000FC003007C150000701638A200601618A200E0161CA248160CA5C71500B3
+A94A7E011FB512E0A22E2D7EAC33>84 D<0003130C48131C000E13384813704813E00030
+13C0EA700100601380A2EAE00300C01300A300DE137800FF13FCEB83FEA2EA7F81A2383F
+00FC001E1378171577AD23>92 D<13FF000713C0380F01F0381C00F8003F137C80A2143F
+001E7FC7FCA4EB07FF137F3801FE1FEA07F0EA1FC0EA3F80EA7F00127E00FE14065AA314
+3F7E007E137F007FEBEF8C391F83C7FC390FFF03F83901FC01E01F207D9E23>97
+D<EB1FE0EB7FFC3801F01E3803E0073907C01F80EA0F80EA1F005A003EEB0F00007E90C7
+FCA2127C12FCA9127EA215C07E6C130101801380380FC0033907E007003801F03E38007F
+F8EB1FC01A207E9E1F>99 D<EB1F80EBFFF03803E0783807C03E380F801E381F001FEC0F
+80123E007E130715C0127C12FCA3B6FCA200FCC8FCA5127EA2003E14C0123F6C1301390F
+80038001C013003803E00F3801F03C38007FF8EB1FC01A207E9E1F>101
+D<013F13F89038FFC3FE3903E1FF1E3807807C000F140C391F003E00A2003E7FA76C133E
+A26C6C5A00071378380FE1F0380CFFC0D81C3FC7FC90C8FCA3121E121F380FFFF814FF6C
+14C04814F0391E0007F848130048147C12F848143CA46C147C007C14F86CEB01F06CEB03
+E03907E01F803901FFFE0038003FF01F2D7E9D23>103 D<EA07C012FFA2120F1207AC14
+FE9038C3FF809038C703E09038DE01F013F8496C7EA25BA25BB2486C487E3AFFFE1FFFC0
+A2222E7EAD27>I<EA07C012FFA2120F1207B3B3A3EA0FE0EAFFFEA20F2E7EAD14>108
+D<EB1FE0EB7FF83801F03E3803C00F3907800780390F0003C04814E0003EEB01F0A248EB
+00F8A300FC14FCA9007C14F8A26CEB01F0A26CEB03E0A2390F8007C03907C00F803901F0
+3E0038007FF8EB1FE01E207E9E23>111 D<3807C0FE39FFC7FF809038CF03E0390FDC01
+F03907F800FC49137E49133E49133FED1F80A3ED0FC0A8151F1680A2ED3F00A26D137E6D
+137C5D9038FC01F09038CE07E09038C7FF80D9C1FCC7FC01C0C8FCA9487EEAFFFEA2222B
+7E9D27>I<380781F838FF87FEEB8E3FEA0F9CEA07B813B0EBF01EEBE000A45BB0487EB5
+FCA2181E7E9D1C>114 D<1360A413E0A312011203A21207121FB512F0A23803E000AF14
+18A714383801F03014703800F860EB3FE0EB0F80152A7FA81B>116
+D<D807C013F800FF131FA2000F130100071300B21401A314033803E007EC0EFC3A01F81C
+FFC038007FF890391FE0F800221F7E9D27>I E
+%EndDVIPSBitmapFont
+end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 600dpi
+TeXDict begin
+
+%%EndSetup
+%%Page: 1 1
+1 0 bop 0 83 a Fa(MET)n(AF)m(ONT)22 b Fd(output)j(2000.04.30:2236)49
+b(P)n(age)25 b(1)47 b(Character)24 b(79)48 b(\\The)24
+b(letter)h(O")p 2302 2495 4 2016 v -2 2495 V 0 2497 2304
+4 v 0 481 V 0 2497 V 160 1528 a Fb(\000)1142 2551 y(\000)2144
+1446 y(\000)1160 423 y(\000)278 1507 y(\000)1152 2497
+y(\000)2026 1467 y(\000)1152 470 y(\000)396 1486 y(\000)1162
+2442 y(\000)1908 1488 y(\000)1144 518 y(\000)49 1546
+y Fc(1l)1099 2626 y(2l)2168 1464 y(3l)1117 399 y(4l)302
+1525 y(1)2050 1485 y(3)420 1504 y(1r)1118 2418 y(2r)1796
+1506 y(3r)1100 592 y(4r)3571 297 y(2)43 b(=)g(2l)g(+)g(\(1.2,6.8\))3571
+405 y(4)g(=)g(4r)g(+)g(\(1,5.9\))760 431 y Fb
+(mmnnoopppqqqrrrsssttttuuuuvvvvvwwwwwwwwyzzzzzwwwwwwwwvvvvvuuuuutttt)p
+(sssrrrqqqppooonnmm)600 527 y
+(mnnopqqrrsttuuvvwwxzzllaaWWNNFF??\037\037\037\017\017\017\007\007\007)
+p(\003\003\003\003\003\001\001\001\001\001\001)144 b
+(\001\001\001\001\001\001\001\003\003\003\003\007\007\007\017\017\017)p
+(\037\037\037???FFNNWWaalyzzzwwvvuutssrrqpponnm)488 623
+y(mnopqrsstuvwyzzzlaWNFF?\037\017\007\007\003\001\001)680
+b(\001\003\003\007\017\017\037?FNNWalxzzzzwwvutssrqponm)400
+719 y(mnopqstuvwzzzzlaWN?\037\017\007\003\001)920 b
+(\001\003\007\017\037?FWalzzzzzwvutsrponm)336 815 y
+(moprsuvwxyzzzzaNF\037\017\003\001)1088 b
+(\003\007\037?NWlyzzzzzwvusrpom)280 911 y(moqrtvyzzzzzWF\037\007\001)
+1208 b(\001\003\017?Nazzzzzzwvtrpn)240 1007 y(mpruwxyzzzzzaF\017\003)
+1304 b(\001\007\037Nlyzzzzzzvtqo)208 1103 y(nqtwzzzzzzlF\017\001)1376
+b(\003\037Nzzzzzzzurn)184 1199 y(nswyzzzzzzW\017)1440
+b(\017Wzzzzzzzvr)168 1295 y(ouzzzzzzz\007)1472 b(\007yzzzzzzzp)160
+1391 y(rxzzzzzzz)1496 b(\001yzzzzzzz)160 1487 y(yzzzzzzz)1504
+b(xzzzzzzzN)160 1583 y(?xzzzzzzzwn)1472 b(mvxyzzzzzzl\037)168
+1679 y(\003Nxzzzzzzzsn)1440 b(nsxyzzzzzzW\017)192 1775
+y(\017Nlxyzzzzzzvro)1392 b(nrvxzzzzzzaF\017\001)216 1871
+y(\003\037Faxyzzzzzzurpm)1320 b(oqtwxyzzzzzlN?\007\001)256
+1967 y(\003\017?Naxzzzzzzwusqom)1224 b(nprtvyzzzzzaNF\037\007\001)304
+2063 y(\001\007\037?NWlxyzzzzzwvtrqonm)1096 b
+(mnpqsuvzzzzzlWN?\037\007\003)368 2159 y
+(\001\007\017\037?NWalxzzzzzwvutrqponm)936 b
+(mnopqstuvyzzzzlaWF?\037\017\007\001)448 2255 y
+(\001\003\007\017\037?FNWWalxyzzzzwvuttsrqpponnm)696
+b(mmnoopqrsstuvwxyzzzlaWWNF?\037\017\007\003\001)552
+2351 y
+(\001\001\003\007\017\017\037??FNNWaallxzzzzwwvuuttsssrrqqqpppoooonn)p
+(nnmmmmmmm)144 b
+(mmmmmmmnnnnoooopppqqqrrssttuuvvwwzzzllaaWNNFF?\037\017\017\007\003\003)
+p(\001)704 2447 y
+(\001\001\003\003\007\007\017\017\037\037\037??FFFNNNWWWaaaalllllzzz)p
+(zzzzzzzzzllllaaaaWWWNNNFFF???\037\037\017\017\007\007\003\003\001\001)
+992 2543 y
+(\001\001\001\001\001\001\001\001\003\003\003\003\003\003\003\003\003)p
+(\003\003\003\003\003\003\003\003\003\003\003\003\003\001\001\001\001)p
+(\001\001\001\001)p eop
+%%Trailer
+end
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/systems/knuth/local/mfware/missfont.log b/systems/knuth/local/mfware/missfont.log
new file mode 100644
index 0000000000..3f1733c91e
--- /dev/null
+++ b/systems/knuth/local/mfware/missfont.log
@@ -0,0 +1,2 @@
+mktexpk --mfmode ljfour --bdpi 600 --mag 1+0/600 --dpi 600 gray
+mktexpk --mfmode ljfour --bdpi 600 --mag 1+0/600 --dpi 600 gray
diff --git a/systems/knuth/local/tex-sparc/ini_to_trip b/systems/knuth/local/tex-sparc/ini_to_trip
index 89ccab0759..89ccab0759 100644..100755
--- a/systems/knuth/local/tex-sparc/ini_to_trip
+++ b/systems/knuth/local/tex-sparc/ini_to_trip
diff --git a/systems/knuth/local/tex-sparc/ini_to_vir b/systems/knuth/local/tex-sparc/ini_to_vir
index 2120a4beea..2120a4beea 100644..100755
--- a/systems/knuth/local/tex-sparc/ini_to_vir
+++ b/systems/knuth/local/tex-sparc/ini_to_vir
diff --git a/systems/knuth/local/tex/ini_to_trip b/systems/knuth/local/tex/ini_to_trip
index 89ccab0759..89ccab0759 100644..100755
--- a/systems/knuth/local/tex/ini_to_trip
+++ b/systems/knuth/local/tex/ini_to_trip
diff --git a/systems/knuth/local/tex/ini_to_vir b/systems/knuth/local/tex/ini_to_vir
index 2120a4beea..2120a4beea 100644..100755
--- a/systems/knuth/local/tex/ini_to_vir
+++ b/systems/knuth/local/tex/ini_to_vir
diff --git a/systems/knuth/local/texware/dvityext.o b/systems/knuth/local/texware/dvityext.o
new file mode 100644
index 0000000000..2666d8eabe
--- /dev/null
+++ b/systems/knuth/local/texware/dvityext.o
Binary files differ
diff --git a/systems/knuth/local/texware/dvitype b/systems/knuth/local/texware/dvitype
new file mode 100755
index 0000000000..d1715b64d1
--- /dev/null
+++ b/systems/knuth/local/texware/dvitype
Binary files differ
diff --git a/systems/knuth/local/texware/dvitype.o b/systems/knuth/local/texware/dvitype.o
new file mode 100644
index 0000000000..61a7c2a083
--- /dev/null
+++ b/systems/knuth/local/texware/dvitype.o
Binary files differ
diff --git a/systems/knuth/local/texware/dvitype.out b/systems/knuth/local/texware/dvitype.out
new file mode 100644
index 0000000000..f8f9897a56
--- /dev/null
+++ b/systems/knuth/local/texware/dvitype.out
@@ -0,0 +1,35 @@
+This is DVItype, Version 3.6 for Linux
+Options selected:
+ Starting page = *
+ Maximum number of pages = 1000000
+ Output level = 4 (the works)
+ Resolution = 600.00000000 pixels per inch
+ New magnification factor = 2.000
+numerator/denominator=25400000/473628672
+magnification=2000; 0.00025336 pixels per DVI unit
+' TeX output 2000.04.30:1633'
+Postamble starts at byte 133.
+maxv=43725786, maxh=30785863, maxstackdepth=2, totalpages=1
+Font 0: cmr10 scaled 2000---loaded at size 655360 DVI units
+ (this font is magnified 200%)
+
+42: beginning of page 1
+87: push
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0)
+88: down3 -917504 v:=0-917504=-917504, vv:=-232
+92: pop
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0)
+93: down4 42152922 v:=0+42152922=42152922, vv:=10680
+98: down3 1572864 v:=42152922+1572864=43725786, vv:=11078
+102: push
+level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=11078)
+103: right4 15229091 h:=0+15229091=15229091, hh:=3858
+[ ]
+108: fntdef1 0: cmr10
+129: fntnum0 current font is cmr10
+130: setchar49 h:=15229091+327681=15556772, hh:=3941
+[1]
+131: pop
+level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=11078)
+132: eop
+
diff --git a/systems/knuth/local/texware/dvitype.out-k b/systems/knuth/local/texware/dvitype.out-k
new file mode 100644
index 0000000000..1b61fb86bb
--- /dev/null
+++ b/systems/knuth/local/texware/dvitype.out-k
@@ -0,0 +1,34 @@
+This is DVItype, Version 3.6 (Web2C 7.3.1)
+Options selected:
+ Starting page = *
+ Maximum number of pages = 1000000
+ Output level = 4 (the works)
+ Resolution = 600.00000000 pixels per inch
+ New magnification factor = 2.000
+numerator/denominator=25400000/473628672
+magnification=2000; 0.00025336 pixels per DVI unit
+' TeX output 2000.04.30:1633'
+Postamble starts at byte 133.
+maxv=43725786, maxh=30785863, maxstackdepth=2, totalpages=1
+Font 0: cmr10 scaled 2000---loaded at size 655360 DVI units
+ (this font is magnified 200%)
+
+42: beginning of page 1
+87: push
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0)
+88: down3 -917504 v:=0-917504=-917504, vv:=-232
+92: pop
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0)
+93: down4 42152922 v:=0+42152922=42152922, vv:=10680
+98: down3 1572864 v:=42152922+1572864=43725786, vv:=11078
+102: push
+level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=11078)
+103: right4 15229091 h:=0+15229091=15229091, hh:=3858
+[ ]
+108: fntdef1 0: cmr10
+129: fntnum0 current font is cmr10
+130: setchar49 h:=15229091+327681=15556772, hh:=3941
+[1]
+131: pop
+level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=11078)
+132: eop
diff --git a/systems/knuth/local/texware/pooltype b/systems/knuth/local/texware/pooltype
new file mode 100755
index 0000000000..e8ade0e79e
--- /dev/null
+++ b/systems/knuth/local/texware/pooltype
Binary files differ
diff --git a/systems/knuth/local/texware/pooltype.o b/systems/knuth/local/texware/pooltype.o
new file mode 100644
index 0000000000..fd50c6b499
--- /dev/null
+++ b/systems/knuth/local/texware/pooltype.o
Binary files differ
diff --git a/systems/knuth/local/texware/texput.dvi b/systems/knuth/local/texware/texput.dvi
new file mode 100644
index 0000000000..c0aafa20a8
--- /dev/null
+++ b/systems/knuth/local/texware/texput.dvi
Binary files differ
diff --git a/systems/knuth/local/texware/texput.log b/systems/knuth/local/texware/texput.log
new file mode 100644
index 0000000000..1819c908f4
--- /dev/null
+++ b/systems/knuth/local/texware/texput.log
@@ -0,0 +1,4 @@
+This is TeX, Version 3.14159 (Web2C 7.3.1) (format=tex 1999.9.25) 30 APR 2000 16:33
+**\null\bye
+]
+Output written on texput.dvi (1 page, 196 bytes).
diff --git a/systems/knuth/local/texware/tftopl.o b/systems/knuth/local/texware/tftopl.o
new file mode 100644
index 0000000000..402fea8853
--- /dev/null
+++ b/systems/knuth/local/texware/tftopl.o
Binary files differ
diff --git a/systems/knuth/local/web/tangext.o b/systems/knuth/local/web/tangext.o
new file mode 100644
index 0000000000..12b4a2bb28
--- /dev/null
+++ b/systems/knuth/local/web/tangext.o
Binary files differ
diff --git a/systems/knuth/local/web/tangle b/systems/knuth/local/web/tangle
new file mode 100755
index 0000000000..c7fed1d2e1
--- /dev/null
+++ b/systems/knuth/local/web/tangle
Binary files differ
diff --git a/systems/knuth/local/web/tangle.o b/systems/knuth/local/web/tangle.o
new file mode 100644
index 0000000000..3d7ffb6ae7
--- /dev/null
+++ b/systems/knuth/local/web/tangle.o
Binary files differ
diff --git a/systems/knuth/local/web/tangle.p-bak b/systems/knuth/local/web/tangle.p-bak
new file mode 100644
index 0000000000..9023c906b5
--- /dev/null
+++ b/systems/knuth/local/web/tangle.p-bak
@@ -0,0 +1,814 @@
+{2:}{4:}{:4}program TANGLE(input,output);label 9999;const{8:}
+bufsize=100;maxbytes=45000;maxtoks=50000;maxnames=4000;maxtexts=2000;
+hashsize=353;longestname=400;linelength=72;outbufsize=144;stacksize=50;
+maxidlength=50;unambiglength=7;{:8}type{11:}ASCIIcode=integer(8);{:11}
+{37:}eightbits=0..255;sixteenbits=0..65535;{:37}{39:}
+namepointer=0..maxnames;{:39}{43:}textpointer=0..maxtexts;{:43}{78:}
+outputstate=record endfield:sixteenbits;bytefield:sixteenbits;
+namefield:namepointer;replfield:textpointer;modfield:0..12287;end;{:78}
+{190:}UNIXfilename=packed array[1..60]of char;{:190}var{9:}history:0..3;
+{:9}{13:}xord:external array[char]of ASCIIcode;
+xchr:external array[ASCIIcode]of char;{:13}{23:}webfile:text;
+changefile:text;{:23}{25:}Pascalfile:text;pool:text;{:25}{27:}
+buffer:external array[0..bufsize]of ASCIIcode;{:27}{29:}
+phaseone:boolean;{:29}{38:}
+bytemem:packed array[0..2,0..maxbytes]of ASCIIcode;
+tokmem:packed array[0..3,0..maxtoks]of eightbits;
+bytestart:array[0..maxnames]of sixteenbits;
+tokstart:array[0..maxtexts]of sixteenbits;
+link:array[0..maxnames]of sixteenbits;
+ilk:array[0..maxnames]of sixteenbits;
+equiv:array[0..maxnames]of sixteenbits;
+textlink:array[0..maxtexts]of sixteenbits;{:38}{40:}nameptr:namepointer;
+stringptr:namepointer;byteptr:array[0..2]of 0..maxbytes;
+poolchecksum:integer;{:40}{44:}textptr:textpointer;
+tokptr:array[0..3]of 0..maxtoks;z:0..3;
+{maxtokptr:array[0..3]of 0..maxtoks;}{:44}{50:}idfirst:0..bufsize;
+idloc:0..bufsize;doublechars:0..bufsize;
+hash,chophash:array[0..hashsize]of sixteenbits;
+choppedid:array[0..unambiglength]of ASCIIcode;{:50}{65:}
+modtext:array[0..longestname]of ASCIIcode;{:65}{70:}
+lastunnamed:textpointer;{:70}{79:}curstate:outputstate;
+stack:array[1..stacksize]of outputstate;stackptr:0..stacksize;{:79}{80:}
+zo:0..3;{:80}{82:}bracelevel:eightbits;{:82}{86:}curval:integer;{:86}
+{94:}outbuf:array[0..outbufsize]of ASCIIcode;outptr:0..outbufsize;
+breakptr:0..outbufsize;semiptr:0..outbufsize;{:94}{95:}
+outstate:eightbits;outval,outapp:integer;outsign:ASCIIcode;
+lastsign:-1..+1;{:95}{100:}outcontrib:array[1..linelength]of ASCIIcode;
+{:100}{124:}ii:integer;line:integer;otherline:integer;templine:integer;
+limit:external integer;loc:0..bufsize;inputhasended:boolean;
+changing:boolean;{:124}{126:}changebuffer:array[0..bufsize]of ASCIIcode;
+changelimit:0..bufsize;{:126}{143:}curmodule:namepointer;
+scanninghex:boolean;{:143}{156:}nextcontrol:eightbits;{:156}{164:}
+currepltext:textpointer;{:164}{171:}modulecount:0..12287;{:171}{179:}
+{troubleshooting:boolean;ddt:integer;dd:integer;debugcycle:integer;
+debugskipped:integer;}{:179}{185:}{wo:0..2;}{:185}{189:}
+webname,changename,Pascalname,poolname:UNIXfilename;{:189}
+#include "tangext.h"
+{30:}{procedure debughelp;forward;}{:30}{31:}procedure error;
+var j:0..outbufsize;k,l:0..bufsize;begin if phaseone then{32:}
+begin if changing then write(output,'. (change file ')else write(output,
+'. (');writeln(output,'l.',line:1,')');
+if loc>=limit then l:=limit else l:=loc;
+for k:=1 to l do if buffer[k-1]=9 then write(output,' ')else write(
+output,xchr[buffer[k-1]]);writeln(output);
+for k:=1 to l do write(output,' ');
+for k:=l+1 to limit do write(output,xchr[buffer[k-1]]);
+write(output,' ');end{:32}else{33:}
+begin writeln(output,'. (l.',line:1,')');
+for j:=1 to outptr do write(output,xchr[outbuf[j-1]]);
+write(output,'... ');end{:33};flush(output);history:=2;
+{debugskipped:=debugcycle;debughelp;}end;{:31}{34:}procedure jumpout;
+begin goto 9999;end;{:34}{191:}procedure scanargs;
+var dotpos,i,a:integer;c:char;fname:UNIXfilename;
+foundweb,foundchange:boolean;begin foundweb:=false;foundchange:=false;
+for a:=1 to argc-1 do begin argv(a,fname);
+if fname[1]<>'-'then begin if not foundweb then{192:}begin dotpos:=-1;
+i:=1;while(fname[i]<>' ')and(i<=55)do begin webname[i]:=fname[i];
+if fname[i]='.'then dotpos:=i;i:=i+1;end;
+if dotpos=-1 then begin dotpos:=i;webname[dotpos]:='.';
+webname[dotpos+1]:='w';webname[dotpos+2]:='e';webname[dotpos+3]:='b';
+webname[dotpos+4]:=' ';end else webname[i]:=' ';
+for i:=1 to dotpos do begin c:=webname[i];Pascalname[i]:=c;
+poolname[i]:=c;end;Pascalname[dotpos+1]:='p';Pascalname[dotpos+2]:=' ';
+poolname[dotpos+1]:='p';poolname[dotpos+2]:='o';poolname[dotpos+3]:='o';
+poolname[dotpos+4]:='l';poolname[dotpos+5]:=' ';foundweb:=true;end{:192}
+else if not foundchange then{193:}begin dotpos:=-1;i:=1;
+while(fname[i]<>' ')and(i<=55)do begin changename[i]:=fname[i];
+if fname[i]='.'then dotpos:=i;i:=i+1;end;
+if dotpos=-1 then begin dotpos:=i;changename[dotpos]:='.';
+changename[dotpos+1]:='c';changename[dotpos+2]:='h';
+changename[dotpos+3]:=' ';end else changename[i]:=' ';foundchange:=true;
+end{:193}else{196:}begin begin writeln(output);
+write(output,'! Usage: webfile[.web] [changefile[.ch]]');end;error;
+jumpout;end{:196};end else{195:}begin{196:}begin begin writeln(output);
+write(output,'! Usage: webfile[.web] [changefile[.ch]]');end;error;
+jumpout;end{:196};end{:195};end;if not foundweb then{196:}
+begin begin writeln(output);
+write(output,'! Usage: webfile[.web] [changefile[.ch]]');end;error;
+jumpout;end{:196};if not foundchange then{194:}begin changename[1]:='/';
+changename[2]:='d';changename[3]:='e';changename[4]:='v';
+changename[5]:='/';changename[6]:='n';changename[7]:='u';
+changename[8]:='l';changename[9]:='l';changename[10]:=' ';end{:194};end;
+{:191}procedure initialize;var{16:}i:0..255;{:16}{41:}wi:0..2;{:41}{45:}
+zi:0..3;{:45}{51:}h:0..hashsize;{:51}begin{10:}history:=0;{:10}{14:}
+xchr[32]:=' ';xchr[33]:='!';xchr[34]:='"';xchr[35]:='#';xchr[36]:='$';
+xchr[37]:='%';xchr[38]:='&';xchr[39]:='''';xchr[40]:='(';xchr[41]:=')';
+xchr[42]:='*';xchr[43]:='+';xchr[44]:=',';xchr[45]:='-';xchr[46]:='.';
+xchr[47]:='/';xchr[48]:='0';xchr[49]:='1';xchr[50]:='2';xchr[51]:='3';
+xchr[52]:='4';xchr[53]:='5';xchr[54]:='6';xchr[55]:='7';xchr[56]:='8';
+xchr[57]:='9';xchr[58]:=':';xchr[59]:=';';xchr[60]:='<';xchr[61]:='=';
+xchr[62]:='>';xchr[63]:='?';xchr[64]:='@';xchr[65]:='A';xchr[66]:='B';
+xchr[67]:='C';xchr[68]:='D';xchr[69]:='E';xchr[70]:='F';xchr[71]:='G';
+xchr[72]:='H';xchr[73]:='I';xchr[74]:='J';xchr[75]:='K';xchr[76]:='L';
+xchr[77]:='M';xchr[78]:='N';xchr[79]:='O';xchr[80]:='P';xchr[81]:='Q';
+xchr[82]:='R';xchr[83]:='S';xchr[84]:='T';xchr[85]:='U';xchr[86]:='V';
+xchr[87]:='W';xchr[88]:='X';xchr[89]:='Y';xchr[90]:='Z';xchr[91]:='[';
+xchr[92]:='\';xchr[93]:=']';xchr[94]:='^';xchr[95]:='_';xchr[96]:='`';
+xchr[97]:='a';xchr[98]:='b';xchr[99]:='c';xchr[100]:='d';xchr[101]:='e';
+xchr[102]:='f';xchr[103]:='g';xchr[104]:='h';xchr[105]:='i';
+xchr[106]:='j';xchr[107]:='k';xchr[108]:='l';xchr[109]:='m';
+xchr[110]:='n';xchr[111]:='o';xchr[112]:='p';xchr[113]:='q';
+xchr[114]:='r';xchr[115]:='s';xchr[116]:='t';xchr[117]:='u';
+xchr[118]:='v';xchr[119]:='w';xchr[120]:='x';xchr[121]:='y';
+xchr[122]:='z';xchr[123]:='{';xchr[124]:='|';xchr[125]:='}';
+xchr[126]:='~';xchr[0]:=' ';xchr[127]:=' ';{:14}{17:}
+for i:=1 to 31 do xchr[i]:=chr(i);for i:=128 to 255 do xchr[i]:=chr(i);
+{:17}{18:}for i:=0 to 255 do xord[chr(i)]:=32;
+for i:=1 to 255 do xord[xchr[i]]:=i;xord[' ']:=32;{:18}{21:}{:21}{26:}
+scanargs;rewrite(Pascalfile,Pascalname);rewrite(pool,poolname);{:26}
+{42:}for wi:=0 to 2 do begin bytestart[wi]:=0;byteptr[wi]:=0;end;
+bytestart[3]:=0;nameptr:=1;stringptr:=256;poolchecksum:=271828;{:42}
+{46:}for zi:=0 to 3 do begin tokstart[zi]:=0;tokptr[zi]:=0;end;
+tokstart[4]:=0;textptr:=1;z:=1 mod 4;{:46}{48:}ilk[0]:=0;equiv[0]:=0;
+{:48}{52:}for h:=0 to hashsize-1 do begin hash[h]:=0;chophash[h]:=0;end;
+{:52}{71:}lastunnamed:=0;textlink[0]:=0;{:71}{144:}scanninghex:=false;
+{:144}{152:}modtext[0]:=32;{:152}{180:}{troubleshooting:=true;
+debugcycle:=1;debugskipped:=0;troubleshooting:=false;debugcycle:=99999;}
+{:180}end;{:2}{24:}procedure openinput;begin reset(webfile,webname);
+reset(changefile,changename);end;{:24}{28:}
+function inputln(var f:text):boolean;begin limit:=0;
+if testeof(f)then inputln:=false else begin lineread(f);
+if limit=bufsize then begin limit:=limit-1;begin writeln(output);
+write(output,'! Input line too long');end;loc:=0;error;end;
+inputln:=true;end;end;{:28}{49:}procedure printid(p:namepointer);
+var k:0..maxbytes;w:0..2;
+begin if p>=nameptr then write(output,'IMPOSSIBLE')else begin w:=p mod 3
+;
+for k:=bytestart[p]to bytestart[p+3]-1 do write(output,xchr[bytemem[w,k]
+]);end;end;{:49}{53:}function idlookup(t:eightbits):namepointer;
+label 31,32;var c:eightbits;i:0..bufsize;h:0..hashsize;k:0..maxbytes;
+w:0..2;l:0..bufsize;p,q:namepointer;s:0..unambiglength;
+begin l:=idloc-idfirst;{54:}h:=buffer[idfirst];i:=idfirst+1;
+while i<idloc do begin h:=(h+h+buffer[i])mod hashsize;i:=i+1;end{:54};
+{55:}p:=hash[h];
+while p<>0 do begin if bytestart[p+3]-bytestart[p]=l then{56:}
+begin i:=idfirst;k:=bytestart[p];w:=p mod 3;
+while(i<idloc)and(buffer[i]=bytemem[w,k])do begin i:=i+1;k:=k+1;end;
+if i=idloc then goto 31;end{:56};p:=link[p];end;p:=nameptr;
+link[p]:=hash[h];hash[h]:=p;31:{:55};if(p=nameptr)or(t<>0)then{57:}
+begin if((p<>nameptr)and(t<>0)and(ilk[p]=0))or((p=nameptr)and(t=0)and(
+buffer[idfirst]<>34))then{58:}begin i:=idfirst;s:=0;h:=0;
+while(i<idloc)and(s<unambiglength)do begin if buffer[i]<>95 then begin
+if buffer[i]>=97 then choppedid[s]:=buffer[i]-32 else choppedid[s]:=
+buffer[i];h:=(h+h+choppedid[s])mod hashsize;s:=s+1;end;i:=i+1;end;
+choppedid[s]:=0;end{:58};if p<>nameptr then{59:}
+begin if ilk[p]=0 then begin if t=1 then begin writeln(output);
+write(output,'! This identifier has already appeared');error;end;{60:}
+q:=chophash[h];
+if q=p then chophash[h]:=equiv[p]else begin while equiv[q]<>p do q:=
+equiv[q];equiv[q]:=equiv[p];end{:60};end else begin writeln(output);
+write(output,'! This identifier was defined before');error;end;
+ilk[p]:=t;end{:59}else{61:}
+begin if(t=0)and(buffer[idfirst]<>34)then{62:}begin q:=chophash[h];
+while q<>0 do begin{63:}begin k:=bytestart[q];s:=0;w:=q mod 3;
+while(k<bytestart[q+3])and(s<unambiglength)do begin c:=bytemem[w,k];
+if c<>95 then begin if c>=97 then c:=c-32;
+if choppedid[s]<>c then goto 32;s:=s+1;end;k:=k+1;end;
+if(k=bytestart[q+3])and(choppedid[s]<>0)then goto 32;
+begin writeln(output);write(output,'! Identifier conflict with ');end;
+for k:=bytestart[q]to bytestart[q+3]-1 do write(output,xchr[bytemem[w,k]
+]);error;q:=0;32:end{:63};q:=equiv[q];end;equiv[p]:=chophash[h];
+chophash[h]:=p;end{:62};w:=nameptr mod 3;k:=byteptr[w];
+if k+l>maxbytes then begin writeln(output);
+write(output,'! Sorry, ','byte memory',' capacity exceeded');error;
+history:=3;jumpout;end;if nameptr>maxnames-3 then begin writeln(output);
+write(output,'! Sorry, ','name',' capacity exceeded');error;history:=3;
+jumpout;end;i:=idfirst;while i<idloc do begin bytemem[w,k]:=buffer[i];
+k:=k+1;i:=i+1;end;byteptr[w]:=k;bytestart[nameptr+3]:=k;
+nameptr:=nameptr+1;if buffer[idfirst]<>34 then ilk[p]:=t else{64:}
+begin ilk[p]:=1;
+if l-doublechars=2 then equiv[p]:=buffer[idfirst+1]+32768 else begin
+equiv[p]:=stringptr+32768;l:=l-doublechars-1;
+if l>99 then begin writeln(output);
+write(output,'! Preprocessed string is too long');error;end;
+stringptr:=stringptr+1;write(pool,xchr[48+l div 10],xchr[48+l mod 10]);
+poolchecksum:=poolchecksum+poolchecksum+l;
+while poolchecksum>536870839 do poolchecksum:=poolchecksum-536870839;
+i:=idfirst+1;while i<idloc do begin write(pool,xchr[buffer[i]]);
+poolchecksum:=poolchecksum+poolchecksum+buffer[i];
+while poolchecksum>536870839 do poolchecksum:=poolchecksum-536870839;
+if(buffer[i]=34)or(buffer[i]=64)then i:=i+2 else i:=i+1;end;
+writeln(pool);end;end{:64};end{:61};end{:57};idlookup:=p;end;{:53}{66:}
+function modlookup(l:sixteenbits):namepointer;label 31;var c:0..4;
+j:0..longestname;k:0..maxbytes;w:0..2;p:namepointer;q:namepointer;
+begin c:=2;q:=0;p:=ilk[0];while p<>0 do begin{68:}begin k:=bytestart[p];
+w:=p mod 3;c:=1;j:=1;
+while(k<bytestart[p+3])and(j<=l)and(modtext[j]=bytemem[w,k])do begin k:=
+k+1;j:=j+1;end;
+if k=bytestart[p+3]then if j>l then c:=1 else c:=4 else if j>l then c:=3
+else if modtext[j]<bytemem[w,k]then c:=0 else c:=2;end{:68};q:=p;
+if c=0 then p:=link[q]else if c=2 then p:=ilk[q]else goto 31;end;{67:}
+w:=nameptr mod 3;k:=byteptr[w];
+if k+l>maxbytes then begin writeln(output);
+write(output,'! Sorry, ','byte memory',' capacity exceeded');error;
+history:=3;jumpout;end;if nameptr>maxnames-3 then begin writeln(output);
+write(output,'! Sorry, ','name',' capacity exceeded');error;history:=3;
+jumpout;end;p:=nameptr;if c=0 then link[q]:=p else ilk[q]:=p;link[p]:=0;
+ilk[p]:=0;c:=1;equiv[p]:=0;
+for j:=1 to l do bytemem[w,k+j-1]:=modtext[j];byteptr[w]:=k+l;
+bytestart[nameptr+3]:=k+l;nameptr:=nameptr+1;{:67};
+31:if c<>1 then begin begin writeln(output);
+write(output,'! Incompatible section names');error;end;p:=0;end;
+modlookup:=p;end;{:66}{69:}
+function prefixlookup(l:sixteenbits):namepointer;var c:0..4;
+count:0..maxnames;j:0..longestname;k:0..maxbytes;w:0..2;p:namepointer;
+q:namepointer;r:namepointer;begin q:=0;p:=ilk[0];count:=0;r:=0;
+while p<>0 do begin{68:}begin k:=bytestart[p];w:=p mod 3;c:=1;j:=1;
+while(k<bytestart[p+3])and(j<=l)and(modtext[j]=bytemem[w,k])do begin k:=
+k+1;j:=j+1;end;
+if k=bytestart[p+3]then if j>l then c:=1 else c:=4 else if j>l then c:=3
+else if modtext[j]<bytemem[w,k]then c:=0 else c:=2;end{:68};
+if c=0 then p:=link[p]else if c=2 then p:=ilk[p]else begin r:=p;
+count:=count+1;q:=ilk[p];p:=link[p];end;if p=0 then begin p:=q;q:=0;end;
+end;if count<>1 then if count=0 then begin writeln(output);
+write(output,'! Name does not match');error;
+end else begin writeln(output);write(output,'! Ambiguous prefix');error;
+end;prefixlookup:=r;end;{:69}{73:}
+procedure storetwobytes(x:sixteenbits);
+begin if tokptr[z]+2>maxtoks then begin writeln(output);
+write(output,'! Sorry, ','token',' capacity exceeded');error;history:=3;
+jumpout;end;tokmem[z,tokptr[z]]:=x div 256;
+tokmem[z,tokptr[z]+1]:=x mod 256;tokptr[z]:=tokptr[z]+2;end;{:73}{74:}
+{procedure printrepl(p:textpointer);var k:0..maxtoks;a:sixteenbits;
+zp:0..3;
+begin if p>=textptr then write(output,'BAD')else begin k:=tokstart[p];
+zp:=p mod 4;while k<tokstart[p+4]do begin a:=tokmem[zp,k];
+if a>=128 then[75:]begin k:=k+1;
+if a<168 then begin a:=(a-128)*256+tokmem[zp,k];printid(a);
+if bytemem[a mod 3,bytestart[a]]=34 then write(output,'"')else write(
+output,' ');end else if a<208 then begin write(output,'@<');
+printid((a-168)*256+tokmem[zp,k]);write(output,'@>');
+end else begin a:=(a-208)*256+tokmem[zp,k];
+write(output,'@',xchr[123],a:1,'@',xchr[125]);end;
+end[:75]else[76:]case a of 9:write(output,'@',xchr[123]);
+10:write(output,'@',xchr[125]);12:write(output,'@''');
+13:write(output,'@"');125:write(output,'@$');0:write(output,'#');
+64:write(output,'@@');2:write(output,'@=');3:write(output,'@\');
+otherwise write(output,xchr[a])end[:76];k:=k+1;end;end;end;}{:74}{84:}
+procedure pushlevel(p:namepointer);
+begin if stackptr=stacksize then begin writeln(output);
+write(output,'! Sorry, ','stack',' capacity exceeded');error;history:=3;
+jumpout;end else begin stack[stackptr]:=curstate;stackptr:=stackptr+1;
+curstate.namefield:=p;curstate.replfield:=equiv[p];
+zo:=curstate.replfield mod 4;
+curstate.bytefield:=tokstart[curstate.replfield];
+curstate.endfield:=tokstart[curstate.replfield+4];curstate.modfield:=0;
+end;end;{:84}{85:}procedure poplevel;label 10;
+begin if textlink[curstate.replfield]=0 then begin if ilk[curstate.
+namefield]=3 then{91:}begin nameptr:=nameptr-1;textptr:=textptr-1;
+z:=textptr mod 4;{if tokptr[z]>maxtokptr[z]then maxtokptr[z]:=tokptr[z];
+}tokptr[z]:=tokstart[textptr];
+{byteptr[nameptr mod 3]:=byteptr[nameptr mod 3]-1;}end{:91};
+end else if textlink[curstate.replfield]<maxtexts then begin curstate.
+replfield:=textlink[curstate.replfield];zo:=curstate.replfield mod 4;
+curstate.bytefield:=tokstart[curstate.replfield];
+curstate.endfield:=tokstart[curstate.replfield+4];goto 10;end;
+stackptr:=stackptr-1;if stackptr>0 then begin curstate:=stack[stackptr];
+zo:=curstate.replfield mod 4;end;10:end;{:85}{87:}
+function getoutput:sixteenbits;label 20,30,31;var a:sixteenbits;
+b:eightbits;bal:sixteenbits;k:0..maxbytes;w:0..2;
+begin 20:if stackptr=0 then begin a:=0;goto 31;end;
+if curstate.bytefield=curstate.endfield then begin curval:=-curstate.
+modfield;poplevel;if curval=0 then goto 20;a:=129;goto 31;end;
+a:=tokmem[zo,curstate.bytefield];
+curstate.bytefield:=curstate.bytefield+1;if a<128 then if a=0 then{92:}
+begin pushlevel(nameptr-1);goto 20;end{:92}else goto 31;
+a:=(a-128)*256+tokmem[zo,curstate.bytefield];
+curstate.bytefield:=curstate.bytefield+1;if a<10240 then{89:}
+begin case ilk[a]of 0:begin curval:=a;a:=130;end;
+1:begin curval:=equiv[a]-32768;a:=128;end;2:begin pushlevel(a);goto 20;
+end;3:begin{90:}
+while(curstate.bytefield=curstate.endfield)and(stackptr>0)do poplevel;
+if(stackptr=0)or(tokmem[zo,curstate.bytefield]<>40)then begin begin
+writeln(output);write(output,'! No parameter given for ');end;
+printid(a);error;goto 20;end;{93:}bal:=1;
+curstate.bytefield:=curstate.bytefield+1;
+while true do begin b:=tokmem[zo,curstate.bytefield];
+curstate.bytefield:=curstate.bytefield+1;
+if b=0 then storetwobytes(nameptr+32767)else begin if b>=128 then begin
+begin if tokptr[z]=maxtoks then begin writeln(output);
+write(output,'! Sorry, ','token',' capacity exceeded');error;history:=3;
+jumpout;end;tokmem[z,tokptr[z]]:=b;tokptr[z]:=tokptr[z]+1;end;
+b:=tokmem[zo,curstate.bytefield];
+curstate.bytefield:=curstate.bytefield+1;
+end else case b of 40:bal:=bal+1;41:begin bal:=bal-1;
+if bal=0 then goto 30;end;
+39:repeat begin if tokptr[z]=maxtoks then begin writeln(output);
+write(output,'! Sorry, ','token',' capacity exceeded');error;history:=3;
+jumpout;end;tokmem[z,tokptr[z]]:=b;tokptr[z]:=tokptr[z]+1;end;
+b:=tokmem[zo,curstate.bytefield];
+curstate.bytefield:=curstate.bytefield+1;until b=39;otherwise end;
+begin if tokptr[z]=maxtoks then begin writeln(output);
+write(output,'! Sorry, ','token',' capacity exceeded');error;history:=3;
+jumpout;end;tokmem[z,tokptr[z]]:=b;tokptr[z]:=tokptr[z]+1;end;end;end;
+30:{:93};equiv[nameptr]:=textptr;ilk[nameptr]:=2;w:=nameptr mod 3;
+k:=byteptr[w];{if k=maxbytes then begin writeln(output);
+write(output,'! Sorry, ','byte memory',' capacity exceeded');error;
+history:=3;jumpout;end;bytemem[w,k]:=35;k:=k+1;byteptr[w]:=k;}
+if nameptr>maxnames-3 then begin writeln(output);
+write(output,'! Sorry, ','name',' capacity exceeded');error;history:=3;
+jumpout;end;bytestart[nameptr+3]:=k;nameptr:=nameptr+1;
+if textptr>maxtexts-4 then begin writeln(output);
+write(output,'! Sorry, ','text',' capacity exceeded');error;history:=3;
+jumpout;end;textlink[textptr]:=0;tokstart[textptr+4]:=tokptr[z];
+textptr:=textptr+1;z:=textptr mod 4{:90};pushlevel(a);goto 20;end;end;
+goto 31;end{:89};if a<20480 then{88:}begin a:=a-10240;
+if equiv[a]<>0 then pushlevel(a)else if a<>0 then begin begin writeln(
+output);write(output,'! Not present: <');end;printid(a);
+write(output,'>');error;end;goto 20;end{:88};curval:=a-20480;a:=129;
+curstate.modfield:=curval;31:{if troubleshooting then debughelp;}
+getoutput:=a;end;{:87}{97:}procedure flushbuffer;var k:0..outbufsize;
+b:0..outbufsize;begin b:=breakptr;
+if(semiptr<>0)and(outptr-semiptr<=linelength)then breakptr:=semiptr;
+for k:=1 to breakptr do write(Pascalfile,xchr[outbuf[k-1]]);
+writeln(Pascalfile);line:=line+1;
+if line mod 100=0 then begin write(output,'.');
+if line mod 500=0 then write(output,line:1);flush(output);end;
+if breakptr<outptr then begin if outbuf[breakptr]=32 then begin breakptr
+:=breakptr+1;if breakptr>b then b:=breakptr;end;
+for k:=breakptr to outptr-1 do outbuf[k-breakptr]:=outbuf[k];end;
+outptr:=outptr-breakptr;breakptr:=b-breakptr;semiptr:=0;
+if outptr>linelength then begin begin writeln(output);
+write(output,'! Long line must be truncated');error;end;
+outptr:=linelength;end;end;{:97}{99:}procedure appval(v:integer);
+var k:0..outbufsize;begin k:=outbufsize;repeat outbuf[k]:=v mod 10;
+v:=v div 10;k:=k-1;until v=0;repeat k:=k+1;
+begin outbuf[outptr]:=outbuf[k]+48;outptr:=outptr+1;end;
+until k=outbufsize;end;{:99}{101:}procedure sendout(t:eightbits;
+v:sixteenbits);label 20;var k:0..linelength;begin{102:}
+20:case outstate of 1:if t<>3 then begin breakptr:=outptr;
+if t=2 then begin outbuf[outptr]:=32;outptr:=outptr+1;end;end;
+2:begin begin outbuf[outptr]:=44-outapp;outptr:=outptr+1;end;
+if outptr>linelength then flushbuffer;breakptr:=outptr;end;
+3,4:begin{103:}
+if(outval<0)or((outval=0)and(lastsign<0))then begin outbuf[outptr]:=45;
+outptr:=outptr+1;
+end else if outsign>0 then begin outbuf[outptr]:=outsign;
+outptr:=outptr+1;end;appval(abs(outval));
+if outptr>linelength then flushbuffer;{:103};outstate:=outstate-2;
+goto 20;end;5:{104:}begin if(t=3)or({105:}
+((t=2)and(v=3)and(((outcontrib[1]=68)and(outcontrib[2]=73)and(outcontrib
+[3]=86))or((outcontrib[1]=100)and(outcontrib[2]=105)and(outcontrib[3]=
+118))or((outcontrib[1]=77)and(outcontrib[2]=79)and(outcontrib[3]=68))or(
+(outcontrib[1]=109)and(outcontrib[2]=111)and(outcontrib[3]=100))))or((t=
+0)and((v=42)or(v=47))){:105})then begin{103:}
+if(outval<0)or((outval=0)and(lastsign<0))then begin outbuf[outptr]:=45;
+outptr:=outptr+1;
+end else if outsign>0 then begin outbuf[outptr]:=outsign;
+outptr:=outptr+1;end;appval(abs(outval));
+if outptr>linelength then flushbuffer;{:103};outsign:=43;outval:=outapp;
+end else outval:=outval+outapp;outstate:=3;goto 20;end{:104};
+0:if t<>3 then breakptr:=outptr;otherwise end{:102};
+if t<>0 then for k:=1 to v do begin outbuf[outptr]:=outcontrib[k];
+outptr:=outptr+1;end else begin outbuf[outptr]:=v;outptr:=outptr+1;end;
+if outptr>linelength then flushbuffer;
+if(t=0)and((v=59)or(v=125))then begin semiptr:=outptr;breakptr:=outptr;
+end;if t>=2 then outstate:=1 else outstate:=0 end;{:101}{106:}
+procedure sendsign(v:integer);
+begin case outstate of 2,4:outapp:=outapp*v;3:begin outapp:=v;
+outstate:=4;end;5:begin outval:=outval+outapp;outapp:=v;outstate:=4;end;
+otherwise begin breakptr:=outptr;outapp:=v;outstate:=2;end end;
+lastsign:=outapp;end;{:106}{107:}procedure sendval(v:integer);
+label 666,10;begin case outstate of 1:begin{110:}
+if(outptr=breakptr+3)or((outptr=breakptr+4)and(outbuf[breakptr]=32))then
+if((outbuf[outptr-3]=68)and(outbuf[outptr-2]=73)and(outbuf[outptr-1]=86)
+)or((outbuf[outptr-3]=100)and(outbuf[outptr-2]=105)and(outbuf[outptr-1]=
+118))or((outbuf[outptr-3]=77)and(outbuf[outptr-2]=79)and(outbuf[outptr-1
+]=68))or((outbuf[outptr-3]=109)and(outbuf[outptr-2]=111)and(outbuf[
+outptr-1]=100))then goto 666{:110};outsign:=32;outstate:=3;outval:=v;
+breakptr:=outptr;lastsign:=+1;end;0:begin{109:}
+if(outptr=breakptr+1)and((outbuf[breakptr]=42)or(outbuf[breakptr]=47))
+then goto 666{:109};outsign:=0;outstate:=3;outval:=v;breakptr:=outptr;
+lastsign:=+1;end;{108:}2:begin outsign:=43;outstate:=3;outval:=outapp*v;
+end;3:begin outstate:=5;outapp:=v;begin writeln(output);
+write(output,'! Two numbers occurred without a sign between them');
+error;end;end;4:begin outstate:=5;outapp:=outapp*v;end;
+5:begin outval:=outval+outapp;outapp:=v;begin writeln(output);
+write(output,'! Two numbers occurred without a sign between them');
+error;end;end;{:108}otherwise goto 666 end;goto 10;666:{111:}
+if v>=0 then begin if outstate=1 then begin breakptr:=outptr;
+begin outbuf[outptr]:=32;outptr:=outptr+1;end;end;appval(v);
+if outptr>linelength then flushbuffer;outstate:=1;
+end else begin begin outbuf[outptr]:=40;outptr:=outptr+1;end;
+begin outbuf[outptr]:=45;outptr:=outptr+1;end;appval(-v);
+begin outbuf[outptr]:=41;outptr:=outptr+1;end;
+if outptr>linelength then flushbuffer;outstate:=0;end{:111};10:end;
+{:107}{113:}procedure sendtheoutput;label 2,21,22;var curchar:eightbits;
+k:0..linelength;j:0..maxbytes;w:0..2;n:integer;
+begin while stackptr>0 do begin curchar:=getoutput;
+21:case curchar of 0:;{116:}
+65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,
+89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,
+114,115,116,117,118,119,120,121,122:begin outcontrib[1]:=curchar;
+sendout(2,1);end;130:begin k:=0;j:=bytestart[curval];w:=curval mod 3;
+while(k<maxidlength)and(j<bytestart[curval+3])do begin k:=k+1;
+outcontrib[k]:=bytemem[w,j];j:=j+1;if outcontrib[k]=95 then k:=k-1;end;
+sendout(2,k);end;{:116}{119:}48,49,50,51,52,53,54,55,56,57:begin n:=0;
+repeat curchar:=curchar-48;if n>=214748364 then begin writeln(output);
+write(output,'! Constant too big');error;end else n:=10*n+curchar;
+curchar:=getoutput;until(curchar>57)or(curchar<48);sendval(n);k:=0;
+if curchar=101 then curchar:=69;if curchar=69 then goto 2 else goto 21;
+end;125:sendval(poolchecksum);12:begin n:=0;curchar:=48;
+repeat curchar:=curchar-48;if n>=268435456 then begin writeln(output);
+write(output,'! Constant too big');error;end else n:=8*n+curchar;
+curchar:=getoutput;until(curchar>55)or(curchar<48);sendval(n);goto 21;
+end;13:begin n:=0;curchar:=48;
+repeat if curchar>=65 then curchar:=curchar-55 else curchar:=curchar-48;
+if n>=134217728 then begin writeln(output);
+write(output,'! Constant too big');error;end else n:=16*n+curchar;
+curchar:=getoutput;
+until(curchar>70)or(curchar<48)or((curchar>57)and(curchar<65));
+sendval(n);goto 21;end;128:sendval(curval);46:begin k:=1;
+outcontrib[1]:=46;curchar:=getoutput;
+if curchar=46 then begin outcontrib[2]:=46;sendout(1,2);
+end else if(curchar>=48)and(curchar<=57)then goto 2 else begin sendout(0
+,46);goto 21;end;end;{:119}43,45:sendsign(44-curchar);{114:}
+4:begin outcontrib[1]:=97;outcontrib[2]:=110;outcontrib[3]:=100;
+sendout(2,3);end;5:begin outcontrib[1]:=110;outcontrib[2]:=111;
+outcontrib[3]:=116;sendout(2,3);end;6:begin outcontrib[1]:=105;
+outcontrib[2]:=110;sendout(2,2);end;31:begin outcontrib[1]:=111;
+outcontrib[2]:=114;sendout(2,2);end;24:begin outcontrib[1]:=58;
+outcontrib[2]:=61;sendout(1,2);end;26:begin outcontrib[1]:=60;
+outcontrib[2]:=62;sendout(1,2);end;28:begin outcontrib[1]:=60;
+outcontrib[2]:=61;sendout(1,2);end;29:begin outcontrib[1]:=62;
+outcontrib[2]:=61;sendout(1,2);end;30:begin outcontrib[1]:=61;
+outcontrib[2]:=61;sendout(1,2);end;32:begin outcontrib[1]:=46;
+outcontrib[2]:=46;sendout(1,2);end;{:114}39:{117:}begin k:=1;
+outcontrib[1]:=39;repeat if k<linelength then k:=k+1;
+outcontrib[k]:=getoutput;until(outcontrib[k]=39)or(stackptr=0);
+if k=linelength then begin writeln(output);
+write(output,'! String too long');error;end;sendout(1,k);
+curchar:=getoutput;if curchar=39 then outstate:=6;goto 21;end{:117};
+{115:}
+33,34,35,36,37,38,40,41,42,44,47,58,59,60,61,62,63,64,91,92,93,94,95,96,
+123,124{:115}:sendout(0,curchar);{121:}
+9:begin if bracelevel=0 then sendout(0,123)else sendout(0,91);
+bracelevel:=bracelevel+1;end;
+10:if bracelevel>0 then begin bracelevel:=bracelevel-1;
+if bracelevel=0 then sendout(0,125)else sendout(0,93);
+end else begin writeln(output);write(output,'! Extra @}');error;end;
+129:begin if bracelevel=0 then sendout(0,123)else sendout(0,91);
+if curval<0 then begin sendout(0,58);sendval(-curval);
+end else begin sendval(curval);sendout(0,58);end;
+if bracelevel=0 then sendout(0,125)else sendout(0,93);end;{:121}
+127:begin sendout(3,0);outstate:=6;end;2:{118:}begin k:=0;
+repeat if k<linelength then k:=k+1;outcontrib[k]:=getoutput;
+until(outcontrib[k]=2)or(stackptr=0);
+if k=linelength then begin writeln(output);
+write(output,'! Verbatim string too long');error;end;sendout(1,k-1);
+end{:118};3:{122:}begin sendout(1,0);
+while outptr>0 do begin if outptr<=linelength then breakptr:=outptr;
+flushbuffer;end;outstate:=0;end{:122};otherwise begin writeln(output);
+write(output,'! Can''t output ASCII code ',curchar:1);error;end end;
+goto 22;2:{120:}repeat if k<linelength then k:=k+1;
+outcontrib[k]:=curchar;curchar:=getoutput;
+if(outcontrib[k]=69)and((curchar=43)or(curchar=45))then begin if k<
+linelength then k:=k+1;outcontrib[k]:=curchar;curchar:=getoutput;
+end else if curchar=101 then curchar:=69;
+until(curchar<>69)and((curchar<48)or(curchar>57));
+if k=linelength then begin writeln(output);
+write(output,'! Fraction too long');error;end;sendout(3,k);goto 21{:120}
+;22:end;end;{:113}{127:}function linesdontmatch:boolean;label 10;
+var k:0..bufsize;begin linesdontmatch:=true;
+if changelimit<>limit then goto 10;
+if limit>0 then for k:=0 to limit-1 do if changebuffer[k]<>buffer[k]then
+goto 10;linesdontmatch:=false;10:end;{:127}{128:}
+procedure primethechangebuffer;label 22,30,10;var k:0..bufsize;
+begin changelimit:=0;{129:}while true do begin line:=line+1;
+if not inputln(changefile)then goto 10;if limit<2 then goto 22;
+if buffer[0]<>64 then goto 22;
+if(buffer[1]>=88)and(buffer[1]<=90)then buffer[1]:=buffer[1]+32;
+if buffer[1]=120 then goto 30;
+if(buffer[1]=121)or(buffer[1]=122)then begin loc:=2;
+begin writeln(output);write(output,'! Where is the matching @x?');error;
+end;end;22:end;30:{:129};{130:}repeat line:=line+1;
+if not inputln(changefile)then begin begin writeln(output);
+write(output,'! Change file ended after @x');error;end;goto 10;end;
+until limit>0;{:130};{131:}begin changelimit:=limit;
+if limit>0 then for k:=0 to limit-1 do changebuffer[k]:=buffer[k];
+end{:131};10:end;{:128}{132:}procedure checkchange;label 10;
+var n:integer;k:0..bufsize;begin if linesdontmatch then goto 10;n:=0;
+while true do begin changing:=not changing;templine:=otherline;
+otherline:=line;line:=templine;line:=line+1;
+if not inputln(changefile)then begin begin writeln(output);
+write(output,'! Change file ended before @y');error;end;changelimit:=0;
+changing:=not changing;templine:=otherline;otherline:=line;
+line:=templine;goto 10;end;{133:}
+if limit>1 then if buffer[0]=64 then begin if(buffer[1]>=88)and(buffer[1
+]<=90)then buffer[1]:=buffer[1]+32;
+if(buffer[1]=120)or(buffer[1]=122)then begin loc:=2;
+begin writeln(output);write(output,'! Where is the matching @y?');error;
+end;end else if buffer[1]=121 then begin if n>0 then begin loc:=2;
+begin writeln(output);
+write(output,'! Hmm... ',n:1,' of the preceding lines failed to match');
+error;end;end;goto 10;end;end{:133};{131:}begin changelimit:=limit;
+if limit>0 then for k:=0 to limit-1 do changebuffer[k]:=buffer[k];
+end{:131};changing:=not changing;templine:=otherline;otherline:=line;
+line:=templine;line:=line+1;
+if not inputln(webfile)then begin begin writeln(output);
+write(output,'! WEB file ended during a change');error;end;
+inputhasended:=true;goto 10;end;if linesdontmatch then n:=n+1;end;
+10:end;{:132}{135:}procedure getline;label 20;
+begin 20:if changing then{137:}begin line:=line+1;
+if not inputln(changefile)then begin begin writeln(output);
+write(output,'! Change file ended without @z');error;end;buffer[0]:=64;
+buffer[1]:=122;limit:=2;end;
+if limit>1 then if buffer[0]=64 then begin if(buffer[1]>=88)and(buffer[1
+]<=90)then buffer[1]:=buffer[1]+32;
+if(buffer[1]=120)or(buffer[1]=121)then begin loc:=2;
+begin writeln(output);write(output,'! Where is the matching @z?');error;
+end;end else if buffer[1]=122 then begin primethechangebuffer;
+changing:=not changing;templine:=otherline;otherline:=line;
+line:=templine;end;end;end{:137};if not changing then begin{136:}
+begin line:=line+1;
+if not inputln(webfile)then inputhasended:=true else if limit=
+changelimit then if buffer[0]=changebuffer[0]then if changelimit>0 then
+checkchange;end{:136};if changing then goto 20;end;loc:=0;
+buffer[limit]:=32;end;{:135}{139:}
+function controlcode(c:ASCIIcode):eightbits;
+begin case c of 64:controlcode:=64;39:controlcode:=12;
+34:controlcode:=13;36:controlcode:=125;32,9:controlcode:=136;
+42:begin write(output,'*',modulecount+1:1);flush(output);
+controlcode:=136;end;68,100:controlcode:=133;70,102:controlcode:=132;
+123:controlcode:=9;125:controlcode:=10;80,112:controlcode:=134;
+84,116,94,46,58:controlcode:=131;38:controlcode:=127;
+60:controlcode:=135;61:controlcode:=2;92:controlcode:=3;
+otherwise controlcode:=0 end;end;{:139}{140:}
+function skipahead:eightbits;label 30;var c:eightbits;
+begin while true do begin if loc>limit then begin getline;
+if inputhasended then begin c:=136;goto 30;end;end;buffer[limit+1]:=64;
+while buffer[loc]<>64 do loc:=loc+1;if loc<=limit then begin loc:=loc+2;
+c:=controlcode(buffer[loc-1]);if(c<>0)or(buffer[loc-1]=62)then goto 30;
+end;end;30:skipahead:=c;end;{:140}{141:}procedure skipcomment;label 10;
+var bal:eightbits;c:ASCIIcode;begin bal:=0;
+while true do begin if loc>limit then begin getline;
+if inputhasended then begin begin writeln(output);
+write(output,'! Input ended in mid-comment');error;end;goto 10;end;end;
+c:=buffer[loc];loc:=loc+1;{142:}if c=64 then begin c:=buffer[loc];
+if(c<>32)and(c<>9)and(c<>42)and(c<>122)and(c<>90)then loc:=loc+1 else
+begin begin writeln(output);
+write(output,'! Section ended in mid-comment');error;end;loc:=loc-1;
+goto 10;
+end end else if(c=92)and(buffer[loc]<>64)then loc:=loc+1 else if c=123
+then bal:=bal+1 else if c=125 then begin if bal=0 then goto 10;
+bal:=bal-1;end{:142};end;10:end;{:141}{145:}function getnext:eightbits;
+label 20,30,31;var c:eightbits;d:eightbits;j,k:0..longestname;
+begin 20:if loc>limit then begin getline;
+if inputhasended then begin c:=136;goto 31;end;end;c:=buffer[loc];
+loc:=loc+1;if scanninghex then{146:}
+if((c>=48)and(c<=57))or((c>=65)and(c<=70))then goto 31 else scanninghex
+:=false{:146};
+case c of 65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85
+,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111
+,112,113,114,115,116,117,118,119,120,121,122:{148:}
+begin if((c=101)or(c=69))and(loc>1)then if(buffer[loc-2]<=57)and(buffer[
+loc-2]>=48)then c:=0;if c<>0 then begin loc:=loc-1;idfirst:=loc;
+repeat loc:=loc+1;d:=buffer[loc];
+until((d<48)or((d>57)and(d<65))or((d>90)and(d<97))or(d>122))and(d<>95);
+if loc>idfirst+1 then begin c:=130;idloc:=loc;end;end else c:=69;
+end{:148};34:{149:}begin doublechars:=0;idfirst:=loc-1;
+repeat d:=buffer[loc];loc:=loc+1;
+if(d=34)or(d=64)then if buffer[loc]=d then begin loc:=loc+1;d:=0;
+doublechars:=doublechars+1;
+end else begin if d=64 then begin writeln(output);
+write(output,'! Double @ sign missing');error;
+end end else if loc>limit then begin begin writeln(output);
+write(output,'! String constant didn''t end');error;end;d:=34;end;
+until d=34;idloc:=loc-1;c:=130;end{:149};64:{150:}
+begin c:=controlcode(buffer[loc]);loc:=loc+1;
+if c=0 then goto 20 else if c=13 then scanninghex:=true else if c=135
+then{151:}begin{153:}k:=0;
+while true do begin if loc>limit then begin getline;
+if inputhasended then begin begin writeln(output);
+write(output,'! Input ended in section name');error;end;goto 30;end;end;
+d:=buffer[loc];{154:}if d=64 then begin d:=buffer[loc+1];
+if d=62 then begin loc:=loc+2;goto 30;end;
+if(d=32)or(d=9)or(d=42)then begin begin writeln(output);
+write(output,'! Section name didn''t end');error;end;goto 30;end;k:=k+1;
+modtext[k]:=64;loc:=loc+1;end{:154};loc:=loc+1;
+if k<longestname-1 then k:=k+1;if(d=32)or(d=9)then begin d:=32;
+if modtext[k-1]=32 then k:=k-1;end;modtext[k]:=d;end;30:{155:}
+if k>=longestname-2 then begin begin writeln(output);
+write(output,'! Section name too long: ');end;
+for j:=1 to 25 do write(output,xchr[modtext[j]]);write(output,'...');
+if history=0 then history:=1;end{:155};
+if(modtext[k]=32)and(k>0)then k:=k-1;{:153};
+if k>3 then begin if(modtext[k]=46)and(modtext[k-1]=46)and(modtext[k-2]=
+46)then curmodule:=prefixlookup(k-3)else curmodule:=modlookup(k);
+end else curmodule:=modlookup(k);end{:151}
+else if c=131 then begin repeat c:=skipahead;until c<>64;
+if buffer[loc-1]<>62 then begin writeln(output);
+write(output,'! Improper @ within control text');error;end;goto 20;end;
+end{:150};{147:}
+46:if buffer[loc]=46 then begin if loc<=limit then begin c:=32;
+loc:=loc+1;end;
+end else if buffer[loc]=41 then begin if loc<=limit then begin c:=93;
+loc:=loc+1;end;end;
+58:if buffer[loc]=61 then begin if loc<=limit then begin c:=24;
+loc:=loc+1;end;end;
+61:if buffer[loc]=61 then begin if loc<=limit then begin c:=30;
+loc:=loc+1;end;end;
+62:if buffer[loc]=61 then begin if loc<=limit then begin c:=29;
+loc:=loc+1;end;end;
+60:if buffer[loc]=61 then begin if loc<=limit then begin c:=28;
+loc:=loc+1;end;
+end else if buffer[loc]=62 then begin if loc<=limit then begin c:=26;
+loc:=loc+1;end;end;
+40:if buffer[loc]=42 then begin if loc<=limit then begin c:=9;
+loc:=loc+1;end;
+end else if buffer[loc]=46 then begin if loc<=limit then begin c:=91;
+loc:=loc+1;end;end;
+42:if buffer[loc]=41 then begin if loc<=limit then begin c:=10;
+loc:=loc+1;end;end;{:147}32,9:goto 20;123:begin skipcomment;goto 20;end;
+125:begin begin writeln(output);write(output,'! Extra }');error;end;
+goto 20;end;otherwise if c>=128 then goto 20 else end;
+31:{if troubleshooting then debughelp;}getnext:=c;end;{:145}{157:}
+procedure scannumeric(p:namepointer);label 21,30;
+var accumulator:integer;nextsign:-1..+1;q:namepointer;val:integer;
+begin{158:}accumulator:=0;nextsign:=+1;
+while true do begin nextcontrol:=getnext;
+21:case nextcontrol of 48,49,50,51,52,53,54,55,56,57:begin{160:}val:=0;
+repeat val:=10*val+nextcontrol-48;nextcontrol:=getnext;
+until(nextcontrol>57)or(nextcontrol<48){:160};
+begin accumulator:=accumulator+nextsign*(val);nextsign:=+1;end;goto 21;
+end;12:begin{161:}val:=0;nextcontrol:=48;
+repeat val:=8*val+nextcontrol-48;nextcontrol:=getnext;
+until(nextcontrol>55)or(nextcontrol<48){:161};
+begin accumulator:=accumulator+nextsign*(val);nextsign:=+1;end;goto 21;
+end;13:begin{162:}val:=0;nextcontrol:=48;
+repeat if nextcontrol>=65 then nextcontrol:=nextcontrol-7;
+val:=16*val+nextcontrol-48;nextcontrol:=getnext;
+until(nextcontrol>70)or(nextcontrol<48)or((nextcontrol>57)and(
+nextcontrol<65)){:162};begin accumulator:=accumulator+nextsign*(val);
+nextsign:=+1;end;goto 21;end;130:begin q:=idlookup(0);
+if ilk[q]<>1 then begin nextcontrol:=42;goto 21;end;
+begin accumulator:=accumulator+nextsign*(equiv[q]-32768);nextsign:=+1;
+end;end;43:;45:nextsign:=-nextsign;132,133,135,134,136:goto 30;
+59:begin writeln(output);
+write(output,'! Omit semicolon in numeric definition');error;end;
+otherwise{159:}begin begin writeln(output);
+write(output,'! Improper numeric definition will be flushed');error;end;
+repeat nextcontrol:=skipahead until(nextcontrol>=132);
+if nextcontrol=135 then begin loc:=loc-2;nextcontrol:=getnext;end;
+accumulator:=0;goto 30;end{:159}end;end;30:{:158};
+if abs(accumulator)>=32768 then begin begin writeln(output);
+write(output,'! Value too big: ',accumulator:1);error;end;
+accumulator:=0;end;equiv[p]:=accumulator+32768;end;{:157}{165:}
+procedure scanrepl(t:eightbits);label 22,30,31,21;var a:sixteenbits;
+b:ASCIIcode;bal:eightbits;begin bal:=0;
+while true do begin 22:a:=getnext;case a of 40:bal:=bal+1;
+41:if bal=0 then begin writeln(output);write(output,'! Extra )');error;
+end else bal:=bal-1;39:{168:}begin b:=39;
+while true do begin begin if tokptr[z]=maxtoks then begin writeln(output
+);write(output,'! Sorry, ','token',' capacity exceeded');error;
+history:=3;jumpout;end;tokmem[z,tokptr[z]]:=b;tokptr[z]:=tokptr[z]+1;
+end;
+if b=64 then if buffer[loc]=64 then loc:=loc+1 else begin writeln(output
+);write(output,'! You should double @ signs in strings');error;end;
+if loc=limit then begin begin writeln(output);
+write(output,'! String didn''t end');error;end;buffer[loc]:=39;
+buffer[loc+1]:=0;end;b:=buffer[loc];loc:=loc+1;
+if b=39 then begin if buffer[loc]<>39 then goto 31 else begin loc:=loc+1
+;begin if tokptr[z]=maxtoks then begin writeln(output);
+write(output,'! Sorry, ','token',' capacity exceeded');error;history:=3;
+jumpout;end;tokmem[z,tokptr[z]]:=39;tokptr[z]:=tokptr[z]+1;end;end;end;
+end;31:end{:168};35:if t=3 then a:=0;{167:}130:begin a:=idlookup(0);
+begin if tokptr[z]=maxtoks then begin writeln(output);
+write(output,'! Sorry, ','token',' capacity exceeded');error;history:=3;
+jumpout;end;tokmem[z,tokptr[z]]:=(a div 256)+128;tokptr[z]:=tokptr[z]+1;
+end;a:=a mod 256;end;
+135:if t<>135 then goto 30 else begin begin if tokptr[z]=maxtoks then
+begin writeln(output);
+write(output,'! Sorry, ','token',' capacity exceeded');error;history:=3;
+jumpout;end;tokmem[z,tokptr[z]]:=(curmodule div 256)+168;
+tokptr[z]:=tokptr[z]+1;end;a:=curmodule mod 256;end;2:{169:}
+begin begin if tokptr[z]=maxtoks then begin writeln(output);
+write(output,'! Sorry, ','token',' capacity exceeded');error;history:=3;
+jumpout;end;tokmem[z,tokptr[z]]:=2;tokptr[z]:=tokptr[z]+1;end;
+buffer[limit+1]:=64;
+21:if buffer[loc]=64 then begin if loc<limit then if buffer[loc+1]=64
+then begin begin if tokptr[z]=maxtoks then begin writeln(output);
+write(output,'! Sorry, ','token',' capacity exceeded');error;history:=3;
+jumpout;end;tokmem[z,tokptr[z]]:=64;tokptr[z]:=tokptr[z]+1;end;
+loc:=loc+2;goto 21;end;
+end else begin begin if tokptr[z]=maxtoks then begin writeln(output);
+write(output,'! Sorry, ','token',' capacity exceeded');error;history:=3;
+jumpout;end;tokmem[z,tokptr[z]]:=buffer[loc];tokptr[z]:=tokptr[z]+1;end;
+loc:=loc+1;goto 21;end;if loc>=limit then begin writeln(output);
+write(output,'! Verbatim string didn''t end');error;
+end else if buffer[loc+1]<>62 then begin writeln(output);
+write(output,'! You should double @ signs in verbatim strings');error;
+end;loc:=loc+2;end{:169};
+133,132,134:if t<>135 then goto 30 else begin begin writeln(output);
+write(output,'! @',xchr[buffer[loc-1]],' is ignored in Pascal text');
+error;end;goto 22;end;136:goto 30;{:167}otherwise end;
+begin if tokptr[z]=maxtoks then begin writeln(output);
+write(output,'! Sorry, ','token',' capacity exceeded');error;history:=3;
+jumpout;end;tokmem[z,tokptr[z]]:=a;tokptr[z]:=tokptr[z]+1;end;end;
+30:nextcontrol:=a;{166:}
+if bal>0 then begin if bal=1 then begin writeln(output);
+write(output,'! Missing )');error;end else begin writeln(output);
+write(output,'! Missing ',bal:1,' )''s');error;end;
+while bal>0 do begin begin if tokptr[z]=maxtoks then begin writeln(
+output);write(output,'! Sorry, ','token',' capacity exceeded');error;
+history:=3;jumpout;end;tokmem[z,tokptr[z]]:=41;tokptr[z]:=tokptr[z]+1;
+end;bal:=bal-1;end;end{:166};
+if textptr>maxtexts-4 then begin writeln(output);
+write(output,'! Sorry, ','text',' capacity exceeded');error;history:=3;
+jumpout;end;currepltext:=textptr;tokstart[textptr+4]:=tokptr[z];
+textptr:=textptr+1;if z=3 then z:=0 else z:=z+1;end;{:165}{170:}
+procedure definemacro(t:eightbits);var p:namepointer;
+begin p:=idlookup(t);scanrepl(t);equiv[p]:=currepltext;
+textlink[currepltext]:=0;end;{:170}{172:}procedure scanmodule;
+label 22,30,10;var p:namepointer;begin modulecount:=modulecount+1;{173:}
+nextcontrol:=0;
+while true do begin 22:while nextcontrol<=132 do begin nextcontrol:=
+skipahead;if nextcontrol=135 then begin loc:=loc-2;nextcontrol:=getnext;
+end;end;if nextcontrol<>133 then goto 30;nextcontrol:=getnext;
+if nextcontrol<>130 then begin begin writeln(output);
+write(output,'! Definition flushed, must start with ',
+'identifier of length > 1');error;end;goto 22;end;nextcontrol:=getnext;
+if nextcontrol=61 then begin scannumeric(idlookup(1));goto 22;
+end else if nextcontrol=30 then begin definemacro(2);goto 22;
+end else{174:}if nextcontrol=40 then begin nextcontrol:=getnext;
+if nextcontrol=35 then begin nextcontrol:=getnext;
+if nextcontrol=41 then begin nextcontrol:=getnext;
+if nextcontrol=61 then begin begin writeln(output);
+write(output,'! Use == for macros');error;end;nextcontrol:=30;end;
+if nextcontrol=30 then begin definemacro(3);goto 22;end;end;end;end;
+{:174};begin writeln(output);
+write(output,'! Definition flushed since it starts badly');error;end;
+end;30:{:173};{175:}case nextcontrol of 134:p:=0;135:begin p:=curmodule;
+{176:}repeat nextcontrol:=getnext;until nextcontrol<>43;
+if(nextcontrol<>61)and(nextcontrol<>30)then begin begin writeln(output);
+write(output,'! Pascal text flushed, = sign is missing');error;end;
+repeat nextcontrol:=skipahead;until nextcontrol=136;goto 10;end{:176};
+end;otherwise goto 10 end;{177:}storetwobytes(53248+modulecount);{:177};
+scanrepl(135);{178:}
+if p=0 then begin textlink[lastunnamed]:=currepltext;
+lastunnamed:=currepltext;
+end else if equiv[p]=0 then equiv[p]:=currepltext else begin p:=equiv[p]
+;while textlink[p]<maxtexts do p:=textlink[p];textlink[p]:=currepltext;
+end;textlink[currepltext]:=maxtexts;{:178};{:175};10:end;{:172}{181:}
+{procedure debughelp;label 888,10;var k:integer;
+begin debugskipped:=debugskipped+1;
+if debugskipped<debugcycle then goto 10;debugskipped:=0;
+while true do begin write(output,'#');flush(output);read(input,ddt);
+if ddt<0 then goto 10 else if ddt=0 then begin goto 888;
+888:ddt:=0;
+end else begin read(input,dd);case ddt of 1:printid(dd);2:printrepl(dd);
+3:for k:=1 to dd do write(output,xchr[buffer[k]]);
+4:for k:=1 to dd do write(output,xchr[modtext[k]]);
+5:for k:=1 to outptr do write(output,xchr[outbuf[k]]);
+6:for k:=1 to dd do write(output,xchr[outcontrib[k]]);
+otherwise write(output,'?')end;end;end;10:end;}{:181}{182:}
+begin initialize;{134:}openinput;line:=0;otherline:=0;changing:=true;
+primethechangebuffer;changing:=not changing;templine:=otherline;
+otherline:=line;line:=templine;limit:=0;loc:=1;buffer[0]:=32;
+inputhasended:=false;{:134};
+writeln(output,'This is TANGLE, Version 4.4 for Linux');{183:}
+phaseone:=true;modulecount:=0;repeat nextcontrol:=skipahead;
+until nextcontrol=136;while not inputhasended do scanmodule;{138:}
+if changelimit<>0 then begin for ii:=0 to changelimit do buffer[ii]:=
+changebuffer[ii];limit:=changelimit;changing:=true;line:=otherline;
+loc:=changelimit;begin writeln(output);
+write(output,'! Change file entry did not match');error;end;end{:138};
+phaseone:=false;{:183};{for ii:=0 to 3 do maxtokptr[ii]:=tokptr[ii];}
+{112:}if textlink[0]=0 then begin begin writeln(output);
+write(output,'! No output was specified.');end;
+if history=0 then history:=1;end else begin begin writeln(output);
+write(output,'Writing the output file');end;flush(output);{83:}
+stackptr:=1;bracelevel:=0;curstate.namefield:=0;
+curstate.replfield:=textlink[0];zo:=curstate.replfield mod 4;
+curstate.bytefield:=tokstart[curstate.replfield];
+curstate.endfield:=tokstart[curstate.replfield+4];curstate.modfield:=0;
+{:83};{96:}outstate:=0;outptr:=0;breakptr:=0;semiptr:=0;outbuf[0]:=0;
+line:=1;{:96};sendtheoutput;{98:}breakptr:=outptr;semiptr:=0;
+flushbuffer;if bracelevel<>0 then begin writeln(output);
+write(output,'! Program ended at brace level ',bracelevel:1);error;end;
+{:98};begin writeln(output);write(output,'Done.');end;end{:112};
+9999:if stringptr>256 then{184:}begin begin writeln(output);
+write(output,stringptr-256:1,' strings written to string pool file.');
+end;write(pool,'*');
+for ii:=1 to 9 do begin outbuf[ii]:=poolchecksum mod 10;
+poolchecksum:=poolchecksum div 10;end;
+for ii:=9 downto 1 do write(pool,xchr[48+outbuf[ii]]);writeln(pool);
+end{:184};{[186:]begin writeln(output);
+write(output,'Memory usage statistics:');end;begin writeln(output);
+write(output,nameptr:1,' names, ',textptr:1,' replacement texts;');end;
+begin writeln(output);write(output,byteptr[0]:1);end;
+for wo:=1 to 2 do write(output,'+',byteptr[wo]:1);
+if phaseone then for ii:=0 to 3 do maxtokptr[ii]:=tokptr[ii];
+write(output,' bytes, ',maxtokptr[0]:1);
+for ii:=1 to 3 do write(output,'+',maxtokptr[ii]:1);
+write(output,' tokens.');[:186];}{187:}
+case history of 0:begin writeln(output);
+write(output,'(No errors were found.)');end;1:begin writeln(output);
+write(output,'(Did you see the warning message above?)');end;
+2:begin writeln(output);
+write(output,'(Pardon me, but I think I spotted something wrong.)');end;
+3:begin writeln(output);
+write(output,'(That was a fatal error, my friend.)');end;end{:187};
+writeln(output);if(history<>0)and(history<>1)then exit(1)else exit(0);
+end.{:182}
diff --git a/systems/knuth/local/web/weave.o b/systems/knuth/local/web/weave.o
new file mode 100644
index 0000000000..de0e197f71
--- /dev/null
+++ b/systems/knuth/local/web/weave.o
Binary files differ