summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/dvips
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-04-07 18:29:49 +0000
committerKarl Berry <karl@freefriends.org>2013-04-07 18:29:49 +0000
commit80b364fa37a748aef4fac9903b0892b1d4961087 (patch)
treeb93e677c5392e1a2805044ccece2f73e5f1a71c0 /Master/texmf-dist/dvips
parentb04c2e1a42573e9735547702356c7b9a769a6855 (diff)
texmf -> texmf-dist: dvips
git-svn-id: svn://tug.org/texlive/trunk@29715 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/dvips')
-rw-r--r--Master/texmf-dist/dvips/base/color.pro46
-rw-r--r--Master/texmf-dist/dvips/base/crop.pro6
-rw-r--r--Master/texmf-dist/dvips/base/finclude.pro4
-rw-r--r--Master/texmf-dist/dvips/base/hps.pro53
-rw-r--r--Master/texmf-dist/dvips/base/special.pro56
-rw-r--r--Master/texmf-dist/dvips/base/tex.pro45
-rw-r--r--Master/texmf-dist/dvips/base/texc.pro57
-rw-r--r--Master/texmf-dist/dvips/base/texps.pro14
-rw-r--r--Master/texmf-dist/dvips/config/alt-rule.pro17
-rw-r--r--Master/texmf-dist/dvips/config/canonex.cfg2
-rw-r--r--Master/texmf-dist/dvips/config/config.bakoma3
-rw-r--r--Master/texmf-dist/dvips/config/config.canonex2
-rw-r--r--Master/texmf-dist/dvips/config/config.cx2
-rw-r--r--Master/texmf-dist/dvips/config/config.deskjet2
-rw-r--r--Master/texmf-dist/dvips/config/config.dvired2
-rw-r--r--Master/texmf-dist/dvips/config/config.epson2
-rw-r--r--Master/texmf-dist/dvips/config/config.ibmvga2
-rw-r--r--Master/texmf-dist/dvips/config/config.ljfour2
-rw-r--r--Master/texmf-dist/dvips/config/config.luc10
-rw-r--r--Master/texmf-dist/dvips/config/config.mbn1
-rw-r--r--Master/texmf-dist/dvips/config/config.mga1
-rw-r--r--Master/texmf-dist/dvips/config/config.mirrorprint6
-rw-r--r--Master/texmf-dist/dvips/config/config.ot22
-rw-r--r--Master/texmf-dist/dvips/config/config.ps604
-rw-r--r--Master/texmf-dist/dvips/config/config.qms2
-rw-r--r--Master/texmf-dist/dvips/config/config.toshiba2
-rw-r--r--Master/texmf-dist/dvips/config/config.unms1
-rw-r--r--Master/texmf-dist/dvips/config/config.xyp1
-rw-r--r--Master/texmf-dist/dvips/config/cx.cfg2
-rw-r--r--Master/texmf-dist/dvips/config/deskjet.cfg2
-rw-r--r--Master/texmf-dist/dvips/config/dfaxhigh.cfg3
-rw-r--r--Master/texmf-dist/dvips/config/dvired.cfg2
-rw-r--r--Master/texmf-dist/dvips/config/epson.cfg2
-rw-r--r--Master/texmf-dist/dvips/config/ibmvga.cfg2
-rw-r--r--Master/texmf-dist/dvips/config/ljfour.cfg2
-rw-r--r--Master/texmf-dist/dvips/config/qms.cfg2
-rw-r--r--Master/texmf-dist/dvips/config/toshiba.cfg2
-rw-r--r--Master/texmf-dist/dvips/getafm/getafm.ps352
-rw-r--r--Master/texmf-dist/dvips/gsftopk/render.ps346
-rw-r--r--Master/texmf-dist/dvips/tetex/config.builtin3511
-rw-r--r--Master/texmf-dist/dvips/tetex/config.dfaxhigh9
-rw-r--r--Master/texmf-dist/dvips/tetex/config.dfaxlo9
-rw-r--r--Master/texmf-dist/dvips/tetex/config.download3511
-rw-r--r--Master/texmf-dist/dvips/tetex/config.gsftopk6
-rw-r--r--Master/texmf-dist/dvips/tetex/config.maxmem9
-rw-r--r--Master/texmf-dist/dvips/tetex/config.outline6
-rw-r--r--Master/texmf-dist/dvips/tetex/config.pdf43
-rw-r--r--Master/texmf-dist/dvips/tetex/config.pk6
-rw-r--r--Master/texmf-dist/dvips/tetex/config.www10
49 files changed, 1784 insertions, 0 deletions
diff --git a/Master/texmf-dist/dvips/base/color.pro b/Master/texmf-dist/dvips/base/color.pro
new file mode 100644
index 00000000000..bf704cc3d08
--- /dev/null
+++ b/Master/texmf-dist/dvips/base/color.pro
@@ -0,0 +1,46 @@
+%!
+TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
+setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
+}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
+/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
+setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
+/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
+known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
+/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
+/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
+setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
+setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
+0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
+/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
+setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
+0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
+0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
+0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
+/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
+setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
+setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
+0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
+/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
+setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
+0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
+0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
+0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
+/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
+setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
+/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
+0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
+0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
+0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
+setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
+0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
+/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
+setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
+0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
+1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
+/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
+setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
+0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
+DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
+setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
+setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
+setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
diff --git a/Master/texmf-dist/dvips/base/crop.pro b/Master/texmf-dist/dvips/base/crop.pro
new file mode 100644
index 00000000000..be4a1664075
--- /dev/null
+++ b/Master/texmf-dist/dvips/base/crop.pro
@@ -0,0 +1,6 @@
+%!
+TeXDict begin/cX 18 def/CM{gsave TR 0 cX neg moveto 0 cX lineto stroke
+cX neg 0 moveto cX 0 lineto stroke grestore}def end/bop-hook{cX dup TR
+gsave .3 setlinewidth 0 0 CM vsize cX 2 mul sub dup hsize cX 2 mul sub
+dup isls{4 2 roll}if 0 CM exch CM 0 exch CM grestore 0 cX -2 mul TR isls
+{cX -2 mul 0 TR}if}def
diff --git a/Master/texmf-dist/dvips/base/finclude.pro b/Master/texmf-dist/dvips/base/finclude.pro
new file mode 100644
index 00000000000..f331fdf0419
--- /dev/null
+++ b/Master/texmf-dist/dvips/base/finclude.pro
@@ -0,0 +1,4 @@
+%!
+/fstore{dup dict exch{dup 4 2 roll put}repeat def}bind def/fshow{gsave
+72 TeXDict/Resolution get div -72 TeXDict/VResolution get div scale 1
+DVImag div dup scale get cvx exec show grestore}bind def
diff --git a/Master/texmf-dist/dvips/base/hps.pro b/Master/texmf-dist/dvips/base/hps.pro
new file mode 100644
index 00000000000..0fc0b6ddf2e
--- /dev/null
+++ b/Master/texmf-dist/dvips/base/hps.pro
@@ -0,0 +1,53 @@
+%!
+/HPSdict 20 dict dup begin/braindeaddistill 50 def/rfch{dup length 1 sub
+1 exch getinterval}bind def/splituri{dup(#)search{exch pop}{()exch}
+ifelse dup(file:)anchorsearch{pop exch pop 3 -1 roll pop false}{pop 3 -1
+roll exch pop true}ifelse}bind def/lookuptarget{exch rfch dup
+/TargetAnchors where{pop TargetAnchors dup 3 -1 roll known{exch get true
+}{pop(target unknown:)print == false}ifelse}{pop pop
+(target dictionary unknown\012)print false}ifelse}bind def/savecount 0
+def/stackstopped{count counttomark sub/savecount exch store stopped
+count savecount sub 1 sub dup 0 gt{{exch pop}repeat}{pop}ifelse}bind def
+/tempstring 128 string def/targetvalidate{1 index dup length 127 gt exch
+tempstring cvs dup(/)search{pop pop pop exch pop true exch}{pop}ifelse
+token{pop length 0 ne}{true}ifelse or not}bind def/targetdump-hook where
+{pop}{/targetdump-hook{dup mark exch gsave initmat setmatrix{{mark/Dest
+4 2 roll targetvalidate{aload pop exch pop/Page 3 1 roll/View exch[exch
+/FitH exch]/DEST pdfmark}{cleartomark}ifelse}forall}stackstopped pop
+grestore}bind def}ifelse/baseurl{mark exch 1 dict dup 3 -1 roll/Base
+exch put/URI exch/DOCVIEW{pdfmark}stackstopped pop}bind def
+/externalhack systemdict/PDF known def/oldstyle true def/initmat matrix
+currentmatrix def/actiondict 2 dict dup/Subtype/URI put def
+/weblinkhandler{dup 3 1 roll mark 4 1 roll/Title 4 1 roll splituri 3 -1
+roll dup length 0 gt{cvn/Dest exch 4 2 roll}{pop}ifelse{externalhack{
+/HTTPFile exch}{actiondict dup 3 -1 roll/URI exch put/Action exch}
+ifelse}{externalhack{/HTTPFile exch}{/File exch/Action/GoToR}ifelse}
+ifelse counttomark 2 sub -1 roll aload pop/Rect 4 1 roll/Border 3 1 roll
+/Color exch oldstyle{/LNK}{/Subtype/Link/ANN}ifelse gsave initmat
+setmatrix{pdfmark}stackstopped grestore}bind def/externalhandler where{
+pop}{/externalhandler{2 copy{weblinkhandler}exec{/externalhack
+externalhack not store 2 copy{weblinkhandler}exec{/externalhack
+externalhack not store/oldstyle false store 2 copy{weblinkhandler}exec{
+(WARNING: external refs disabled\012)print/externalhandler{pop pop}bind
+store externalhandler}{pop pop}ifelse}{pop pop/externalhack externalhack
+not store}ifelse}{pop pop/externalhandler{weblinkhandler pop}bind store}
+ifelse}bind def}ifelse/pdfmnew{dup type/stringtype eq{externalhandler}{
+exch dup rfch exch 3 -1 roll lookuptarget{mark 4 1 roll/Title 4 1 roll
+aload pop exch pop/Page 3 1 roll/View exch[exch/FitH exch]5 -1 roll
+aload pop/Rect 4 1 roll/Border 3 1 roll/Color exch/LNK gsave initmat
+setmatrix pdfmark grestore}{pop pop}ifelse}ifelse}bind def/pdfmold{dup
+type/stringtype eq{externalhandler}{exch dup rfch exch 3 -1 roll
+lookuptarget{mark 4 1 roll/Title 4 1 roll aload pop exch pop/Page 3 1
+roll/View exch[exch/FitH exch]5 -1 roll aload pop pop 0 3 getinterval
+/Rect 3 1 roll/Border exch/LNK gsave initmat setmatrix pdfmark grestore}
+{pop pop}ifelse}ifelse}bind def/pdfm where{pop}{/pdfm
+/currentdistillerparams where{pop currentdistillerparams dup
+/CoreDistVersion known{/CoreDistVersion get}{0}ifelse dup
+braindeaddistill le{(WARNING: switching to old pdfm because version =)
+print ==/pdfmold}{pop/pdfmnew}ifelse load}{/pdfmark where{pop{dup type
+/stringtype eq{externalhandler}{2 copy mark 3 1 roll{pdfmnew}
+stackstopped{2 copy mark 3 1 roll{pdfmold}stackstopped{
+(WARNING: pdfm disabled\012)print/pdfm{pop pop}store}{
+(WARNING: new pdfm failed, switching to old pdfm\012)print/pdfm/pdfmold
+load store}ifelse}{/pdfm/pdfmnew load store}ifelse pop pop}ifelse}}{{
+pop pop}}ifelse}ifelse bind def}ifelse end def
diff --git a/Master/texmf-dist/dvips/base/special.pro b/Master/texmf-dist/dvips/base/special.pro
new file mode 100644
index 00000000000..174155d7390
--- /dev/null
+++ b/Master/texmf-dist/dvips/base/special.pro
@@ -0,0 +1,56 @@
+%!
+TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
+/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
+/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
+/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
+/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
+X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
+/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
+/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
+{userdict/md get type/dicttype eq{userdict begin md length 10 add md
+maxlength ge{/md md dup length 20 add dict copy def}if end md begin
+/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
+atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
+itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
+transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
+curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
+pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
+if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
+-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
+get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
+yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
+neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
+noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
+90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
+neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
+1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
+2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
+-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
+TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
+Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
+}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
+save N userdict maxlength dict begin/magscale true def normalscale
+currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
+/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
+psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
+psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
+TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
+@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
+newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
+closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
+/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
+currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
+N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
+neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
+rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
+scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
+lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
+ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
+/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
+pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
+restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
+/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
+setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
+moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
+matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
+savematrix setmatrix}N end
diff --git a/Master/texmf-dist/dvips/base/tex.pro b/Master/texmf-dist/dvips/base/tex.pro
new file mode 100644
index 00000000000..c2b28f05d19
--- /dev/null
+++ b/Master/texmf-dist/dvips/base/tex.pro
@@ -0,0 +1,45 @@
+%!
+/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/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]{Ci}imagemask
+restore}B/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
+/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3
+def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90
+rotate}{show}ifelse}ifelse}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
diff --git a/Master/texmf-dist/dvips/base/texc.pro b/Master/texmf-dist/dvips/base/texc.pro
new file mode 100644
index 00000000000..0af2704df43
--- /dev/null
+++ b/Master/texmf-dist/dvips/base/texc.pro
@@ -0,0 +1,57 @@
+%!
+/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
+/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3
+def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90
+rotate}{show}ifelse}ifelse}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
diff --git a/Master/texmf-dist/dvips/base/texps.pro b/Master/texmf-dist/dvips/base/texps.pro
new file mode 100644
index 00000000000..5787591f21d
--- /dev/null
+++ b/Master/texmf-dist/dvips/base/texps.pro
@@ -0,0 +1,14 @@
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
+ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
+pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
+div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
+/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
+definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
+sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
+mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
+exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
+forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
+end
diff --git a/Master/texmf-dist/dvips/config/alt-rule.pro b/Master/texmf-dist/dvips/config/alt-rule.pro
new file mode 100644
index 00000000000..c7fb9443923
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/alt-rule.pro
@@ -0,0 +1,17 @@
+%!
+% Patch by TVZ
+% Makes dvips files draw rules with stroke rather than fill.
+% Makes narrow rules more predictable at low resolutions
+% after distilling to PDF.
+% May have unknown consequences for very thick rules.
+% Tested only with dvips 5.85(k).
+TeXDict begin
+/QV {
+ gsave newpath /ruleY X /ruleX X
+ Rx Ry gt
+ { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry }
+ { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx }
+ ifelse
+ setlinewidth 0 setlinecap stroke grestore
+} bind def
+end
diff --git a/Master/texmf-dist/dvips/config/canonex.cfg b/Master/texmf-dist/dvips/config/canonex.cfg
new file mode 100644
index 00000000000..3d3300ffef2
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/canonex.cfg
@@ -0,0 +1,2 @@
+M canonex
+D 600
diff --git a/Master/texmf-dist/dvips/config/config.bakoma b/Master/texmf-dist/dvips/config/config.bakoma
new file mode 100644
index 00000000000..36cbd116408
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.bakoma
@@ -0,0 +1,3 @@
+p +bakomaextra.map
+p +psfonts.cmz
+p +psfonts.amz
diff --git a/Master/texmf-dist/dvips/config/config.canonex b/Master/texmf-dist/dvips/config/config.canonex
new file mode 100644
index 00000000000..3d3300ffef2
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.canonex
@@ -0,0 +1,2 @@
+M canonex
+D 600
diff --git a/Master/texmf-dist/dvips/config/config.cx b/Master/texmf-dist/dvips/config/config.cx
new file mode 100644
index 00000000000..1b51d09c57f
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.cx
@@ -0,0 +1,2 @@
+M cx
+D 300
diff --git a/Master/texmf-dist/dvips/config/config.deskjet b/Master/texmf-dist/dvips/config/config.deskjet
new file mode 100644
index 00000000000..b173ae26389
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.deskjet
@@ -0,0 +1,2 @@
+M deskjet
+D 300
diff --git a/Master/texmf-dist/dvips/config/config.dvired b/Master/texmf-dist/dvips/config/config.dvired
new file mode 100644
index 00000000000..04a9701ea4f
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.dvired
@@ -0,0 +1,2 @@
+% The printer offsets the output by this much.
+O 0pt,0pt
diff --git a/Master/texmf-dist/dvips/config/config.epson b/Master/texmf-dist/dvips/config/config.epson
new file mode 100644
index 00000000000..230b86a0263
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.epson
@@ -0,0 +1,2 @@
+M epson
+D 240
diff --git a/Master/texmf-dist/dvips/config/config.ibmvga b/Master/texmf-dist/dvips/config/config.ibmvga
new file mode 100644
index 00000000000..3aa6da6c707
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.ibmvga
@@ -0,0 +1,2 @@
+M ibmvga
+D 110
diff --git a/Master/texmf-dist/dvips/config/config.ljfour b/Master/texmf-dist/dvips/config/config.ljfour
new file mode 100644
index 00000000000..2cf7bbbe22d
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.ljfour
@@ -0,0 +1,2 @@
+M ljfour
+D 600
diff --git a/Master/texmf-dist/dvips/config/config.luc b/Master/texmf-dist/dvips/config/config.luc
new file mode 100644
index 00000000000..58bc2169d85
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.luc
@@ -0,0 +1,10 @@
+p +hlce.map
+p +hlcf.map
+p +hlcn.map
+p +hlct.map
+p +hlcw.map
+p +hlh.map
+p +hls.map
+p +hlst.map
+p +hlx.map
+p +hlcm.map
diff --git a/Master/texmf-dist/dvips/config/config.mbn b/Master/texmf-dist/dvips/config/config.mbn
new file mode 100644
index 00000000000..4793f71b241
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.mbn
@@ -0,0 +1 @@
+p +mbn.map
diff --git a/Master/texmf-dist/dvips/config/config.mga b/Master/texmf-dist/dvips/config/config.mga
new file mode 100644
index 00000000000..380313c2747
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.mga
@@ -0,0 +1 @@
+p +mga.map
diff --git a/Master/texmf-dist/dvips/config/config.mirrorprint b/Master/texmf-dist/dvips/config/config.mirrorprint
new file mode 100644
index 00000000000..c29f44968a3
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.mirrorprint
@@ -0,0 +1,6 @@
+% config.mirrorprint: Thomas Esser, 1998, public domain.
+
+% Usage: dvips -Pmirrorprint ...
+% Purpose: print in a mirrored way
+
+h mirr.hd
diff --git a/Master/texmf-dist/dvips/config/config.ot2 b/Master/texmf-dist/dvips/config/config.ot2
new file mode 100644
index 00000000000..d55334e695b
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.ot2
@@ -0,0 +1,2 @@
+p +mntz.map
+p +lscy.map
diff --git a/Master/texmf-dist/dvips/config/config.ps b/Master/texmf-dist/dvips/config/config.ps
new file mode 100644
index 00000000000..0d47766406e
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.ps
@@ -0,0 +1,604 @@
+% $Id$
+% config.ps - configuration file for dvips.
+% Tomas Rokicki, Thomas Esser, Karl Berry, et al., 1986ff, public domain.
+
+% Memory available. Download the three-line PostScript file:
+% %! Hey, we're PostScript
+% /Times-Roman findfont 30 scalefont setfont 144 432 moveto
+% vmstatus exch sub 40 string cvs show pop showpage
+% to determine this number. (It will be the only thing printed.)
+m 3500000
+
+% Run securely. z2 disables both shell command execution in
+% `\special' and config files (via the `E' option) and opening of any
+% absolute filenames. z1, the default, forbids shell escapes but
+% allows absolute filenames. z0 allows both. The corresponding
+% command line options are -R0|-R1|-R2
+z1
+
+% How to print, maybe with lp instead lpr, etc. If commented-out, output
+% will go into a file by default.
+%o |lpr
+
+% Default resolution of this device, in dots per inch.
+D 600
+X 600
+Y 600
+
+% Metafont mode. (This is completely different from the -M
+% command-line option, which controls whether mktexpk is invoked.)
+% See ../../metafont/misc/modes.mf for a list of mode names. This mode
+% and the D number above must agree, or mktexpk will get confused.
+M ljfour
+
+% Last resort bitmap sizes.
+R 300 600
+
+% Correct printer offset. You can use testpage.tex from the LaTeX
+% distribution to find these numbers.
+O 0pt,0pt
+
+% Bitmap font compression. Results in more compact output files, but
+% sometimes causes trouble. So the default is disabled. Set Z1 to enable
+% this feature.
+Z0
+
+% Partially download Type 1 fonts by default. Only reason not to do
+% this is if you encounter bugs. (Please report them to
+% @email{tex-k@tug.org} if you do.)
+j
+
+% This shows how to add your own map file.
+% Remove the comment and adjust the name:
+% p +myfonts.map
+
+% In the past, the a4size and letterSize definitions did not set the
+% paper size, but we want to set it if we can so that ps2pdf can work
+% properly. So, a4 and a4size, and letter and letterSize, are made
+% identical here, and we prefer the a4/letter names -- texconfig uses them.
+%
+% In the definitions below, if we have setpagedevice, use that.
+% Else if we have the a4 resp. letter operator, use that.
+% Else do nothing to set the page size.
+%
+% If you need to have no paper size stuff in the output at all, e.g., if
+% you are producing a multi-page document for further processing, use
+% -tnopaper (defined at end). (With a single-page document, you can use -E.)
+%
+% emacs-page
+
+@ a4 210mm 297mm
+@+ ! %%DocumentPaperSizes: a4
+@+ %%BeginPaperSize: a4
+@+ /setpagedevice where
+@+ { pop << /PageSize [595 842] >> setpagedevice }
+@+ { /a4 where { pop a4 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ letter 8.5in 11in
+@+ ! %%DocumentPaperSizes: Letter
+@+ %%BeginPaperSize: Letter
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 792] >> setpagedevice }
+@+ { /letter where { pop letter } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a4size 210mm 297mm
+@+ ! %%DocumentPaperSizes: a4
+@+ %%BeginPaperSize: a4
+@+ /setpagedevice where
+@+ { pop << /PageSize [595 842] >> setpagedevice }
+@+ { /a4 where { pop a4 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ letterSize 8.5in 11in
+@+ ! %%DocumentPaperSizes: Letter
+@+ %%BeginPaperSize: Letter
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 792] >> setpagedevice }
+@+ { /letter where { pop letter } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+% The jacow paper size is the smaller of letter and a4 in both
+% dimensions, and can therefore hopefully be printed on either paper
+% size. As far as we know, Volker Schaa first used it for the JACOW
+% conference proceedings that he produced.
+@ jacow 210mm 11in
+@+ ! %%DocumentPaperSizes: jacow
+@+ %%BeginPaperSize: jacow
+@+ /setpagedevice where
+@+ { pop << /PageSize [595 792] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+% The smallbook paper size has been used by the Free Software Foundation
+% to print manuals for many years, and is part of Texinfo.
+@ smallbook 7in 9.25in
+@+ ! %%DocumentPaperSizes: smallbook
+@+ %%BeginPaperSize: smallbook
+@+ /setpagedevice where
+@+ { pop << /PageSize [504 666] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ halfexecutive 133mm 184mm
+@+ ! %%DocumentPaperSizes: halfexecutive
+@+ %%BeginPaperSize: halfexecutive
+@+ /setpagedevice where
+@+ { pop << /PageSize [378 522] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ halfletter 140mm 216mm
+@+ ! %%DocumentPaperSizes: halfletter
+@+ %%BeginPaperSize: halfletter
+@+ /setpagedevice where
+@+ { pop << /PageSize [396 612] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ statement 140mm 216mm
+@+ ! %%DocumentPaperSizes: statement
+@+ %%BeginPaperSize: statement
+@+ /setpagedevice where
+@+ { pop << /PageSize [396 612] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ executive 184mm 267mm
+@+ ! %%DocumentPaperSizes: executive
+@+ %%BeginPaperSize: executive
+@+ /setpagedevice where
+@+ { pop << /PageSize [522 756] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+% for powerdot
+@ screen 8.25in 11in
+@+ ! %%DocumentPaperSizes: Screen
+@+ %%BeginPaperSize: Screen
+@+ /setpagedevice where
+@+ { pop << /PageSize [594 792] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+% a common size for printers (in north america).
+@ sixbynine 6in 9in
+@+ ! %%DocumentPaperSizes: SixByNine
+@+ %%BeginPaperSize: SixByNine
+@+ /setpagedevice where
+@+ { pop << /PageSize [432 648] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ quarto 215mm 275mm
+@+ ! %%DocumentPaperSizes: quarto
+@+ %%BeginPaperSize: quarto
+@+ /setpagedevice where
+@+ { pop << /PageSize [610 780] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ note 216mm 279mm
+@+ ! %%DocumentPaperSizes: note
+@+ %%BeginPaperSize: note
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 792] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ folio 216mm 330mm
+@+ ! %%DocumentPaperSizes: folio
+@+ %%BeginPaperSize: folio
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 936] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ legal 8.5in 14in
+@+ ! %%DocumentPaperSizes: Legal
+@+ %%BeginPaperSize: Legal
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 1008] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ 10x14 10in 14in
+@+ ! %%DocumentPaperSizes: 10x14
+@+ %%BeginPaperSize: 10x14
+@+ /setpagedevice where
+@+ { pop << /PageSize [720 1008] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ ledger 17in 11in
+@+ ! %%DocumentPaperSizes: Ledger
+@+ %%BeginPaperSize: Ledger
+@+ /setpagedevice where
+@+ { pop << /PageSize [1224 792] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ tabloid 11in 17in
+@+ ! %%DocumentPaperSizes: Tabloid
+@+ %%BeginPaperSize: Tabloid
+@+ /setpagedevice where
+@+ { pop << /PageSize [792 1224] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ 11x17 11in 17in
+@+ ! %%DocumentPaperSizes: 11x17
+@+ %%BeginPaperSize: 11x17
+@+ /setpagedevice where
+@+ { pop << /PageSize [792 1224] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ a0 841mm 1189mm
+@+ ! %%DocumentPaperSizes: a0
+@+ %%BeginPaperSize: a0
+@+ /setpagedevice where
+@+ { pop << /PageSize [2384 3370] >> setpagedevice }
+@+ { /a0 where { pop a0 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a1 594mm 841mm
+@+ ! %%DocumentPaperSizes: a1
+@+ %%BeginPaperSize: a1
+@+ /setpagedevice where
+@+ { pop << /PageSize [1684 2384] >> setpagedevice }
+@+ { /a1 where { pop a1 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a2 420mm 594mm
+@+ ! %%DocumentPaperSizes: a2
+@+ %%BeginPaperSize: a2
+@+ /setpagedevice where
+@+ { pop << /PageSize [1191 1684] >> setpagedevice }
+@+ { /a2 where { pop a2 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a3 297mm 420mm
+@+ ! %%DocumentPaperSizes: a3
+@+ %%BeginPaperSize: a3
+@+ /setpagedevice where
+@+ { pop << /PageSize [842 1191] >> setpagedevice }
+@+ { /a3 where { pop a3 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a5 148mm 210mm
+@+ ! %%DocumentPaperSizes: a5
+@+ %%BeginPaperSize: a5
+@+ /setpagedevice where
+@+ { pop << /PageSize [420 595] >> setpagedevice }
+@+ { /a5 where { pop a5 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a6 105mm 148mm
+@+ ! %%DocumentPaperSizes: a6
+@+ %%BeginPaperSize: a6
+@+ /setpagedevice where
+@+ { pop << /PageSize [298 420] >> setpagedevice }
+@+ { /a6 where { pop a6 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a7 74mm 105mm
+@+ ! %%DocumentPaperSizes: a7
+@+ %%BeginPaperSize: a7
+@+ /setpagedevice where
+@+ { pop << /PageSize [210 298] >> setpagedevice }
+@+ { /a7 where { pop a7 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a8 52mm 74mm
+@+ ! %%DocumentPaperSizes: a8
+@+ %%BeginPaperSize: a8
+@+ /setpagedevice where
+@+ { pop << /PageSize [147 210] >> setpagedevice }
+@+ { /a8 where { pop a8 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a9 37mm 52mm
+@+ ! %%DocumentPaperSizes: a9
+@+ %%BeginPaperSize: a9
+@+ /setpagedevice where
+@+ { pop << /PageSize [105 147] >> setpagedevice }
+@+ { /a9 where { pop a9 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a10 26mm 37mm
+@+ ! %%DocumentPaperSizes: a10
+@+ %%BeginPaperSize: a10
+@+ /setpagedevice where
+@+ { pop << /PageSize [74 105] >> setpagedevice }
+@+ { /a10 where { pop a10 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb0 1030mm 1456mm
+@+ ! %%DocumentPaperSizes: jisb0
+@+ %%BeginPaperSize: jisb0
+@+ /setpagedevice where
+@+ { pop << /PageSize [2920 4127] >> setpagedevice }
+@+ { /jisb0 where { pop jisb0 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb1 728mm 1030mm
+@+ ! %%DocumentPaperSizes: jisb1
+@+ %%BeginPaperSize: jisb1
+@+ /setpagedevice where
+@+ { pop << /PageSize [2064 2920] >> setpagedevice }
+@+ { /jisb1 where { pop jisb1 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb2 515mm 728mm
+@+ ! %%DocumentPaperSizes: jisb2
+@+ %%BeginPaperSize: jisb2
+@+ /setpagedevice where
+@+ { pop << /PageSize [1460 2064] >> setpagedevice }
+@+ { /jisb2 where { pop jisb2 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb3 364mm 515mm
+@+ ! %%DocumentPaperSizes: jisb3
+@+ %%BeginPaperSize: jisb3
+@+ /setpagedevice where
+@+ { pop << /PageSize [1032 1460] >> setpagedevice }
+@+ { /jisb3 where { pop jisb3 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb4 257mm 364mm
+@+ ! %%DocumentPaperSizes: jisb4
+@+ %%BeginPaperSize: jisb4
+@+ /setpagedevice where
+@+ { pop << /PageSize [729 1032] >> setpagedevice }
+@+ { /jisb4 where { pop jisb4 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb5 182mm 257mm
+@+ ! %%DocumentPaperSizes: jisb5
+@+ %%BeginPaperSize: jisb5
+@+ /setpagedevice where
+@+ { pop << /PageSize [516 729] >> setpagedevice }
+@+ { /jisb5 where { pop jisb5 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb6 128mm 182mm
+@+ ! %%DocumentPaperSizes: jisb6
+@+ %%BeginPaperSize: jisb6
+@+ /setpagedevice where
+@+ { pop << /PageSize [363 516] >> setpagedevice }
+@+ { /jisb6 where { pop jisb6 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb7 91mm 128mm
+@+ ! %%DocumentPaperSizes: jisb7
+@+ %%BeginPaperSize: jisb7
+@+ /setpagedevice where
+@+ { pop << /PageSize [258 363] >> setpagedevice }
+@+ { /jisb7 where { pop jisb7 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb8 64mm 91mm
+@+ ! %%DocumentPaperSizes: jisb8
+@+ %%BeginPaperSize: jisb8
+@+ /setpagedevice where
+@+ { pop << /PageSize [181 258] >> setpagedevice }
+@+ { /jisb8 where { pop jisb8 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b0 1000mm 1414mm
+@+ ! %%DocumentPaperSizes: b0
+@+ %%BeginPaperSize: b0
+@+ /setpagedevice where
+@+ { pop << /PageSize [2835 4008] >> setpagedevice }
+@+ { /b0 where { pop b0 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b1 707mm 1000mm
+@+ ! %%DocumentPaperSizes: b1
+@+ %%BeginPaperSize: b1
+@+ /setpagedevice where
+@+ { pop << /PageSize [2004 2835] >> setpagedevice }
+@+ { /b1 where { pop b1 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b2 500mm 707mm
+@+ ! %%DocumentPaperSizes: b2
+@+ %%BeginPaperSize: b2
+@+ /setpagedevice where
+@+ { pop << /PageSize [1417 2004] >> setpagedevice }
+@+ { /b2 where { pop b2 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b3 353mm 500mm
+@+ ! %%DocumentPaperSizes: b3
+@+ %%BeginPaperSize: b3
+@+ /setpagedevice where
+@+ { pop << /PageSize [1001 1417] >> setpagedevice }
+@+ { /b3 where { pop b3 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b4 250mm 353mm
+@+ ! %%DocumentPaperSizes: b4
+@+ %%BeginPaperSize: b4
+@+ /setpagedevice where
+@+ { pop << /PageSize [709 1001] >> setpagedevice }
+@+ { /b4 where { pop b4 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b5 176mm 250mm
+@+ ! %%DocumentPaperSizes: b5
+@+ %%BeginPaperSize: b5
+@+ /setpagedevice where
+@+ { pop << /PageSize [499 709] >> setpagedevice }
+@+ { /b5 where { pop b5 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b6 125mm 176mm
+@+ ! %%DocumentPaperSizes: b6
+@+ %%BeginPaperSize: b6
+@+ /setpagedevice where
+@+ { pop << /PageSize [354 499] >> setpagedevice }
+@+ { /b6 where { pop b6 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ c5 162mm 229mm
+@+ ! %%DocumentPaperSizes: c5
+@+ %%BeginPaperSize: c5
+@+ /setpagedevice where
+@+ { pop << /PageSize [459 649] >> setpagedevice }
+@+ { /c5 where { pop c5 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ DL 110mm 220mm
+@+ ! %%DocumentPaperSizes: DL
+@+ %%BeginPaperSize: DL
+@+ /setpagedevice where
+@+ { pop << /PageSize [312 624] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ Comm10 105mm 241mm
+@+ ! %%DocumentPaperSizes: Comm10
+@+ %%BeginPaperSize: Comm10
+@+ /setpagedevice where
+@+ { pop << /PageSize [297 684] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ Monarch 98.4mm 190.5mm
+@+ ! %%DocumentPaperSizes: Monarch
+@+ %%BeginPaperSize: Monarch
+@+ /setpagedevice where
+@+ { pop << /PageSize [279 540] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archE 36in 48in
+@+ ! %%DocumentPaperSizes: archE
+@+ %%BeginPaperSize: archE
+@+ /setpagedevice where
+@+ { pop << /PageSize [2592 3456] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archD 24in 36in
+@+ ! %%DocumentPaperSizes: archD
+@+ %%BeginPaperSize: archD
+@+ /setpagedevice where
+@+ { pop << /PageSize [1728 2592] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archC 18in 24in
+@+ ! %%DocumentPaperSizes: archC
+@+ %%BeginPaperSize: archC
+@+ /setpagedevice where
+@+ { pop << /PageSize [1296 1728] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archB 12in 18in
+@+ ! %%DocumentPaperSizes: archB
+@+ %%BeginPaperSize: archB
+@+ /setpagedevice where
+@+ { pop << /PageSize [864 1296] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archA 9in 12in
+@+ ! %%DocumentPaperSizes: archA
+@+ %%BeginPaperSize: archA
+@+ /setpagedevice where
+@+ { pop << /PageSize [648 864] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ flsa 216mm 330.2mm
+@+ ! %%DocumentPaperSizes: flsa
+@+ %%BeginPaperSize: flsa
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 936] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ flse 216mm 330.2mm
+@+ ! %%DocumentPaperSizes: flse
+@+ %%BeginPaperSize: flse
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 936] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ csheet 431.8mm 558.8mm
+@+ ! %%DocumentPaperSizes: csheet
+@+ %%BeginPaperSize: csheet
+@+ /setpagedevice where
+@+ { pop << /PageSize [1224 1584] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ dsheet 558.8mm 863.6mm
+@+ ! %%DocumentPaperSizes: dsheet
+@+ %%BeginPaperSize: dsheet
+@+ /setpagedevice where
+@+ { pop << /PageSize [1584 2448] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ esheet 863.6mm 1117.6mm
+@+ ! %%DocumentPaperSizes: esheet
+@+ %%BeginPaperSize: esheet
+@+ /setpagedevice where
+@+ { pop << /PageSize [2448 3168] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+% use -t unknown with a \special{papersize=...} for a nonstandard page size.
+@ unknown 0in 0in
+@+ % dvips-unknown
+@+ statusdict /setpageparams known { hsize vsize 0 1 statusdict begin {
+@+ setpageparams } stopped end } { true } ifelse { statusdict /setpage known
+@+ { hsize vsize 1 statusdict begin { setpage } stopped pop end } if } if
+
+% use -t nopaper to get no paper size stuff in the output at all.
+% This should remain as the last thing in the file, because the first
+% 0in 0in entry is chosen when there is nothing better; ordinarily, we
+% want to that to be "unknown", so that the correct nonstandard paper
+% size is output, instead of just being omitted.
+% http://groups.google.com/group/fr.comp.text.tex/browse_thread/thread/1b08961cf9b8a5ab/6b1d0b32443905e3
+% and mactex mailing list thread from 24 Sep 2009 11:36:26.
+@ nopaper 0in 0in
+@+ % dvips-nopaper
diff --git a/Master/texmf-dist/dvips/config/config.qms b/Master/texmf-dist/dvips/config/config.qms
new file mode 100644
index 00000000000..7f12ce04352
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.qms
@@ -0,0 +1,2 @@
+M qms
+D 300
diff --git a/Master/texmf-dist/dvips/config/config.toshiba b/Master/texmf-dist/dvips/config/config.toshiba
new file mode 100644
index 00000000000..e94ae3e79ff
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.toshiba
@@ -0,0 +1,2 @@
+M toshiba
+D 180
diff --git a/Master/texmf-dist/dvips/config/config.unms b/Master/texmf-dist/dvips/config/config.unms
new file mode 100644
index 00000000000..5dc5da4f1b5
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.unms
@@ -0,0 +1 @@
+p +unms.map
diff --git a/Master/texmf-dist/dvips/config/config.xyp b/Master/texmf-dist/dvips/config/config.xyp
new file mode 100644
index 00000000000..898a126332c
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/config.xyp
@@ -0,0 +1 @@
+p +xypic.map
diff --git a/Master/texmf-dist/dvips/config/cx.cfg b/Master/texmf-dist/dvips/config/cx.cfg
new file mode 100644
index 00000000000..1b51d09c57f
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/cx.cfg
@@ -0,0 +1,2 @@
+M cx
+D 300
diff --git a/Master/texmf-dist/dvips/config/deskjet.cfg b/Master/texmf-dist/dvips/config/deskjet.cfg
new file mode 100644
index 00000000000..b173ae26389
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/deskjet.cfg
@@ -0,0 +1,2 @@
+M deskjet
+D 300
diff --git a/Master/texmf-dist/dvips/config/dfaxhigh.cfg b/Master/texmf-dist/dvips/config/dfaxhigh.cfg
new file mode 100644
index 00000000000..2d1b3d3d6a6
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/dfaxhigh.cfg
@@ -0,0 +1,3 @@
+M gtfax
+X 204
+Y 196
diff --git a/Master/texmf-dist/dvips/config/dvired.cfg b/Master/texmf-dist/dvips/config/dvired.cfg
new file mode 100644
index 00000000000..04a9701ea4f
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/dvired.cfg
@@ -0,0 +1,2 @@
+% The printer offsets the output by this much.
+O 0pt,0pt
diff --git a/Master/texmf-dist/dvips/config/epson.cfg b/Master/texmf-dist/dvips/config/epson.cfg
new file mode 100644
index 00000000000..230b86a0263
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/epson.cfg
@@ -0,0 +1,2 @@
+M epson
+D 240
diff --git a/Master/texmf-dist/dvips/config/ibmvga.cfg b/Master/texmf-dist/dvips/config/ibmvga.cfg
new file mode 100644
index 00000000000..3aa6da6c707
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/ibmvga.cfg
@@ -0,0 +1,2 @@
+M ibmvga
+D 110
diff --git a/Master/texmf-dist/dvips/config/ljfour.cfg b/Master/texmf-dist/dvips/config/ljfour.cfg
new file mode 100644
index 00000000000..2cf7bbbe22d
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/ljfour.cfg
@@ -0,0 +1,2 @@
+M ljfour
+D 600
diff --git a/Master/texmf-dist/dvips/config/qms.cfg b/Master/texmf-dist/dvips/config/qms.cfg
new file mode 100644
index 00000000000..7f12ce04352
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/qms.cfg
@@ -0,0 +1,2 @@
+M qms
+D 300
diff --git a/Master/texmf-dist/dvips/config/toshiba.cfg b/Master/texmf-dist/dvips/config/toshiba.cfg
new file mode 100644
index 00000000000..e94ae3e79ff
--- /dev/null
+++ b/Master/texmf-dist/dvips/config/toshiba.cfg
@@ -0,0 +1,2 @@
+M toshiba
+D 180
diff --git a/Master/texmf-dist/dvips/getafm/getafm.ps b/Master/texmf-dist/dvips/getafm/getafm.ps
new file mode 100644
index 00000000000..2ce98936558
--- /dev/null
+++ b/Master/texmf-dist/dvips/getafm/getafm.ps
@@ -0,0 +1,352 @@
+%!
+% produce .afm for $1
+% (c) 1993 by Robert Joop <rj@rainbow.in-berlin.de>
+% inspired by two other versions of this theme which are
+% getafm 1.00 (c) AJCD
+% and getafm.ps by an unknown author,
+% modified by J. Daniel Smith <dsmith@mailhost.aa.cad.slb.com>
+%
+% modified by Joachim H. Kaiser <jhk@cmpnetmail.com>:
+% - suggest a quiet gs run in usage
+% - get font version info (from 'version', not 'Version')
+% - add copyright field to output
+
+% Metrics dictionary code added by AJCD, 7/6/93
+
+/getafmdict 100 dict dup begin
+
+ /buf 256 string def
+ /buf2 16 string def
+
+ /prany % dict dictname printname -> dict
+ {
+ 2 index 2 index cvn known
+ {
+ print % printname
+ ( ) print
+ 1 index exch cvn get =
+ }
+ {
+ (Comment /FontInfo contains no /) print
+ 2 copy eq
+ {
+ = % printname
+ pop % dictname
+ }
+ {
+ exch
+ print % dictname
+ (, therefore no ) print
+ = % printname
+ }
+ ifelse
+ }
+ ifelse
+ }
+ bind def
+
+ /printfontname
+ {
+ (FontName)dup prany
+ }
+ bind def
+
+ /printfontinfo
+ {
+ dup /FontInfo known
+ {
+ dup /FontInfo get
+ (FullName)dup prany
+ (FamilyName)dup prany
+ (Weight)dup prany
+ (ItalicAngle)dup prany
+ (isFixedPitch)(IsFixedPitch) prany
+ (UnderlinePosition)dup prany
+ (UnderlineThickness)dup prany
+ (version)(Version) prany
+ (Notice)dup prany
+ (Copyright)dup prany
+ pop
+ }
+ {
+ (Comment Font lacks a /FontInfo!)=
+ }
+ ifelse
+ }
+ bind def
+
+ /prbbox % llx lly urx ury -> -
+ {
+ 4 1 roll 3 1 roll exch % swap top 4 elements
+ 4 { ( ) print buf cvs print } repeat
+ }
+ bind def
+
+ /getbbox % fontdict chardict character -> fontdict chardict llx lly urx ury
+ {
+ gsave
+ 2 index setfont 0 0 moveto
+ false charpath flattenpath pathbbox
+ grestore
+ }
+ bind def
+
+ /printmiscinfo
+ {
+ dup /FontBBox known
+ {
+ (FontBBox) print
+ dup /FontBBox get aload pop prbbox ()=
+ }
+ {
+ (Comment missing required /FontBBox)=
+ quit
+ }
+ ifelse
+ 2 copy exch get
+ dup /H known
+ 1 index /x known and
+ 1 index /d known and
+ 1 index /p known and
+ dup /looksRoman exch def
+ {
+ (CapHeight ) print
+ (H) getbbox
+ ceiling cvi = pop pop pop
+ (XHeight ) print
+ (x) getbbox
+ ceiling cvi = pop pop pop
+ (Ascender ) print
+ (d) getbbox
+ ceiling cvi = pop pop pop
+ (Descender ) print
+ (p) getbbox
+ pop pop floor cvi = pop
+ }
+ {
+ (Comment font doesn't contain H, x, d and p; therefore no CapHeight, XHeight, Ascender and Descender)=
+ }
+ ifelse
+ pop
+ dup /Encoding get
+ [
+ [ (ISOLatin1Encoding) /ISOLatin1Encoding ]
+ [ (AdobeStandardEncoding) /StandardEncoding ]
+ ]
+ {
+ aload pop dup where
+ {
+ exch get 2 index eq
+ {
+ (EncodingScheme ) print
+ buf cvs =
+ }
+ {
+ pop
+ }
+ ifelse
+ }
+ {
+ pop pop
+ }
+ ifelse
+ }
+ forall
+ pop
+ }
+ bind def
+
+ /printcharmetric
+ {
+ % chardictname fontdict charnamedict encoding charindex charname
+
+ 4 index dup length dict dup begin exch
+ {
+ 1 index /FID ne
+ 2 index /UniqueID ne
+ and
+ {
+ 1 index /Encoding eq { 256 array copy } if
+ def
+ }
+ { pop pop }
+ ifelse
+ }
+ forall
+ end
+ dup /Encoding get 32 3 index put
+ /f2 exch definefont
+ setfont
+
+ (C ) print
+ 1 index buf cvs print
+
+ ( ; WX ) print
+% Metrics entries are:
+% 1 number: which is the character width
+% an array of 2 numbers: which are the left sidebearing and width
+% an array of 4 numbers: x & y left sidebearing, width and height
+ dup 5 index % /charname fontdict
+ dup /Metrics known {
+ /Metrics get exch 2 copy known {
+ get dup type /arraytype eq {
+ dup length 2 eq
+ {1 get} {2 get} ifelse
+ } if
+ round cvi buf cvs print
+ } {
+ pop pop ( ) stringwidth pop round cvi buf cvs print
+ } ifelse
+ } {
+ pop pop ( ) stringwidth pop round cvi buf cvs print
+ } ifelse
+
+ ( ; N ) print
+ dup buf cvs print
+
+ ( ; B) print
+ gsave
+ newpath 0 0 moveto
+ ( ) true charpath flattenpath pathbbox
+ grestore
+ 2 { ceiling cvi 4 1 roll } repeat
+ 2 { floor cvi 4 1 roll } repeat
+ prbbox
+
+ looksRoman
+ {
+ [
+ [ /f [ /i /f /l ] ]
+ [ /ff [ /i /l ] ]
+ ]
+ {
+ aload pop 1 index 3 index eq
+ {
+ {
+ 1 index buf cvs
+ length
+ 1 index buf2 cvs dup length
+ 2 index add
+ buf
+ 4 2 roll putinterval
+ buf 0
+ 3 -1 roll getinterval
+ dup cvn
+ 7 index
+ exch known
+ {
+ exch
+ ( ; L ) print
+ buf2 cvs print
+ ( ) print
+ print
+ }
+ {
+ pop pop
+ }
+ ifelse
+ }
+ forall
+ pop
+ }
+ {
+ pop pop
+ }
+ ifelse
+ }
+ forall
+ }
+ if
+ pop
+
+ ( ;)=
+ }
+ bind def
+
+ /printcharmetrics
+ {
+ (StartCharMetrics ) print
+ 2 copy exch get length 1 sub buf cvs =
+
+ 256 dict dup begin
+ 1 index /Encoding get
+ { null def }
+ forall
+ end
+ % chardictname fontdict charnamedict
+ 1 index /Encoding get
+ 0 1 255
+ {
+ % encoding index
+ 2 copy get
+ dup /.notdef eq { pop } { printcharmetric } ifelse
+ pop % index
+ } for
+
+ -1
+ 3 index 5 index get
+ {
+ pop
+ dup /.notdef eq
+ { pop }
+ {
+ % chardictname fontdict charnamedict encoding charindex charname
+ dup 4 index exch known
+ { pop }
+ { printcharmetric }
+ ifelse
+ }
+ ifelse
+ }
+ forall
+ % charnamedict encoding index
+ pop pop pop
+
+ (EndCharMetrics)=
+ }
+ bind def
+
+ /printfontmetrics
+ {
+ (StartFontMetrics 3.0)=
+ (Comment Produced by getafm 3.0 (which is by rj@rainbow.in-berlin.de))=
+
+ printfontname
+ printfontinfo
+ printmiscinfo
+ printcharmetrics
+
+ (EndFontMetrics)=
+ }
+ bind def
+
+end def
+
+/getafm
+{
+ getafmdict begin
+ save exch
+ findfont 1000 scalefont
+
+ null
+ [ /CharDefs /CharData /CharProcs /CharStrings ]
+ {
+ 2 index 1 index known { exch } if
+ pop
+ }
+ forall
+ dup null eq
+ {
+ (can't find dictionary with character data!)=
+ quit
+ }
+ if
+ exch % dictname fontdict
+
+ printfontmetrics
+
+ pop pop
+ restore
+ end
+}
+bind def
diff --git a/Master/texmf-dist/dvips/gsftopk/render.ps b/Master/texmf-dist/dvips/gsftopk/render.ps
new file mode 100644
index 00000000000..2c067451b97
--- /dev/null
+++ b/Master/texmf-dist/dvips/gsftopk/render.ps
@@ -0,0 +1,346 @@
+% render.ps - write font bitmaps and metric information to standard output.
+% Version 1.18.
+
+% ========================================================================
+%
+% Copyright (c) 1993-1998 Paul Vojta
+%
+% Permission is hereby granted, free of charge, to any person obtaining a copy
+% of this software and associated documentation files (the "Software"), to
+% deal in the Software without restriction, including without limitation the
+% rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+% sell copies of the Software, and to permit persons to whom the Software is
+% furnished to do so, subject to the following conditions:
+%
+% The above copyright notice and this permission notice shall be included in
+% all copies or substantial portions of the Software.
+%
+% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+% PAUL VOJTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+% IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+% CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+%
+% ========================================================================
+
+%%%
+% Usage: gs -DNODISPLAY -q -- render.ps fontname dlstring specinfo dpi
+% Then, it will read standard input to get:
+% pointsize
+% charset
+
+% Example:
+% % gs -DNODISPLAY -q -- render.ps Helvetica "(phvr.gsf) run" \
+% > ".5 ExtendFont" 300
+% GS> 10
+% GS> 97 98 99
+
+/TeXDict currentdict def % needed by dotlessj.pro
+
+%%
+%
+% Standard file definitions
+
+/.stdin where { pop } { /.stdin (%stdin) (r) file def } ifelse
+
+/bad-stdout false def
+/.stdout where
+ { pop }
+ { { /.stdout (%stdout) (w) file def } stopped
+ { /bad-stdout true def }
+ if
+ } ifelse
+
+/bad-stderr false def
+/.stderr where
+ { pop }
+ { { /.stderr (%stderr) (w) file def } stopped
+ { /bad-stderr true def }
+ if
+ } ifelse
+
+%%
+%
+% Define some routines first
+
+% (string) fatal -
+% Print string to stderr and quit.
+
+/fatal
+ bad-stderr
+ {{
+ (\nrender.ps: ) exch concatstrings
+ print flush 1 .quit
+ }}
+ {{
+ (\nrender.ps: ) exch concatstrings
+ .stderr exch writestring .stderr flushfile 1 .quit
+ }}
+ ifelse
+bind def
+
+% (string) brun -
+% Load a font in .pfb format.
+
+/brun
+ {
+ (r) file false /PFBDecode filter cvx exec
+ }
+bind def
+
+% (string) ttload font
+% Load a TrueType font (and leave it on the stack).
+
+/ttload
+ {
+ FontOnStack
+ {
+ (Cannot load more than one TrueType font!\n) fatal
+ } if
+ (r) file .loadttfont
+ /FontOnStack true def
+ }
+bind def
+
+/FontOnStack false def
+
+% (exec) getbbox -
+% Get bounding box of the executable object and save it in char-urx,
+% char-ury, etc.
+
+/getbbox
+ {
+ gsave
+ nulldevice
+ erasepage
+ newpath
+ exec
+ pathbbox % returns llx lly urx ury
+ /char-ury exch ceiling cvi def
+ /char-urx exch ceiling cvi def
+ /char-lly exch floor cvi def
+ /char-llx exch floor cvi def
+ grestore
+ }
+bind def
+
+% - drawfontbbox -
+% Draw the font's bbox.
+
+/drawfontbbox
+ {
+ currentfont /FontBBox get
+ dup dup 0 get exch 1 get currentfont /FontMatrix get transform moveto
+ dup dup 0 get exch 3 get currentfont /FontMatrix get transform lineto
+ dup dup 2 get exch 1 get currentfont /FontMatrix get transform lineto
+ dup 2 get exch 3 get currentfont /FontMatrix get transform lineto
+ }
+bind def
+
+% (exec) mkbboxdev -
+% Get bounding box of the executable object and make a device a few
+% pixels larger on each side. If pathbbox fails for the object,
+% then use the font's bbox.
+
+/mkbboxdev
+ {
+ getbbox
+
+ char-llx char-urx sub round 0 eq char-lly char-ury sub round 0 eq or
+ {
+ {drawfontbbox} getbbox
+ }
+ if
+
+ matrix
+ char-urx char-llx sub 4 add % width
+ dup /width exch def
+ char-ury char-lly sub 4 add % height
+ dup /height exch def
+ <ff 00>
+ makeimagedevice setdevice
+ 2 char-llx sub 2 char-lly sub translate
+ }
+bind def
+
+%%
+%
+% These may be called by the "specinfo" string.
+
+/usefontbbox false def
+
+% These do things to a transformation array; called by entries in psfonts.map.
+%
+/ObliqueSlant {dup sin exch cos div neg} bind def
+/SlantFont {font-size mul add} def
+/ExtendFont {3 -1 roll mul exch} def
+/ReEncodeFont {/Encoding exch def} def
+
+% Define writeppmfile, if it's not provided, or if the symbol .stdout is not
+% available.
+
+/our-writeppmfile
+
+ bad-stdout
+ systemdict /writeppmfile known not
+ or
+ {{
+ (P4\n) print
+ width =string cvs print
+ ( ) print
+ height =string cvs print
+ (\n) print
+
+ width 7 add 8 div cvi string
+ 0 1 height 1 sub
+ {
+ currentdevice exch 2 index copyscanlines
+ print
+ }
+ for
+ pop % discard string
+ }}
+ {{
+ .stdout currentdevice writeppmfile
+ }}
+ ifelse
+def
+
+
+%%
+%
+% Main program begins now. Just interpret it.
+
+% Get arguments.
+
+shellarguments not
+ {
+ (You must provide arguments to the shell!\n) fatal
+ }
+if
+
+/dpi exch cvr def
+/specinfo exch def
+/dlstring exch def
+/fontname exch def
+
+% Return the gs version number to the calling program.
+
+(V ) print revision =
+
+% Open the font.
+
+dlstring () ne
+ {
+ dlstring cvx exec
+ }
+if
+
+FontOnStack not
+ {
+ Fontmap fontname cvn known % Or: fontname cvn /Font resourcestatus?
+ {
+ fontname cvlit findfont
+ }
+ {
+ FontDirectory fontname cvn known
+ {
+ fontname cvlit findfont
+ }
+ {
+ revision 341 lt
+ {
+ /defaultfontname fontname cvlit def
+ }
+ if
+
+ { fontname cvlit findfont } stopped
+ {
+ (font ) fontname concatstrings
+ ( is not defined.\n) concatstrings
+ fatal
+ }
+ if
+ }
+ ifelse
+ }
+ ifelse
+ }
+if
+
+% Get arguments from stdin. Just leave the character list on the stack.
+
+/font-size
+ .stdin 20 string readline pop cvr % get pointsize
+ 72.27 div dpi mul % let's work in (TeX) points
+def
+[ .stdin 1024 string readline pop cvx exec ] % character list
+
+% Define the font, and make it current.
+
+ % Get the font.
+ exch
+ % Copy over the font dictionary to make it writable;
+ % this makes ReEncodeFont easier, and is needed for dotless j processing.
+ dup length 1 add dict begin
+ {1 index /FID ne {def}{pop pop} ifelse} forall
+ % Now do the transformations specified in psfonts.map.
+ [ font-size 0 specinfo cvx exec 0 exch font-size 0 0 ]
+ % End the current dictionary, and make it a font.
+ /TargetFont currentdict end definefont
+ % Apply the tranformation matrix and make the font current.
+exch makefont dup /TargetFont exch def setfont
+
+% If the font's bounding box is zero, then do not use it.
+
+usefontbbox
+ { currentfont /FontBBox get
+ true exch {0 eq and} forall
+ {/usefontbbox false def}if
+ }
+if
+
+% If we are to use the font's bounding box, then get it and transform it.
+
+usefontbbox
+ {
+ {drawfontbbox} mkbboxdev
+ }
+if
+
+% Begin loop over characters.
+
+ {
+ /charno exch def
+ /charstring 1 string dup 0 charno put def
+ /charwidth charstring stringwidth pop def
+
+ % Get the character's bounding box. This also makes the device.
+ usefontbbox not
+ {
+ { 0 0 moveto charstring true charpath } mkbboxdev
+ }
+ if
+
+ % Print the metric info.
+ (#^ ) print
+ charno =string cvs print
+ ( ) print
+ char-llx =string cvs print
+ ( ) print
+ char-lly =string cvs print
+ ( ) print
+ char-urx =string cvs print
+ ( ) print
+ char-ury =string cvs print
+ ( ) print
+ charwidth =string cvs print
+ (\n) print
+
+ % Now write the bitmap.
+ erasepage 0 0 moveto
+ charstring show
+ our-writeppmfile
+ }
+forall
diff --git a/Master/texmf-dist/dvips/tetex/config.builtin35 b/Master/texmf-dist/dvips/tetex/config.builtin35
new file mode 100644
index 00000000000..e4c4f287595
--- /dev/null
+++ b/Master/texmf-dist/dvips/tetex/config.builtin35
@@ -0,0 +1,11 @@
+% Thomas Esser, 2002, public domain.
+
+% Usage: dvips -Pbuiltin35 ...
+%
+% Purpose: set up dvips to consider the base 35 PostScript fonts as
+% provided by your ps interpreter or printer, that is,
+% do not download them.
+%
+% The default behavior of downloads with dvips is set in updmap.cfg.
+
+p +builtin35.map
diff --git a/Master/texmf-dist/dvips/tetex/config.dfaxhigh b/Master/texmf-dist/dvips/tetex/config.dfaxhigh
new file mode 100644
index 00000000000..4f30b0e2c43
--- /dev/null
+++ b/Master/texmf-dist/dvips/tetex/config.dfaxhigh
@@ -0,0 +1,9 @@
+% Thomas Esser, 1998, public domain.
+
+% Usage: dvips -Pdfaxhigh ...
+% Purpose: set up dvips' resolution to be optimal for a G3 fax at high
+% resolution (204x196)
+
+M gtfax
+X 204
+Y 196
diff --git a/Master/texmf-dist/dvips/tetex/config.dfaxlo b/Master/texmf-dist/dvips/tetex/config.dfaxlo
new file mode 100644
index 00000000000..17efae49c26
--- /dev/null
+++ b/Master/texmf-dist/dvips/tetex/config.dfaxlo
@@ -0,0 +1,9 @@
+% Thomas Esser, 1998, public domain.
+
+% Usage: dvips -Pdfaxlo ...
+% Purpose: set up dvips' resolution to be optimal for a G3 fax at low
+% resolution (204x98)
+
+M gtfaxlo
+X 204
+Y 98
diff --git a/Master/texmf-dist/dvips/tetex/config.download35 b/Master/texmf-dist/dvips/tetex/config.download35
new file mode 100644
index 00000000000..c9e638b56d2
--- /dev/null
+++ b/Master/texmf-dist/dvips/tetex/config.download35
@@ -0,0 +1,11 @@
+% Thomas Esser, 2002, public domain.
+
+% Usage: dvips -Pdownload35 ...
+% Purpose: set up dvips to download the "base 35" laserwriter fonts
+% with your document.
+
+% This file can be used to change the behaviour of dvips if the default
+% of dvips is to consider the "base 35" as build in of the ps interpreter
+% or printer. This default behaviour of dvips can be set by the updmap tool.
+
+p +download35.map
diff --git a/Master/texmf-dist/dvips/tetex/config.gsftopk b/Master/texmf-dist/dvips/tetex/config.gsftopk
new file mode 100644
index 00000000000..906884a56e9
--- /dev/null
+++ b/Master/texmf-dist/dvips/tetex/config.gsftopk
@@ -0,0 +1,6 @@
+% Thomas Esser, 2002, public domain.
+
+% Usage: this file is implicitly used by gsftopk. We set up all available
+% type 1 fonts for gsftopk by using psfonts_t1.map.
+
+p +psfonts_t1.map
diff --git a/Master/texmf-dist/dvips/tetex/config.maxmem b/Master/texmf-dist/dvips/tetex/config.maxmem
new file mode 100644
index 00000000000..f3919f006b1
--- /dev/null
+++ b/Master/texmf-dist/dvips/tetex/config.maxmem
@@ -0,0 +1,9 @@
+% $Id$
+% Public domain.
+
+% Set Dvips' idea of available printiner memory to (effectively)
+% infinite, to disable Dvips breaking the output into sections. Only
+% works with dvips 5.993 (TeX Live 2013) and later. See the `Headers
+% and memory usage' node in the manual.
+%
+m -1
diff --git a/Master/texmf-dist/dvips/tetex/config.outline b/Master/texmf-dist/dvips/tetex/config.outline
new file mode 100644
index 00000000000..f11b7077942
--- /dev/null
+++ b/Master/texmf-dist/dvips/tetex/config.outline
@@ -0,0 +1,6 @@
+% Thomas Esser, 2002, public domain.
+
+% Usage: dvips -Poutline
+% Purpose: set up all available type 1 fonts for use with dvips.
+
+p psfonts_t1.map
diff --git a/Master/texmf-dist/dvips/tetex/config.pdf b/Master/texmf-dist/dvips/tetex/config.pdf
new file mode 100644
index 00000000000..b37e0031af5
--- /dev/null
+++ b/Master/texmf-dist/dvips/tetex/config.pdf
@@ -0,0 +1,43 @@
+% This is a config file for dvips, meant to produce PostScript optimized
+% for distilling to PDF. Created 12 Apr 1999 by Timothy van Zandt, later
+% modified te (papersize, o line).
+% Public domain.
+
+% Memory available: The default for Distiller 3.0x is 8meg.
+% Reduce to be on safe side:
+
+m 6000000
+
+% Default is to save output as file.
+% If possible, change this so that it pipes output to distiller.
+% If not, use command line ``-o file'' option to change name
+% of output file.
+
+o
+
+% Default resolution. Attempt to make `resolution independent'.
+% Resolution set to 8000dpi (could be as high as 10000).
+
+D 8000
+
+% Use outline fonts, not bitmaps.
+
+p psfonts_t1.map
+
+% Last resort sizes.
+% If you accidentally include a bitmapped pk font, it will probably go
+% at 600dpi.
+
+R 300 600
+
+% Partial Type1 font downloading. This will happen by default. Uncomment
+% this is you want to download entire fonts, which is not recommended.
+
+% j0
+
+% Switching algorithm for drawing rules. texc.pro is loaded by default,
+% but the h tex.pro is need so that it comes before the patch. See
+% below for more details.
+
+h tex.pro
+h alt-rule.pro
diff --git a/Master/texmf-dist/dvips/tetex/config.pk b/Master/texmf-dist/dvips/tetex/config.pk
new file mode 100644
index 00000000000..d0753d2ee2c
--- /dev/null
+++ b/Master/texmf-dist/dvips/tetex/config.pk
@@ -0,0 +1,6 @@
+% Thomas Esser, 2002, public domain.
+
+% Usage: dvips -Ppk ...
+% Purpose: instruct dvips to prefer bitmap fonts over type 1 fonts.
+
+p psfonts_pk.map
diff --git a/Master/texmf-dist/dvips/tetex/config.www b/Master/texmf-dist/dvips/tetex/config.www
new file mode 100644
index 00000000000..4bc66df474b
--- /dev/null
+++ b/Master/texmf-dist/dvips/tetex/config.www
@@ -0,0 +1,10 @@
+% Thomas Esser, 1998, 2002, public domain.
+
+% Usage: dvips -Pwww
+% Purpose: create ps files "for the web". Output is send to a file and
+% not to any printer. Outline fonts are used whenever available
+% since we do not know at which resolution the user will print
+% out output file.
+
+o
+p psfonts_t1.map