summaryrefslogtreecommitdiff
path: root/dviware/dvi-augsburg/pc
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /dviware/dvi-augsburg/pc
Initial commit
Diffstat (limited to 'dviware/dvi-augsburg/pc')
-rw-r--r--dviware/dvi-augsburg/pc/README3
-rw-r--r--dviware/dvi-augsburg/pc/bb.ps314
-rw-r--r--dviware/dvi-augsburg/pc/dvi.opt15
-rw-r--r--dviware/dvi-augsburg/pc/dvihplj.opt6
-rw-r--r--dviware/dvi-augsburg/pc/dvilw.map84
-rw-r--r--dviware/dvi-augsburg/pc/dvilw.opt4
-rw-r--r--dviware/dvi-augsburg/pc/dvilw.ps392
-rw-r--r--dviware/dvi-augsburg/pc/makegf.bat35
-rw-r--r--dviware/dvi-augsburg/pc/makepk.bat44
-rw-r--r--dviware/dvi-augsburg/pc/p6h.opt6
-rw-r--r--dviware/dvi-augsburg/pc/p6l.opt6
11 files changed, 909 insertions, 0 deletions
diff --git a/dviware/dvi-augsburg/pc/README b/dviware/dvi-augsburg/pc/README
new file mode 100644
index 0000000000..647fdd8ad6
--- /dev/null
+++ b/dviware/dvi-augsburg/pc/README
@@ -0,0 +1,3 @@
+Die *.exe, *.bat und DVILW.PS und DVILW.MAP in den Suchpfad
+kopieren. Dann die Konfigurationsdateien DVI.OPT und DVILW.OPT
+anpassen.
diff --git a/dviware/dvi-augsburg/pc/bb.ps b/dviware/dvi-augsburg/pc/bb.ps
new file mode 100644
index 0000000000..332eae0036
--- /dev/null
+++ b/dviware/dvi-augsburg/pc/bb.ps
@@ -0,0 +1,314 @@
+%!
+% bb.ps -- $Header: bb.ps,v 1.6 88/01/19 17:02:37 van Exp $
+%
+% Prints a file, but keeps track of bounding box info, and prints the box at
+% the end (around the figure.)
+%
+
+/$BoundingBox 50 dict def
+
+$BoundingBox begin
+/bb$_llx 99999 def
+/bb$_lly 99999 def
+/bb$_urx -99999 def
+/bb$_ury -99999 def
+
+/bb$_mtx matrix defaultmatrix def
+end
+
+/bb$_xdef {
+ exch def
+} def
+
+/bb$_put {
+ exch $BoundingBox 3 1 roll put
+} def
+
+/bb$_pt+ {
+ exch
+ 4 -1 roll add
+ 3 1 roll add
+} def
+
+%
+% Stubs of old functions.
+%
+
+/-stroke /stroke load def
+/-fill /fill load def
+/-eofill /eofill load def
+/-image /image load def
+/-show /show load def
+/-awidthshow /awidthshow load def
+/-showpage /showpage load def
+/-restore /restore load def
+
+%
+% New Functions.
+%
+
+% make sure we remember bb around save-restores
+/restore {
+ $BoundingBox begin bb$_ury bb$_urx bb$_lly bb$_llx end
+ 5 -1 roll
+ -restore
+ $BoundingBox begin
+ /bb$_llx bb$_put
+ /bb$_lly bb$_put
+ /bb$_urx bb$_put
+ /bb$_ury bb$_put
+ end
+} def
+
+/stroke {
+ gsave
+ {
+ flattenpath
+ strokepath % Make sure to take line width into account.
+ } stopped { % strokepath often hits a limitcheck.
+ grestore % Restore the original path
+ gsave
+ } if
+ bb$_path % Accumulate it into our box.
+ grestore
+
+ -stroke
+} def
+
+/fill {
+ gsave
+ bb$_path
+ grestore
+
+ -fill
+} def
+
+/eofill {
+ gsave
+ bb$_path
+ grestore
+
+ -eofill
+} def
+
+%
+% Text is implemented by reducing everything to an `awidthshow'.
+%
+
+/show {
+ 0 0 0 0 0 % Extra parameters for awidthshow
+ 6 -1 roll % Bring the string back up
+ awidthshow
+} def
+
+/widthshow {
+ 0 0 % Extra parameters for awidthshow
+ 3 -1 roll % Bring the string back up.
+ awidthshow
+} def
+
+/ashow {
+ 0 0 0
+ 6 3 roll
+ awidthshow
+} def
+
+/awidthshow {
+ 5 dict begin
+ gsave
+ currentpoint
+ 2 copy /@starty bb$_xdef /@startx bb$_xdef
+ 2 index stringwidth % Get the natural length of the string
+ bb$_pt+ % Add to the start to get the end.
+
+ 2 index length % How many characters?
+
+ dup % Add the offsets to each character
+ 6 index mul
+ exch 5 index mul
+ bb$_pt+
+
+ 5 index 3 index
+ bb$_chcount % How many padding characters?
+
+ dup % Add the offsets for each pad.
+ 9 index mul
+ exch 8 index mul
+ bb$_pt+
+
+ /@endy bb$_xdef /@endx bb$_xdef
+
+ bb$_fontheight % Get the height and depth of the current font.
+
+ 4 copy
+ @startx @starty bb$_pt+ bb$_point
+ @startx @starty bb$_pt+ bb$_point
+ @endx @endy bb$_pt+ bb$_point
+ @endx @endy bb$_pt+ bb$_point
+
+ grestore
+ end
+
+ -awidthshow
+} def
+
+%
+% `image':
+%
+% Assume here that the image lands in the unit square.
+%
+
+/image {
+ 0 0 bb$_point
+ 1 1 bb$_point
+
+ -image
+} def
+
+%
+% `showpage':
+%
+% Just draw the box around the figure and print the page, and then initialize
+% the bounding box variables again.
+%
+
+/bb$_string 10 string def
+
+/showpage {
+ $BoundingBox begin
+ initgraphics bb$_mtx setmatrix
+
+ % Convert to default coords.
+ bb$_llx bb$_lly itransform
+ bb$_urx bb$_ury itransform
+ /bb$_lly bb$_put /bb$_urx bb$_put
+ /bb$_ury bb$_put /bb$_llx bb$_put
+
+ bb$_llx bb$_lly moveto % Make the box
+ bb$_llx bb$_ury lineto
+ bb$_urx bb$_ury lineto
+ bb$_urx bb$_lly lineto
+ closepath
+
+ bb$_bwstroke % Draw the box.
+
+ 0 setgray
+ /Courier findfont 10 scalefont setfont
+ bb$_llx bb$_lly 12 sub moveto
+ bb$_llx bb$_string cvs -show ( ) -show
+ bb$_lly bb$_string cvs -show ( ) -show
+ bb$_urx bb$_string cvs -show ( ) -show
+ bb$_ury bb$_string cvs -show
+
+ (%%BoundingBox: ) print
+ bb$_llx bb$_string cvs print ( ) print
+ bb$_lly bb$_string cvs print ( ) print
+ bb$_urx bb$_string cvs print ( ) print
+ bb$_ury bb$_string cvs print (\n) print
+
+ end
+ 99999 /bb$_llx bb$_put
+ 99999 /bb$_lly bb$_put
+ -99999 /bb$_urx bb$_put
+ -99999 /bb$_ury bb$_put
+ -showpage
+} def
+
+%/copypage {showpage} def
+
+%
+% BoundingBox functions:
+%
+% We accumulate the information about the bounding box into four variables.
+% The data is stored in device coordinates.
+%
+
+%
+% x y `bb$_point' -
+%
+% Takes a point in user coordinates and adds it into the bounding box info.
+%
+/bb$_point {
+ $BoundingBox begin
+ transform % Convert to device coords.
+
+ dup bb$_lly lt {dup /bb$_lly bb$_put}if
+ dup bb$_ury gt {dup /bb$_ury bb$_put}if
+ pop
+ dup bb$_llx lt {dup /bb$_llx bb$_put}if
+ dup bb$_urx gt {dup /bb$_urx bb$_put}if
+ pop
+
+ end
+} def
+
+%
+% - `bb$_path' -
+%
+% Incorporates the bounding box of the path into the bounding box info.
+%
+
+/bb$_path {
+ gsave
+ {
+ 0 setlinejoin
+ flattenpath
+ pathbbox
+ bb$_point
+ bb$_point
+ } stopped {
+ grestore
+ gsave
+ } if
+ grestore
+} def
+
+%
+% Stuff for text.
+%
+
+%
+% char-code string `bb$_chcount' occurs
+%
+% Counts the number of times a character appears in a string.
+%
+
+/bb$_chcount {
+ 0 exch
+ {
+ 2 index eq {
+ 1 add
+ } if
+ } forall
+ exch pop
+} def
+
+%
+% - `bb$_fontheight' heightx heighty depthx depthy
+%
+% Returns the offsets to the lowest point and highest point in the current
+% font.
+%
+
+/bb$_fontheight {
+ currentfont begin
+ FontBBox
+ exch pop 0 exch
+ FontMatrix transform
+ 4 2 roll
+ exch pop 0 exch
+ FontMatrix transform
+ end
+} def
+
+/bb$_bwstroke {
+ 0 setlinewidth
+ 1 setgray
+ [5] 0 setdash
+ gsave -stroke grestore
+ 0 setgray
+ [5] 5 setdash
+ -stroke
+} def
+
+% end of bb.ps
diff --git a/dviware/dvi-augsburg/pc/dvi.opt b/dviware/dvi-augsburg/pc/dvi.opt
new file mode 100644
index 0000000000..876c06c41a
--- /dev/null
+++ b/dviware/dvi-augsburg/pc/dvi.opt
@@ -0,0 +1,15 @@
+hresolution = 101
+vresolution = 101
+pkpath = d:\fonts\dvi%h\%d\%s.pk
+voffset = 1cm
+eject = on
+separate = on
+pictures = on
+memory = off
+tracemem = off
+tracechars = off
+density = 0.5
+singlesheet = off
+thinout = off
+output = screen
+ \ No newline at end of file
diff --git a/dviware/dvi-augsburg/pc/dvihplj.opt b/dviware/dvi-augsburg/pc/dvihplj.opt
new file mode 100644
index 0000000000..8c3178714a
--- /dev/null
+++ b/dviware/dvi-augsburg/pc/dvihplj.opt
@@ -0,0 +1,6 @@
+output = hplj
+hresolution = 300
+vresolution = 300
+pkpath = c:\pctex\pixel\dpi%h\%d\%s.pk
+pixmem = 800000
+tracemem = on \ No newline at end of file
diff --git a/dviware/dvi-augsburg/pc/dvilw.map b/dviware/dvi-augsburg/pc/dvilw.map
new file mode 100644
index 0000000000..2cf733e4cf
--- /dev/null
+++ b/dviware/dvi-augsburg/pc/dvilw.map
@@ -0,0 +1,84 @@
+rpagk = AvantGarde-Book
+rpagko = AvantGarde-BookOblique
+rpagd = AvantGarde-Demi
+rpagdo = AvantGarde-DemiOblique
+rpbkd = Bookman-Demi
+rpbkdi = Bookman-DemiItalic
+rpbkl = Bookman-Light
+rpbkli = Bookman-LightItalic
+rpcrb = Courier-Bold
+rpcrbo = Courier-BoldOblique
+rpcrro = Courier-Oblique
+rpcrr = Courier
+rphvb = Helvetica-Bold
+rphvbo = Helvetica-BoldOblique
+rphvbrn = Helvetica-Narrow-Bold "/Helvetica-Bold .82 ExtendFont"
+rphvbon = Helvetica-Narrow-BoldOblique "/Helvetica-BoldOblique .82 ExtendFont"
+rphvron = Helvetica-Narrow-Oblique "/Helvetica-Oblique .82 ExtendFont"
+rphvrrn = Helvetica-Narrow "/Helvetica .82 ExtendFont"
+rphvro = Helvetica-Oblique
+rphvr = Helvetica
+rpncb = NewCenturySchlbk-Bold
+rpncbi = NewCenturySchlbk-BoldItalic
+rpncri = NewCenturySchlbk-Italic
+rpncr = NewCenturySchlbk-Roman
+rpplb = Palatino-Bold
+rpplbi = Palatino-BoldItalic
+rpplbu = Palatino-BoldUnslanted "/Palatino-BoldItalic -.1763 SlantFont"
+rpplrrn = Palatino-Narrow "/Palatino-Roman .82 ExtendFont"
+rpplrre = Palatino-Expanded "/Palatino-Roman 1.2 ExtendFont"
+rpplri = Palatino-Italic
+rpplro = Palatino-Oblique "/Palatino-Roman .167 SlantFont"
+rpplr = Palatino-Roman
+rpplru = Palatino-Unslanted "/Palatino-Italic -.1763 SlantFont"
+rpsyr = Symbol
+psyr = Symbol
+rpsyro = Symbol-Oblique "/Symbol .167 SlantFont"
+psyro = Symbol-Oblique "/Symbol .167 SlantFont"
+rptmb = Times-Bold
+rptmbi = Times-BoldItalic
+rptmrrn = Times-Narrow "/Times-Roman .8 ExtendFont"
+rptmrre = Times-Expanded "/Times-Roman 1.2 ExtendFont"
+rptmri = Times-Italic
+rptmro = Times-Oblique "/Times-Roman .167 SlantFont"
+rptmr = Times-Roman
+rpzcmi = ZapfChancery-MediumItalic
+rpzdr = ZapfDingbats
+pzdr = ZapfDingbats
+rpstrn = StoneInformal <StoneInformal.pfb
+rpstrnn = StoneInformal-Narrow <StoneInformal.pfb "/StoneInformal .8 ExtendFont"
+rpstrni = StoneInformal-Italic <StoneInformal-Italic.pfb
+rpstbn = StoneInformal-Bold <StoneInformal-Bold.pfb
+rpstbni = StoneInformal-BoldItalic <StoneInformal-BoldItalic.pfb
+rpstsn = StoneInformal-Semibold <StoneInformal-Semibold.pfb
+rpstsni = StoneInformal-SemiboldItalic <StoneInformal-SemiboldItalic.pfb
+rpstrs = StoneSans <StoneSans.pfb
+rpstrso = StoneSans-Oblique <StoneSans.pfb "/StoneSans .2126 SlantFont"
+rpstr = StoneSerif <StoneSerif.pfb
+rpstri = StoneSerif-Italic <StoneSerif-Italic.pfb
+rpsts = StoneSerif-Semibold <StoneSerif-Semibold.pfb
+rpstsi = StoneSerif-SemiboldItalic <StoneSerif-SemiboldItalic.pfb
+rpstb = StoneSerif-Bold <StoneSerif-Bold.pfb
+rpstbi = StoneSerif-BoldItalic <StoneSerif-BoldItalic.pfb
+rpopr = Optima <Optima.pfb
+rpopro = Optima-Oblique <Optima.pfb "/Optima .1944 SlantFont"
+rpopb = Optima-Bold <Optima-Bold.pfb
+rpopbo = Optima-BoldOblique <Optima-Bold.pfb "/Optima-Bold .1944 SlantFont"
+rpoprrn = Optima-Narrow <Optima.pfb "/Optima .82 ExtendFont"
+rpoprre = Optima-Expanded <Optima.pfb "/Optima 1.2 ExtendFont"
+rpopra = OptimaHR <OptimaHR.pfb
+rpopba = OptimaHR-Bold <OptimaHR-Bold.pfb
+rpadr = AGaramond-Regular <AGaramond-Regular.pfb
+rpadrx = AGaramondExp-Regular <AGaramondExp-Regular.pfb
+rpadra = AGaramondAlt-Regular <AGaramondAlt-Regular.pfb
+rpadri = AGaramond-Italic <AGaramond-Italic.pfb
+rpadrxi = AGaramondExp-Italic <AGaramondExp-Italic.pfb
+rpadrai = AGaramondAlt-Italic <AGaramondAlt-Italic.pfb
+rpads = AGaramond-Semibold <AGaramond-Semibold.pfb
+rpadsx = AGaramondExp-Semibold <AGaramondExp-Semibold.pfb
+rpadsi = AGaramond-SemiboldItalic <AGaramond-SemiboldItalic.pfb
+rpadsxi = AGaramondExp-SemiboldItalic <AGaramondExp-SemiboldItalic.pfb
+rpadb = AGaramond-Bold <AGaramond-Bold.pfb
+rpadbx = AGaramondExp-Bold <AGaramondExp-Bold.pfb
+rpadbi = AGaramond-BoldItalic <AGaramond-BoldItalic.pfb
+rpadbxi = AGaramondExp-BoldItalic <AGaramondExp-BoldItalic.pfb
diff --git a/dviware/dvi-augsburg/pc/dvilw.opt b/dviware/dvi-augsburg/pc/dvilw.opt
new file mode 100644
index 0000000000..89ea8aa9ce
--- /dev/null
+++ b/dviware/dvi-augsburg/pc/dvilw.opt
@@ -0,0 +1,4 @@
+pkpath=d:\fonts\dvilw%h\%d\%s.pk
+tfmpath=d:\emtex\tfm
+vfpath=d:\emtex\vfps
+line=com2:2181;8 \ No newline at end of file
diff --git a/dviware/dvi-augsburg/pc/dvilw.ps b/dviware/dvi-augsburg/pc/dvilw.ps
new file mode 100644
index 0000000000..107bc6f1a5
--- /dev/null
+++ b/dviware/dvi-augsburg/pc/dvilw.ps
@@ -0,0 +1,392 @@
+% Modified by G. Wilhelms to support character sets up to 256 chars
+% Sep-11-91
+%
+% Modified by S. Lindner to support different resolutions 28-Jul-90
+%
+% <BEEBE.TEX.DVI>DVIALW.PS.14, 22-Jun-87 09:55:05, Edit by BEEBE
+% Add missing "0 900 translate Mtrx currentmatrix pop" to /LEGAL
+% <BEEBE.TEX.DVI>DVIALW.PS.13, 7-Jan-87 17:38:51, Edit by BEEBE
+% Add translate command to BOP so that (0,0) really corresponds to
+% the top left physical page corner. The standard LaTeX file
+% TESTPAGE.TEX can be used for this calibration; it might be sensitive
+% to the particular printer used.
+% <BEEBE.TEX.DVI.NEW>DVIALW.PS.12, 10-Dec-86 17:24:50, Edit by BEEBE
+% Fix off-by-one error in definition of /B; to draw a box N pixels
+% wide, microscopic examination of output shows that the box width
+% must be N-1, not N, pixels; the boundary counts in the filling.
+% <BEEBE.TEX.DVI.NEW>DVIALW.PS.9, 28-Nov-86 19:00:52, Edit by BEEBE
+% Change definition of EOP to use #copies and showpage
+% instead of {copypage} repeat erasepage
+% <BEEBE.TEX.DVI.NEW>DVIALW.PS.7, 16-Oct-86 13:09:36, Edit by BEEBE
+% Following Macintosh LaserWriter md dictionary, change most
+% def's to bdf's (bind def); this is claimed to speed up
+% operator access
+% <BEEBE.TEX.DVI.NEW>DVIALW.PS.5, 16-Oct-86 12:01:12, Edit by BEEBE
+% Change CTL-L to caret-L in comment
+% <BEEBE.TEX.DVI.NEW>DVIALW.PS.3, 13-Jun-86 10:48:39, Edit by BEEBE
+% Fix definition of NOTE, make it default in BOJ macro to try to reduce
+% incidence of VM errors
+% ----------------------------------------------------------------------
+% DVIALW PostScript macro definitions (keep in alphabetical order). For
+% readability, these are heavily commented, but we adhere to the
+% convention that percent is used ONLY to mark the beginning of a
+% comment (NEVER occurs inside a PostScript string), and lines are
+% limited to 80 characters. That way, DVIALW can read these definitions
+% from a file and discard comments and trailing white space before
+% transmission to the PostScript output file. In the interests of
+% compactness, macros which receive any significant degree of use are
+% given single letter names -- PostScript is already much too verbose.
+%
+% Coordinates are assumed to be in pixels (Resolution per inch). The
+% page origin follows the PostScript convention of being in the lower
+% left corner, y positive upwards along the longer side of the page, x
+% positive to the right. Letter and legal sizes are therefore
+% equivalent as far as PostScript is concerned, but y coordinates can be
+% bigger in legal size. In landscape mode, the page is rotated to place
+% the origin in the upper left corner, x positive downward along the
+% longer side of the page, y positive to the right. That way, pages
+% eject from the printer upright when viewed from the front of the
+% printer.
+%
+% Document format is something like this:
+%
+% %!PS-Adobe-1.0
+% %%Dimensions: 0 0 612 792
+% %%Title: DVIALW -o1 -s300 foo12
+% %%CreationDate: Sat Mar 8 10:52:52 1986
+% %%Creator: BEEBE and [TeX82 DVI Translator Version 2.03b...]
+% %%Pages: (atend)
+% %%BugHistory: Incorporates save/restore and font reloading...
+% %%BugHistory: Incorporates Allan Hetzel's 31-Oct-85 DARPA...
+% %%EndComments
+% %%EndProlog
+% %%Page: 0 1
+% TeXdict begin
+% BOJ
+% BOP
+% ...
+% 1 EOP
+% ^LBOP
+% ...
+% 1 EOP
+% ^LBOP
+% ...
+% 1 EOP
+% ^LEOJ
+% %%Trailer
+% %%Pages: 7
+% %%PageTable: 0 1 3434
+% ^D
+%
+% One formfeed is output for each printed page copy, in order to make
+% spooler page accounting simple. The additional comments wrapping the
+% BOJ .. EOJ sequence conform to Adobe PostScript file structuring
+% conventions, and the first line can be used by the spooler to identify
+% the file as containing PostScript.
+% ----------------------------------------------------------------------
+
+
+/TeXdict 200 dict def % dictionary for these definitions
+TeXdict begin
+
+% bdf -- bind def (for efficiency)
+% Usage -- just like def, but not on constant objects
+/bdf {bind def} def
+
+% B -- draw bar (TeX rule) of size w by h at currentpoint
+% Usage -- w h B
+/B
+{
+ /h exch def
+ /w exch def
+ gsave
+ currentpoint
+ newpath
+ moveto
+ w 1 sub 0 rlineto
+ 0 h 1 sub rlineto
+ w 1 sub neg 0 rlineto
+ closepath fill
+ grestore
+} bdf
+
+% BOJ -- beginning of job (EOF ends it and closes TeXdict)
+% Usage -- BOJ
+/BOJ
+{
+ 72 Resolution div 72 Resolution div scale
+ NOTE % default page format
+} bdf
+
+% BOP -- beginning of page
+% Usage -- BOP
+/BOP
+{
+ clear
+ Mtrx setmatrix
+ 25 0 translate % Physical page origin is at (-25,0) from the top left corner
+} bdf
+
+% ch-fieldname -- extract field from ch-data array (order defined by positions
+% in first array argument to macro D)
+% Usage -- ch-fieldname
+/ch-image {ch-data 0 get} bdf % the bitmap hex string image
+/ch-xoff {ch-data 1 get} bdf % pixels from left edge of bitmap to char origin
+/ch-yoff {ch-data 2 get} bdf % pixels from top edge of bitmap to char origin
+/ch-width {ch-data 3 get} bdf % bitmap width in pixels
+/ch-height {ch-data 4 get} bdf % bitmap height in pixels
+/ch-tfmw {ch-data 5 get} bdf % pixels to next character (precise flt value)
+
+% CharBuilder -- image one character
+% Usage -- fontdict ch CharBuilder
+/CharBuilder
+{
+ /ch-code exch def % save the char code
+ /font-dict exch def % and the font dict.
+ /ch-data font-dict /BitMaps get
+ ch-code get def % get the bitmap descriptor for char
+ ch-data null eq not % show character if entry is not empty
+ {
+ ch-tfmw 0
+ ch-xoff neg ch-yoff ch-height sub
+ ch-width ch-xoff sub ch-yoff
+ setcachedevice
+ ch-width ch-height true [ 1 0 0 -1 ch-xoff ch-yoff ]
+ {ch-image} imagemask
+ } if
+} bdf
+
+
+% D -- define new character in current font
+% Usage -- [<bitmap> xoff yoff pixwid pixht tfmpixwid] charnum D
+/D
+{
+ /ch-code exch def
+ /ch-data exch def
+ currentfont /BitMaps get ch-code ch-data put
+ currentfont /Encoding get ch-code dup 3 string cvs cvn put
+} bdf
+
+% EOJ -- end of job
+% Usage -- EOJ
+/EOJ
+{
+ end % matches begin issued before BOJ
+} bdf
+
+% EOP -- end of page
+% Usage -- ncopies EOP
+/EOP
+{
+/#copies exch def
+showpage
+} bdf
+
+% LANDSCAPE -- landscape format page (11inH x 8.5inV)
+% Usage -- LANDSCAPE
+/LANDSCAPE
+{
+ initmatrix
+ 72 Resolution div dup scale
+ 0 3300 translate
+ -90 rotate
+ Mtrx currentmatrix pop
+} bdf
+
+% LEGAL -- legal format page (8.5inH x 13inV)
+% Usage -- LEGAL
+/LEGAL
+{
+ initmatrix
+ 72 Resolution div dup scale
+ 0 900 translate
+ Mtrx currentmatrix pop
+} bdf
+
+% LETTER -- letter format page
+% Usage -- LETTER
+/LETTER
+{
+ initmatrix
+ 72 Resolution div dup scale
+ Mtrx currentmatrix pop
+} bdf
+
+% M -- moveto
+% Usage -- x y M
+/M
+{
+ moveto
+} bdf
+
+% Mtrx -- permanent storage for page transformation matrix
+% Usage -- Mtrx
+/Mtrx 6 array def
+
+% NF -- define new font
+% Usage -- /fontname NF
+/NF
+{
+ /newname exch def
+ newname 7 dict def
+ newname load
+ begin
+ /BitMaps 256 array def
+ /BuildChar { CharBuilder } def
+ /Encoding 256 array def
+ 0 1 255 { Encoding exch /.notdef put } for
+ /FontBBox [ 0 0 1 1 ] def
+ /FontMatrix [ 1 0 0 1 0 0 ] def
+ /FontType 3 def
+ end
+ newname newname load definefont pop
+} bdf() pop
+
+% NOTE -- note format page (increases available virtual memory from 240K
+% to 340K on Apple LaserWriter)
+% Usage -- NOTE
+/NOTE
+{
+ initmatrix
+ 72 Resolution div dup scale % set scaling to 1.
+ Mtrx currentmatrix pop
+} bdf
+
+% P -- show string at current point, updating horizontal position to new endpt
+% Usage -- (string) P
+/P {show} bdf() pop
+
+% Q -- draw bar of last size set by B command at specified point
+% Usage -- x y Q
+/Q {moveto w h B} bdf() pop
+
+% R -- move relative right and show string, updating horizontal position to
+% new endpoint
+% Usage -- (string) xxx R
+/R {0 rmoveto show} bdf() pop
+
+% S -- move absolute and show string, updating horizontal position to new endpt
+% Usage -- (string) xxx yyy S
+/S {moveto show} bdf() pop
+
+% SF -- set new font at scale nnn (nnn = 1 normally; 2 gives double size chars)
+% Usage -- nnn /fontname SF
+/SF {findfont exch scalefont setfont} bdf() pop
+
+% T -- move absolute horizontally and show string, updating horizontal position
+% to new endpt
+% Usage -- (string) xxx T
+/T {currentpoint exch pop moveto show} bdf() pop
+
+% E -- draw a circle to give lines a rounded end
+% Usage -- x y r E
+/E
+{
+gsave newpath 0 setgray 0 360 arc fill grestore
+} bdf() pop
+
+% A -- draw an arrow as line end
+% Usage -- x1 y1 x2 y2 x3 y3 A
+/A
+{
+gsave newpath moveto lineto lineto closepath 0 setgray fill grestore
+} bdf() pop
+
+/A0
+{
+gsave newpath moveto curveto curveto curveto closepath
+0 setgray fill grestore
+} bdf() pop
+
+/A1
+{
+gsave newpath moveto curveto curveto curveto closepath setlinewidth
+1 setlinejoin gsave 1 setgray fill grestore stroke grestore
+} bdf() pop
+
+/A2
+{
+gsave newpath moveto curveto curveto setlinewidth
+1 setlinejoin 1 setlinecap stroke grestore
+} bdf() pop
+
+/AX
+{
+gsave newpath moveto lineto setlinewidth stroke grestore
+} bdf() pop
+
+% F -- begin a new line, polygon or spline
+% Usage -- x y linewidth F
+/F
+{
+gsave setlinewidth 1 setlinejoin 0 setlinecap newpath moveto
+} bdf() pop
+
+% L -- end a line, polygon or spline
+% Usage -- L
+/L { stroke grestore } bdf() pop
+
+% C -- draw a piece of a spline
+% Usage -- x1 y1 x2 y2 x3 y3 C
+/C { curveto } bdf() pop
+
+% N -- draw a piece of a polygon
+% Usage -- x y N
+/N { lineto } bdf() pop
+
+% G -- produced by clip_init()
+/G { currentpoint newpath gsave moveto } bdf() pop
+
+% H -- produced by clip_exec()
+/H { currentpoint grestore clip moveto } bdf() pop
+
+% I -- produced by clip_exec() in case of 'whiteclip'
+/I
+{
+currentpoint grestore gsave 1 setgray fill grestore clip moveto
+} bdf() pop
+
+% J -- produced by clip_end()
+/J { initclip } bdf() pop
+
+% K -- produced by startline() for the first line of a spline etc.
+/K { moveto } bdf() pop
+
+% O -- produced by startline()
+/O { currentpoint grestore } bdf() pop
+
+% U -- produced by finish between clip_init() and clip_exec()
+/U { gsave moveto } bdf() pop
+
+% V -- produced by setdash()
+/V { 0 setdash } bdf() pop
+
+/bitison
+ { /ybit exch def /xbit exch def
+ bstring ybit bwidth mul
+ xbit 8 idiv add get
+ 1 7 xbit 8 mod sub bitshift
+ and 0 ne } def
+
+/setpattern
+ {/freq exch def
+ /bwidth exch def
+ /bpside exch def
+ /bstring exch def
+ /onbits 0 def /offbits 0 def
+ freq 0
+ { /y exch def /x exch def
+ /xindex x 1 add 2 div
+ bpside mul cvi def
+ /yindex y 1 add 2 div
+ bpside mul cvi def
+ xindex yindex bitison
+ {/onbits onbits 1 add def 1}
+ {/offbits offbits 1 add def 0}
+ ifelse
+ } setscreen
+ {} settransfer
+ offbits offbits onbits add div
+ setgray
+} def
+
diff --git a/dviware/dvi-augsburg/pc/makegf.bat b/dviware/dvi-augsburg/pc/makegf.bat
new file mode 100644
index 0000000000..a90d6cbd92
--- /dev/null
+++ b/dviware/dvi-augsburg/pc/makegf.bat
@@ -0,0 +1,35 @@
+@ECHO OFF
+REM makegf zeichensatz basis basis_aufloesung aufloesung
+IF %1.==. GOTO USAGE
+IF %2.==. GOTO USAGE
+IF %3.==. GOTO USAGE
+IF %4.==. GOTO USAGE
+REM set up mode by analyzing base_resolution
+IF .%3.==.101. SET MFMODE=atari_screen
+IF .%3.==.300. SET MFMODE=postscript
+IF .%3.==.216. SET MFMODE=epsonfx
+IF .%3.==.180. SET MFMODE=psix_low
+IF .%3.==.360. SET MFMODE=psix_high
+IF NOT %MFMODE%.==. GOTO WEITER
+ECHO.
+ECHO I don't know the MF-mode for %3.
+ECHO Ask your local TeX guru to fix the MF batch.
+GOTO USAGE
+:WEITER
+SET @TPATH@=%PATH%
+PATH %EMTEXDRV%:\EMTEX;%PATH%
+SET MFINPUT=%EMTEXDRV%:\EMTEX\MFINPUT;%AMSDRV%:\TEX\AMSFONTS
+SET MFBAS=%EMTEXDRV%:\EMTEX\MFBASES
+%EMTEXDRV%:\EMTEX\MF &%2 \mode=%MFMODE%; mag=%4; input %1
+PATH %@TPATH@%
+SET @TPATH@=
+GOTO EXIT
+:USAGE
+ECHO.
+ECHO Parameterfehler: MAKEGF zeichensatz basis basis_aufloesung(dpi) aufloesung(magstep)
+ECHO.
+:EXIT
+SET MFMODE=
+SET MFINPUT=
+SET MFBAS=
+ \ No newline at end of file
diff --git a/dviware/dvi-augsburg/pc/makepk.bat b/dviware/dvi-augsburg/pc/makepk.bat
new file mode 100644
index 0000000000..dcba3198ff
--- /dev/null
+++ b/dviware/dvi-augsburg/pc/makepk.bat
@@ -0,0 +1,44 @@
+@ECHO OFF
+REM makepk gf_font base_resolution real_resolution
+IF %1.==. GOTO USAGE
+IF %2.==. GOTO USAGE
+IF %3.==. GOTO USAGE
+REM set up directories by analyzing base_resolution
+IF .%2.==.101. SET FONTDIR=DVI101
+IF .%2.==.300. SET FONTDIR=DVILW300
+IF .%2.==.216. SET FONTDIR=DVI216
+IF .%2.==.180. SET FONTDIR=DVI180
+IF .%2.==.360. SET FONTDIR=DVI360
+IF NOT %FONTDIR%.==. GOTO WEITER
+ECHO.
+ECHO Ich kenne fuer %2 keinen Zeichensatzordner.
+ECHO Bitten Sie Ihren TeX Guru, den MAKEPK Batch zu erweitern!
+GOTO USAGE
+:WEITER
+SET @TPATH@=%PATH%
+PATH %EMTEXDRV%:\EMTEX;%PATH%
+IF EXIST %EMTEXDRV%:\PDFONTS\%FONTDIR%\*.* GOTO FINE
+ECHO Ich erzeuge einen neuen Zeichensatzordner %FONTDIR%
+MKDIR %EMTEXDRV%:\PDFONTS\%FONTDIR%
+ECHO "Do not delete this file!" >%EMTEXDRV%:\PDFONTS\%FONTDIR%\READ.ME
+ECHO "It is needed for automatic font generation." >>%EMTEXDRV%:\PDFONTS\%FONTDIR%\READ.ME
+:FINE
+IF EXIST %EMTEXDRV%:\PDFONTS\%FONTDIR%\%3\*.* GOTO FINEFINE
+ECHO Ich erzeuge einen neuen Ordner fuer Aufloesung %3
+MKDIR %EMTEXDRV%:\PDFONTS\%FONTDIR%\%3
+:FINEFINE
+%EMTEXDRV%:\EMTEX\GFTOPK %1.%3gf %EMTEXDRV%:\PDFONTS\%FONTDIR%\%3\%1.PK
+PATH %@TPATH@%
+SET @TPATH@=
+COPY %1.TFM %EMTEXDRV%:\EMTEX\TFM >NUL
+DEL %1.TFM
+DEL %1.%3GF
+DEL %1.LOG
+GOTO EXIT
+:USAGE
+ECHO.
+ECHO Parameterfehler: MAKEPK zeichensatz basis_aufloesung(dpi) aufloesung(dpi)
+ECHO.
+:EXIT
+SET FONTDIR=
+ \ No newline at end of file
diff --git a/dviware/dvi-augsburg/pc/p6h.opt b/dviware/dvi-augsburg/pc/p6h.opt
new file mode 100644
index 0000000000..da045e868b
--- /dev/null
+++ b/dviware/dvi-augsburg/pc/p6h.opt
@@ -0,0 +1,6 @@
+hresolution = 360
+vresolution = 360
+pkpath = \fonts\res%h.neh\%d\%s.pk
+output = p6high
+hmargin = 0.7in
+vmargin = 0.7in
diff --git a/dviware/dvi-augsburg/pc/p6l.opt b/dviware/dvi-augsburg/pc/p6l.opt
new file mode 100644
index 0000000000..e994914dcd
--- /dev/null
+++ b/dviware/dvi-augsburg/pc/p6l.opt
@@ -0,0 +1,6 @@
+hresolution = 180
+vresolution = 180
+pkpath = \fonts\res%h.nel\%d\%s.pk
+output = p6low
+hmargin = 0.7in
+vmargin = 0.7in