diff options
author | Karl Berry <karl@freefriends.org> | 2013-04-07 18:29:49 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-04-07 18:29:49 +0000 |
commit | 80b364fa37a748aef4fac9903b0892b1d4961087 (patch) | |
tree | b93e677c5392e1a2805044ccece2f73e5f1a71c0 /Master/texmf-dist | |
parent | b04c2e1a42573e9735547702356c7b9a769a6855 (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')
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 |