--- aspic-1.05.orig/Makefile +++ aspic-1.05/Makefile @@ -0,0 +1,54 @@ + +# Makefile.in for Aspic. The building work is done by a separate Makefile in +# the src directory, which gets passed settings from here. + +mkinstalldirs = $(SHELL) mkinstalldirs + +# These variables get set up by the configure script. + +CC=gcc +CFLAGS=-g -O2 +LFLAGS= + +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 + +BINDIR=$(DESTDIR)/usr/bin +MANDIR=$(DESTDIR)/usr/man + +# BINDIR is the directory in which the command is installed. +# MANDIR is the directory in which the man pages are installed. + +# The compile commands can be very long. To make the output look better, +# they are not normally echoed in full. To get full echoing, the caller +# must set FULLECHO='' on the command line and call make with -e. We default +# FULLECHO to '@' to suppress the full echo. Then define an abbreviation. + +FULLECHO = @ +FE = $(FULLECHO) + +# Do the building in the src directory + +build:; @cd src; $(MAKE) \ + BINDIR=$(BINDIR) \ + MANDIR=$(MANDIR) \ + CC="$(CC)" \ + CFLAGS="$(CFLAGS)" \ + LFLAGS="$(LFLAGS)" \ + FE="$(FE)" \ + aspic + +clean:; cd src; $(MAKE) clean + +distclean:; rm Makefile config.cache config.log config.status; \ + cd src; $(MAKE) clean + +test:; cd testing; ./RunTests + +install: build + $(mkinstalldirs) $(BINDIR) + $(mkinstalldirs) $(MANDIR) + $(mkinstalldirs) $(MANDIR)/man1 + $(INSTALL) src/aspic $(BINDIR)/aspic + $(INSTALL_DATA) doc/aspic.1 $(MANDIR)/man1 +# End --- aspic-1.05.orig/Makefile.in +++ aspic-1.05/Makefile.in @@ -13,8 +13,8 @@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ -BINDIR=@prefix@/bin -MANDIR=@prefix@/man +BINDIR=$(DESTDIR)@prefix@/bin +MANDIR=$(DESTDIR)@prefix@/man # BINDIR is the directory in which the command is installed. # MANDIR is the directory in which the man pages are installed. --- aspic-1.05.orig/doc/pic17.eps +++ aspic-1.05/doc/pic17.eps @@ -0,0 +1,177 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 216.500 66.323 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +/leftshow{dup add /r exch def +{r 2 gt +{r -2 roll exch setfont show /r r 2 sub def} +{exch setfont show exit} +ifelse}loop}bind def +/findwidth{dup 2 mul 1 add copy /w 0 def +1 exch 1 exch +{pop exch setfont stringwidth pop w add /w exch def}for}bind def +/centreshow{findwidth w 2 div neg 0 rmoveto leftshow}bind def +/rightshow{findwidth w neg 0 rmoveto leftshow}bind def +/LowerEncoding 256 array def +LowerEncoding 0 [ +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclam/quotedbl/numbersign +/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus +/comma/hyphen/period/slash +/zero/one/two/three +/four/five/six/seven +/eight/nine/colon/semicolon +/less/equal/greater/question +/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O +/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft +/backslash/bracketright/asciicircum/underscore +/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o +/p/q/r/s/t/u/v/w/x/y/z/braceleft +/bar/braceright/asciitilde/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclamdown/cent/sterling +/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft +/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/bullet +/cedilla/onesuperior/ordmasculine/guillemotright +/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +]putinterval +/UpperEncoding 256 array def +UpperEncoding 0 [ +/Amacron/amacron/Abreve/abreve +/Aogonek/aogonek/Cacute/cacute +/currency/currency/currency/currency +/Ccaron/ccaron/Dcaron/dcaron +/Dcroat/dcroat/Emacron/emacron +/currency/currency/Edotaccent/edotaccent +/Eogonek/eogonek/Ecaron/ecaron +/currency/currency/Gbreve/gbreve +/currency/currency/Gcommaaccent/gcommaaccent +/currency/currency/currency/currency +/currency/currency/Imacron/imacron +/currency/currency/Iogonek/iogonek +/Idotaccent/dotlessi/currency/currency +/currency/currency/Kcommaaccent/kcommaaccent +/currency/Lacute/lacute/Lcommaaccent +/lcommaaccent/Lcaron/lcaron/currency +/currency/Lslash/lslash/Nacute +/nacute/Ncommaaccent/ncommaaccent/Ncaron +/ncaron/currency/currency/currency +/Omacron/omacron/currency/currency +/Ohungarumlaut/ohungarumlaut/OE/oe +/Racute/racute/Rcommaaccent/rcommaaccent +/Rcaron/rcaron/Sacute/sacute +/currency/currency/Scedilla/scedilla +/Scaron/scaron/currency/currency +/Tcaron/tcaron/currency/currency +/currency/currency/Umacron/umacron +/currency/currency/Uring/uring +/Uhungarumlaut/uhungarumlaut/Uogonek/uogonek +/currency/currency/currency/currency +/Ydieresis/Zacute/zacute/Zdotaccent +/zdotaccent/Zcaron/zcaron/currency +/Delta/Euro/Scommaaccent/Tcommaaccent +/breve/caron/circumflex/commaaccent +/dagger/daggerdbl/dotaccent/ellipsis +/emdash/endash/fi/fl +/florin/fraction/greaterequal/guilsinglleft +/guilsinglright/hungarumlaut/lessequal/lozenge +/minus/notequal/ogonek/partialdiff +/periodcentered/perthousand/quotedblbase/quotedblleft +/quotedblright/quoteleft/quoteright/quotesinglbase +/radical/ring/scommaaccent/summation +/tcommaaccent/tilde/trademark +]putinterval +/myfindfont{dup dup findfont 3 1 roll FontDirectory exch known {pop} +{(**** Font ")print +100 string cvs print (" is not loaded ****\r\n)print stop}ifelse} +bind def +/bindspecialfont{exch myfindfont exch scalefont def}bind def +/bindstdfont{exch myfindfont exch scalefont +dup dup/Encoding get StandardEncoding eq +{maxlength dup dict/newfont0 exch def dict/newfont1 exch def +dup +{1 index/FID eq{pop pop}{newfont0 3 1 roll put}ifelse}forall +{1 index/FID eq{pop pop}{newfont1 3 1 roll put}ifelse}forall +newfont1/Encoding UpperEncoding put dup newfont1 definefont def +newfont0/Encoding LowerEncoding put dup newfont0 definefont def +} +{3 1 roll def def}ifelse +}bind def +/f0 /f1 /Times-Roman 12 bindstdfont +0.480 0.480 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +36.480 15.480 mymove +f0 (A) 1 centreshow +72.480 18.480 mymove +72 0 rlineto +0.400 setlinewidth +stroke +216.480 18.480 mymove +0.480 9.360 -16.080 18 -34.920 18 rcurveto +-18.840 0.600 -36.360 -7.440 -37.080 -16.800 rcurveto +-1.680 -9.360 13.800 -18.360 32.520 -19.080 rcurveto +18.720 -1.080 37.200 6.240 39.120 15.720 rcurveto +0.240 0.720 0.240 1.560 0.240 2.280 rcurveto +closepath +stroke +180.480 15.480 mymove +f0 (E) 1 centreshow +180.480 36.480 mymove +-35.040 36.720 -98.160 39.840 -136.560 6.720 rcurveto +stroke +43.920 43.200 mymove +-3.360 3.720 rlineto +-4.080 -10.440 rlineto +10.800 3 rlineto +-3.360 3.720 rlineto +stroke +showpage --- aspic-1.05.orig/doc/pic07.eps +++ aspic-1.05/doc/pic07.eps @@ -0,0 +1,180 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 216.500 90.400 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +/leftshow{dup add /r exch def +{r 2 gt +{r -2 roll exch setfont show /r r 2 sub def} +{exch setfont show exit} +ifelse}loop}bind def +/findwidth{dup 2 mul 1 add copy /w 0 def +1 exch 1 exch +{pop exch setfont stringwidth pop w add /w exch def}for}bind def +/centreshow{findwidth w 2 div neg 0 rmoveto leftshow}bind def +/rightshow{findwidth w neg 0 rmoveto leftshow}bind def +/LowerEncoding 256 array def +LowerEncoding 0 [ +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclam/quotedbl/numbersign +/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus +/comma/hyphen/period/slash +/zero/one/two/three +/four/five/six/seven +/eight/nine/colon/semicolon +/less/equal/greater/question +/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O +/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft +/backslash/bracketright/asciicircum/underscore +/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o +/p/q/r/s/t/u/v/w/x/y/z/braceleft +/bar/braceright/asciitilde/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclamdown/cent/sterling +/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft +/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/bullet +/cedilla/onesuperior/ordmasculine/guillemotright +/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +]putinterval +/UpperEncoding 256 array def +UpperEncoding 0 [ +/Amacron/amacron/Abreve/abreve +/Aogonek/aogonek/Cacute/cacute +/currency/currency/currency/currency +/Ccaron/ccaron/Dcaron/dcaron +/Dcroat/dcroat/Emacron/emacron +/currency/currency/Edotaccent/edotaccent +/Eogonek/eogonek/Ecaron/ecaron +/currency/currency/Gbreve/gbreve +/currency/currency/Gcommaaccent/gcommaaccent +/currency/currency/currency/currency +/currency/currency/Imacron/imacron +/currency/currency/Iogonek/iogonek +/Idotaccent/dotlessi/currency/currency +/currency/currency/Kcommaaccent/kcommaaccent +/currency/Lacute/lacute/Lcommaaccent +/lcommaaccent/Lcaron/lcaron/currency +/currency/Lslash/lslash/Nacute +/nacute/Ncommaaccent/ncommaaccent/Ncaron +/ncaron/currency/currency/currency +/Omacron/omacron/currency/currency +/Ohungarumlaut/ohungarumlaut/OE/oe +/Racute/racute/Rcommaaccent/rcommaaccent +/Rcaron/rcaron/Sacute/sacute +/currency/currency/Scedilla/scedilla +/Scaron/scaron/currency/currency +/Tcaron/tcaron/currency/currency +/currency/currency/Umacron/umacron +/currency/currency/Uring/uring +/Uhungarumlaut/uhungarumlaut/Uogonek/uogonek +/currency/currency/currency/currency +/Ydieresis/Zacute/zacute/Zdotaccent +/zdotaccent/Zcaron/zcaron/currency +/Delta/Euro/Scommaaccent/Tcommaaccent +/breve/caron/circumflex/commaaccent +/dagger/daggerdbl/dotaccent/ellipsis +/emdash/endash/fi/fl +/florin/fraction/greaterequal/guilsinglleft +/guilsinglright/hungarumlaut/lessequal/lozenge +/minus/notequal/ogonek/partialdiff +/periodcentered/perthousand/quotedblbase/quotedblleft +/quotedblright/quoteleft/quoteright/quotesinglbase +/radical/ring/scommaaccent/summation +/tcommaaccent/tilde/trademark +]putinterval +/myfindfont{dup dup findfont 3 1 roll FontDirectory exch known {pop} +{(**** Font ")print +100 string cvs print (" is not loaded ****\r\n)print stop}ifelse} +bind def +/bindspecialfont{exch myfindfont exch scalefont def}bind def +/bindstdfont{exch myfindfont exch scalefont +dup dup/Encoding get StandardEncoding eq +{maxlength dup dict/newfont0 exch def dict/newfont1 exch def +dup +{1 index/FID eq{pop pop}{newfont0 3 1 roll put}ifelse}forall +{1 index/FID eq{pop pop}{newfont1 3 1 roll put}ifelse}forall +newfont1/Encoding UpperEncoding put dup newfont1 definefont def +newfont0/Encoding LowerEncoding put dup newfont0 definefont def +} +{3 1 roll def def}ifelse +}bind def +/f0 /f1 /Times-Roman 12 bindstdfont +0.480 54.360 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +36.480 69.360 mymove +f0 (A) 1 centreshow +72.480 18.360 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +stroke +108.480 33.360 mymove +f0 (B) 1 centreshow +144.480 36.360 mymove +0.480 18.840 -16.080 35.880 -34.920 36 rcurveto +-18.840 1.080 -36.360 -14.880 -37.080 -33.720 rcurveto +-1.680 -18.720 13.800 -36.840 32.520 -38.040 rcurveto +18.720 -2.280 37.200 12.600 39.120 31.320 rcurveto +0.240 1.440 0.240 3 0.240 4.560 rcurveto +closepath +0.400 setlinewidth +stroke +144.480 18.360 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +180.480 33.360 mymove +f0 (C) 1 centreshow +showpage --- aspic-1.05.orig/doc/pic12.eps +++ aspic-1.05/doc/pic12.eps @@ -0,0 +1,32 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 120.400 60.400 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +100.440 30.360 mymove +0.720 5.280 -22.320 9.960 -48.480 9.960 rcurveto +-26.040 0.360 -50.520 -4.200 -51.480 -9.360 rcurveto +-2.280 -5.160 19.080 -10.200 45.240 -10.560 rcurveto +25.920 -0.600 51.720 3.480 54.360 8.760 rcurveto +0.240 0.360 0.360 0.840 0.360 1.200 rcurveto +closepath +0.400 setlinewidth +stroke +120.360 30.360 mymove +0.120 15.720 -4.440 29.880 -9.720 30 rcurveto +-5.160 0.960 -10.080 -12.480 -10.320 -28.080 rcurveto +-0.480 -15.600 3.840 -30.720 9 -31.800 rcurveto +5.160 -1.920 10.320 10.440 10.920 26.160 rcurveto +0 1.200 0.120 2.520 0.120 3.720 rcurveto +closepath +stroke +showpage --- aspic-1.05.orig/doc/pic19.eps +++ aspic-1.05/doc/pic19.eps @@ -0,0 +1,23 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 72.200 36.200 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +0.240 0 mymove +0 36 rlineto +72 0 rlineto +0.400 setlinewidth +stroke +0.240 18 mymove +36 18 rlineto +stroke +showpage --- aspic-1.05.orig/doc/aspic.xml +++ aspic-1.05/doc/aspic.xml @@ -0,0 +1,3914 @@ + + + + + + + +Aspic: A Line-Art Processor +Aspic +04 March 2008 +PhilipHazel +PH + + 1.05 + 04 March 2008 + PH + +2008University of Cambridge + + +Introduction to Aspic + +Aspic is a program that converts a textual description of a line drawing into +instructions that can be processed by standard software in order to draw the +picture. This method of defining line art graphics is the same as that of the +PIC system, described by Kernighan in Software – Practice and Experience, +12, pages 1–21 (1982), though the details of the Aspic commands are quite +different. + + +The default output format is Encapsulated PostScript (EPS). There is also +support for output in Scalable Vector Graphics (SVG) format. Aspic was +originally developed for use with the SGCAL typesetter (which is not widely +released), and it still contains some legacy support for that application +(see chapter ). + + +Although Aspic supports the inclusion of text in drawings, it does no text +processing of its own, in the sense that it contains no code for finding the +displayed length of text strings. The implementation of operations such as text +justification or centering (which can be specified in Aspic) are therefore left +to the back-end processor. Aspic uses the font size to guess how much vertical +space to leave between lines, but this can be increased by the user if +required. Character encoding is discussed in chapter . + +
+The aspic command + +The command to run Aspic is as follows: + + +aspic [options] input-file output-file + + +If a single hyphen character is given as a file name, it refers to the standard +input or output. If no file names are given, Aspic reads from the standard +input and writes to the standard output. If only one name is given, it is taken +as the input, and output is again to the standard output. Error messages are +always written to the standard error stream. The options are as follows: + + +-help causes Aspic to display usage information on the standard output, and +then exit. + + +-nv disables the use of Aspic variables. This means that dollar characters +in the input file are no longer treated specially. The option is useful when +there are dollar characters in an Aspic source that does not make use of Aspic +variables. + + +-ps (the default) causes Aspic to write Encapsulated PostScript output. +This can be viewed with a PostScript viewer such as gv and included in +PostScript documents (which can easily be converted to PDF). + + +-sgcal causes Aspic to generate SGCAL input as its output (see chapter + for details). + + +-svg causes Aspic to generate Scalable Vector Graphics (SVG) output. This +can be viewed with an SVG viewer such as xsvg and included in XML +documents. + + +-tr causes Aspic to translate certain input characters; for example, a +grave accent is translated into a typographic opening quote. Details are given +in section . + + +-v causes Aspic to display its version number on the standard output, and +then exit. + +
+
+ + +Simple Aspic examples + +This chapter uses some simple examples to introduce the various facilities +that are available in Aspic. Subsequent chapters contain reference material +that explains things in more detail. + + +Aspic operates in a traditional Cartesian coordinate system, with the positive +directions to the right and upwards. For PostScript output the units of length +used in Aspic commands are printers’ points. There are 72 points to an inch. +SVG output contains the same dimensions without specifying a unit. The +interpretation is left to the rendering software. On a screen, SVG dimensions +are likely to be treated as pixels. + + +The examples below all show examples of Aspic source, followed by the resulting +picture. We start with a simple diagram: + + +box "A"; line; circle "B"; + +
+ + +
+ +​ + + +Each Aspic command is terminated by a semicolon, so there are three commands in +this example: + + + + +The box command causes a box to be drawn, containing the text at its +centre. The default box size is 72 by 36 points (that is, 1" × 0.5"). +There are commands to change the default – see chapter – and +the size of an individual box can of course be specified (see below). There is +also a magnify command that affects the sizes of all shapes (but not the +size of any text). In this document, all the pictures are reduced by a factor +of 0.8, so the size of the box above is actually 0.8" × 0.4". + + + + +The line command draws a straight line; as nothing else is specified, the +line is drawn in the current direction of motion, which defaults to the right. +The length is the standard horizontal line length, which defaults to 72 points +(1 inch). + + + + +The circle command draws a circle; as nothing was specified as to how it +should join onto its predecessor, the ‘obvious’ joining position is chosen. The +circle is drawn at a standard size. (Again, there are commands for changing +this.) Aspic provides for ellipses as well as circles. + + + + +Each Aspic command that causes a shape to be drawn may have any number of text +strings associated with it. In the above example, the box and the circle each +have one associated string. For closed shapes such as these, the strings are +centred in the shape. For horizontal lines, the strings are centred above and +below the line, while for other kinds of line they are positioned near the +middle of the line. For example: + + +line "first" "second"; line down "third" "fourth"; + + +
+ + +
+ +​ + + +The commands introduced above may be used with options that change the size of +the shape that is drawn. For example: + + +box width 100 depth 20; line right 40; circle radius 10; + + +
+ + +
+ +​ + + +The current direction of motion can be changed by the commands up, down, +left, and right. In addition, an individual line may be drawn in any +direction and of any length (without changing the defaults) by means of +appropriate options: + + +down; box "A"; line; circle "B"; +line right 40; line left 20 up 20; line; + + +
+ + +
+ +​ + + +The length values for lines are interpreted as distances in the Cartesian +coordinate directions rather than the actual length of the line drawn. There +are separate standard values for the horizontal and vertical lengths, which are +72 and 36 points, respectively, by default. + + +line; line up right; line left; line down; + + +
+ + +
+ +​ + + +If a sequence of closed shapes occurs, the shapes are joined together according +to the current direction of motion, but a closed shape following a line joins +according to the direction of the line. + + +box "A"; box "B"; box "C"; line; +down; circle "D"; circle "E"; line left; + +
+ + +
+ +​ + + +There is a join option for specifying where a closed shape joins its +predecessor: + + +box "A"; box join top left "B"; +circle join centre; box join left "C"; + + +
+ + +
+ +​ + + +The argument for join specifies a point on the new shape that is to be +joined to a point on the previous shape. Thus, in the above example, the top +left-hand corner of the second box is the point which is joined to the first +box. The joining point on the previous shape is the complementary position by +default, but it can be also specified explicitly. For example: + + +box "A"; box depth 50 join top left to top right "B"; + + +
+ + +
+ +​ + + +There are nine possible joining points – the four corners, the midpoints of +the four edges, and the centre point. The midpoints of the edges are identified +by the unqualified names of the edges. Thus, if the only joining information is +an edge name, two boxes are joined with the midpoints of the edges aligned: + + +box "A"; box depth 50 join left "B"; + + +
+ + +
+ +​ + + +Joins can refer to items other than their immediate predecessors, by using +labels. For example: + + +BOXA: box "A"; +BOXB: box "B"; + circle radius 10 join centre to centre of BOXA; + box width 20 depth 20 join centre to centre of BOXB; + + +
+ + +
+ +​ + + +The join option may also be used for specifying how a closed shape joins +onto a line: + + +line; ellipse join top; + +
+ + +
+ +​ + + +When a circle or an ellipse is being joined, the ‘corner’ joining points refer +to points on the circumference, not the corners of the bounding box. The size +of an ellipse is specified as a width and a depth, which determine the lengths +of the horizontal and vertical axes. For example: + + +ellipse width 100 depth 20; +ellipse width 20 depth 60; + +
+ + +
+ +​ + + +Lines may be drawn dashed, and, by using the arrow command, with arrowheads +on one or both ends. + + +line dashed; arrow down; arrow left both; +arrow down back dashed; + + +
+ + +
+ +​ + + +By default, arrow requests an arrowhead on the end of the line. The option +both gives arrowheads on both ends, whereas back gives a +backward-pointing arrowhead only. + + +Circular arcs are the other form of non-closed shape that Aspic supports. By +default an arc is drawn in an anti-clockwise direction, for 90 degrees, and at +a standard radius (default 36). If an arc follows a line or another arc, it +continues in the same direction by default. If the very first shape is an arc, +its initial direction is upwards. + + +arc "A"; line left; arc "B"; + + +
+ + +
+ +​ + + +The options up, down, left, and right can be used to specify a +different initial direction for the arc: + + +line; arc down; + +
+ + +
+ +​ + + +The angle subtended, the radius, and clockwise drawing can be specified: + + +arc "A"; arc angle 180 radius 20 "B"; +arc clockwise angle 270 radius 40 "C"; + + +
+ + +
+ +​ + + +Arcs can be drawn from and to particular points, and, by using the arcarrow +command, with arrowheads. + + +line; arcarrow from end to start; + + +
+ + +
+ +​ + + +In this example, the positions ‘end’ and ‘start’ are taken to refer to the +last-drawn shape. To refer to other shapes, labels are used: + + +BOXA: box "A"; line; ellipse "E"; +arcarrow from top to top of BOXA; + + +
+ + +
+ +​ + + +When an arc of this type is drawn, either the radius or the angle +subtended at the centre of the arc or the ‘depth’ of the arc or a point +through which the arc is to pass may be specified, but only one of these. The +‘depth’ of an arc is the length of the line from the middle of the arc to the +middle of the line joining the endpoints. If none of the above parameters is +specified, a subtended angle of 90 degrees is used. Here is an example that +shows the different ways of specifying arcs: + + +AA: line; +arc from end to start "1"; +arc from end of AA to start of AA angle 180 "2"; +arc clockwise from end of AA to start of AA radius 100 "3"; +BB: arc to start depth 24 "4"; +arc clockwise to start via middle of BB plus (10,-10) "5"; + + +
+ + +
+ +​ + + +The fifth arc in this example passes through a point that is defined as + + +middle of BB plus (10,-10) + + +The ‘middle of BB’ is halfway along the fourth arc; the plus qualifier +applies a relative offset that is 10 points to the right and 10 points down +from this midpoint. The starting and ending points of straight lines can also +be specified explicitly; if both are specified, that determines the length of +the line. + + +AA: line up; BB: line right; +line from middle of AA to middle of BB; + + +
+ + +
+ +​ + + +Positions on a line or arc may be specified as start, middle, or +end (the word centre is reserved for the centre of a closed shape, or +for the centre point of a circular arc). More precise positioning can be +achieved by specifying a fraction of the way along the line from a named +position: + + +AA: line right 100; +arrow up from 0.2 start of AA; +arrow down from 0.3 end of AA; + + +
+ + +
+ +​ + + +The upward arrow starts at a point that is 0.2 of the way along the line from +the start, and the downward arrow starts at a point that is 0.3 of the way +along the line from the end. This feature also applies to the edges of boxes: + + +AA: box; +arcarrow from 0.1 right of AA to 0.2 top of AA angle 270; + + +
+ + +
+ +​ + + +Positions along the top and bottom are measured from the left; positions on the +sides are measured from the bottom. If these options are used with a circle or +an ellipse, the positions used are those of the circumscribing box. Any +position can be further modified by an explicit distance, specified as a vector +enclosed in parentheses following plus. In the next example, the arrow +starts at a position 20 points to the right of the middle of the line, and 5 +points above it: + + +line; arrow up from middle plus (20,5); + +
+ + +
+ +​ + + +There is one further positioning feature that is useful for horizontal or +vertical lines. It allows the end of such a line to be aligned with a given +point, which is often the easiest way to describe certain kinds of drawing: + + +BOXA: box "A"; +line down 5; arc; arrow right 10; box "B"; +line up align centre of BOXA; +arrow to right of BOXA; + + +
+ + +
+ +​ + + +The align option is used in place of to; it defines a position, but +only one of its coordinates is used as a coordinate of the end of the line. In +the example above, a vertical line was specified, and so only the vertical +coordinate of ‘centre of BOXA’ was used. + + +Aspic pictures are best specified as a sequence of shapes whose positions are +inter-related. This makes the pictures easy to adjust as they are being +created, and also easy to change subsequently. However, many pictures contain +shapes that are not connected to other shapes in the picture. Aspic does allow +absolute positioning for shapes, but it is often more useful to position these +shapes in relation to the others. This can be done using invisible lines, +boxes, and arcs. If you use iline, ibox, and iarc instead of +line, box, and arc, the relevant lines are not drawn. There are +also icircle and iellipse commands. + + +box "A"; iline right 30 down 10; box "B"; +ibox width 150 "iboxes are helpful" "for centring text"; + + +
+ + +
+ +​ + + +The shapes in the examples shown so far have all been just outlines, but Aspic +also contains facilities for causing closed shapes to be filled with colour or +shaded with grey. The commands that define closed shapes (box, circle, +and ellipse) can be specified with a filled option. If it is followed +by one number, that specifies a grey level. Otherwise, it must be followed by +three numbers that specify a colour in terms of red, green, and blue levels. +The numbers are separated by commas and/or spaces. In all cases, the numbers +lie between 0 and 1. For example: + + +box filled 0.5; circle filled 1 0 0; + + +
+ + +
+ +​ + + +In this example, visible closed shapes are used, so their outlines are drawn. +If an invisible shape is filled, no outline is drawn. Arbitrary shapes can be +filled by specifying the shapefilled option with the same colour or +greylevel value on a sequence of lines and/or curves. The end of the shape is +marked by an item with a different shapefilled value (or the end of the +input). The shape is automatically closed, if necessary, by an invisible +straight edge from the endpoint to the startpoint. For example: + + +line shapefilled 0.5; arc shapefilled 0.5; + +
+ + +
+ +​ + + +Sometimes it is necessary to supply a dummy item with a different +shapefilled value to terminate one shape, when another that is to be filled +with the same colour follows immediately afterwards. A line of zero length can +be used for this. For example: + + +iline right shapefilled 0.5; +iline down shapefilled 0.5; +line left 0; +iline down left shapefilled 0.5; +iline right shapefilled 0.5; + + +
+ + +
+ +​ + + +Without the dummy, zero-length line, the result is: + + +iline right shapefilled 0.5; +iline down shapefilled 0.5; +iline down left shapefilled 0.5; +iline right shapefilled 0.5; + + +
+ + +
+ +​ + + +When a long sequence of commands all have the same shapefilled value, you +can save typing by using the shapefill command to set a default (see +chapter ). Filling a shape obliterates items that are ‘beneath’ +it. To make it easy to specify which filled shapes are ‘above’ others, there is +a level option that can be used on any drawing command. The default level +is zero; items with a higher value are drawn ‘above’ (later), whereas items +with a lower (negative) level are drawn ‘below’ (earlier). The order in which +the items are defined does not matter. For example: + + +A: circle filled 0.5; +line right from centre of A level 1; +line left from centre of A level -1; + + +
+ + +
+ +​ + + +Aspic can be requested to draw a frame round any picture, by means of the +boundingbox command. This is followed by one dimension, which specifies the +space to be left between the bounding box of the picture and the frame. +In this example the bounding box of the picture is determined by the invisible +boxes that contain the text: + + +boundingbox 10; ibox "first"; arcarrow; ibox "second"; + + +
+ + +
+ +​ + + +This chapter has introduced many, but not all, of the features of Aspic. The +remaining chapters specify the form of the input more rigorously, and list each +command, together with its options. + +
+ + +General operation of Aspic + +Aspic processes its input in order, interpreting commands that are instructions +for moving about on the plane and causing shapes to be drawn and text to be +printed. There are many parameters for controlling the size and style of the +shapes that are drawn; all of them have defaults, and most of these can be +altered. Aspic builds up data structures in main memory that represent the +final image. When it reaches the end of the input file, it outputs a +description of the picture in the appropriate output language. + + +For PostScript output, the units of length used by Aspic are printers’ +points, of which there are 72 to an inch. For SVG output, the units are +interpreted by the SVG processor, and on screen displays, they are often taken +as pixels. + + +Aspic distinguishes between closed and open shapes. The closed shapes are +boxes, circles, and ellipses, and the open shapes are lines and circular arcs. +There are default sizes for everything, and text strings may be associated with +each shape. Unless explicitly positioned, each shape is placed adjacent to its +predecessor, taking note of the current direction, whose default is to the +right. For example, the sequence: + + +box; arrow; box; + + +places the three items in a horizontal row. There are commands to change the +current direction, and, for the drawing commands, options to override it for +individual items. + + +Only very simple pictures can be drawn as a series of shapes in which each +shape is positioned relative to its predecessor. Aspic allows shapes to be +labelled so that branches in the sequence of shapes may be constructed, and +cross-references between different parts of the picture may be expressed. The +previous chapter contains several examples. + +
+Position of the coordinate origin + +It is possible to specify absolute positions on the drawing plane, but it +is better to describe a picture in terms of relative positions between the +shapes that comprise it, because such a description is much easier to adjust +while you are creating the picture. If the first item in a picture is specified +without an absolute position – this is normally the case – it is positioned +as follows: + + + + +A closed shape is placed with its centre at the origin. + + + + +A straight line starts at the origin. + + + + +A circular arc is placed with the centre of the arc at the origin. + + + + +However, for most pictures, it is not necessary to worry about absolute +coordinates or the position of the origin. + +
+
+The bounding box + +Aspic computes a bounding box for the entire picture, and arranges that the +bottom left of the bounding box is positioned at the bottom of the picture’s +space on the output page. This means that the origin is not necessarily at the +bottom left of the final picture. The coordinates of the bounding box are +included in the output file and are used by programs that process it to +determine the size of the image. + + +Invisible items that are not part of the boundary of a filled shape, and which +have no associated text, are ignored when Aspic is computing the bounding box. +The idea is that such items are assumed to be used for positioning purposes +only. Occasionally you may want an invisible item to be included in the +bounding box calculation. You can do this by providing it with an empty text +string. + + +Because Aspic does not process text strings itself, it can only guess the size +of a string when computing the bounding box. This matters only when a string +extends beyond the box defined by the graphic shapes. A string’s width is +guessed as one half the font size times the number of characters in the string. + +
+
+ + +Aspic input + +Aspic input consists of a sequence of commands, each of which must be +terminated by a semicolon. Newlines and other white space may appear between +the components of a command in the usual way. If a sharp (or ‘hash’) character +(#) is encountered when a command is expected, the remainder of the input line +is ignored. This provides a facility for including comments in Aspic input. +Each input line is processed for variable substitutions before any other +processing takes place (see chapter below). + +
+Command format + +An Aspic command consists of four components: + + + + + + + + + +label +command +options +strings + + +A: +box +dashed width 100 +"first" "second"; + + + + + +The case of letters is significant in all the components. Only the command name +is mandatory. + + + + +Commands that define lines or closed shapes may start with one or more labels, +each terminated by a colon. A label consists of a sequence of letters and +digits, starting with a letter. Upper case letters are commonly used in labels +as it makes them stand out. Other commands may not be labelled. + + + + +All commands contain a command name. + + + + +Many commands have optional option specifications that follow the command name. +Each option consists of a keyword, possibly followed by a value. They may +appear in any order. + + + + +Following the options, on commands that define lines or closed shapes, and on +the text command, there may be any number of text strings, each enclosed in +double quotes. The double-quote character itself may be included by doubling. +There are some options that can follow a text string; these are described in +chapter . The strings specify text that is to be output at an +appropriate position relative to the item that is drawn (the text command +in effect draws a null item). Details of text positioning are given below with +the commands for each type of item. Strings may not extend over line boundaries +in the input. + + + + +Strings are interpreted as a sequence of Unicode characters. The inclusion of +characters by name and by number is supported. Details of how the sequence of +input bytes is decoded are given in section . + + +Aspic does no typographic processing of strings. This means that any +string-specific processing, such as measuring the string in order to centre it, +has to take place in the backend processor. In PostScript output, PostScript +operators are used to do this. In SVG output, an appropriate setting of the +text-anchor attribute is generated. + +
+
+File inclusion + +The include command can be used to insert the contents of a given file into +the sequence of Aspic commands. This can be used, for example, to include a +standard header file (which might define fonts or give names to colours) in a +number of different pictures. The command name is followed by a file name, +which is not quoted. For example: + + +include /home/me/MyAspicHeader; + + +If include appears inside a macro (see chapter ), it is +evaluated every time the macro is called, so can be used to include different +files on different occasions. Included files may contain further inclusions. + +
+
+ + +Aspic variables + +Aspic supports simple variables, which can be used to save repetition in the +input. This feature can, however, be disabled by use of the -nv command +line option. If you are not using Aspic variables, but are making use of dollar +($) characters in strings, you should use -nv, because otherwise the +dollars will be misinterpreted by Aspic. + + +When variables are not disabled, a dollar character in an input line introduces +a variable substitution. There is, however, one exception: the special sequence +&$ that is used in Aspic macros – see chapter . +In all other cases, a dollar character must either be followed by another +dollar (indicating a single literal dollar character), or be followed by a +variable name, optionally enclosed in brace (curly bracket) characters. +Variable names start with a letter and contain letters and digits. Braces are +required if the character that follows the variable name is a letter or a +digit. + + +When each input line is read, the values of any variables that are mentioned +are substituted before any other processing takes place. A variable must be +defined before it is used. The contents of a macro (see chapter +) are not reprocessed for variable substitutions when the +macro is called. (They are, of course, processed for substitutions of +the macro’s arguments.) + + +Variables are given values by means of the set command, which is followed +by a variable name (without a dollar) and a string value. The value of a +variable can be changed as many times as you like during the course of a +picture description. For example, this command defines the variable red to +contain the three colour values for the colour red: + + +set red "1,0,0"; + + +Later in the input file, the variable could be used like this: + + +box filled $red; + + +Special variables + + +At the start of an Aspic run, the variable $date is initialized to contain +the date and time, and the variables $creator and $title are each set +to the string ‘Unknown’. These three variables are used to create comments at +the start of PostScript and SGV output, but otherwise they are treated like any +other variable, and you can change them as required. For example, you might +like to set $date to the date on which the picture was defined. + + + + +Aspic macros + +To save a lot of command repetition, Aspic contains a simple macro facility +that allows you to define compound commands. A macro is defined by the command +macro, which is followed by a name and a macro body. Macro names must not +be the same as the names of inbuilt commands. The body consists either of +all the following text up to the first non-quoted semicolon, or, if the +first character after the name is an opening brace, all the text up to the next +non-quoted closing brace, which must be followed by a semicolon. For example: + + +macro bigbox box width 100 depth 100; +macro box2 { box; box; }; + + +A macro definition may extend over more than one line. Variables are +substituted into the contents of a macro when it is defined; there is no +re-substitution when the macro is called. If you need such a facility, it can +be obtained by passing variables as arguments to macro calls. + + +Macros are called by using their names as command names. They can be called +with arguments, which are treated as character strings. White space is used to +delimit macro arguments, unless they are enclosed in either single or double +quotes. If double quotes are used, they are retained when the contents of an +argument are substituted into the macro body. + + +Macro arguments are referenced in the macro body by items of the form &1, +&2, etc. These references are replaced by the actual argument values each +time the macro is called. If the character & is required for another +purpose in a macro body, it must be doubled. If the special string &$ +appears in a macro body, it is replaced by a sequence number that is +incremented for each macro called. This can be used to generate unique labels +for shapes that are drawn as a result of macro calls. + + +The following example starts with the definition of a macro that draws a box +containing text given as one or two arguments, with two lines attached to it. +This macro is then used to generate an array of boxes. Because Aspic allows +multiple labels on shapes, these compound items can themselves be labelled, as +shown in this example: + + +macro item { + B&$: box &1 &2; line down; + line right 20 from right of B&$; + }; + +item "first" "second"; +MID: item "third"; +item "fourth" "fifth"; +arrow up 20 from MID; + + +
+ + +
+ +​ + + +Note the use of &$ to generate a unique label within the macro. Because +the macro was not defined with double quotes surrounding the argument +references, double quotes had to be used when calling it in order to supply +strings to the box command. If the quotes had been present in the +definition, they could not be have been used in the calls, but single quotes +could have been used if the arguments contained spaces. + + +If an argument that has not been supplied is referenced, nothing is +substituted; thus the second call of item above expands into a call to +box with only a single string argument. If too many arguments are supplied, +the surplus ones are left in the input following the substituted text. + + +It is not necessary to include a semicolon before a terminating brace when +defining a macro. If the semicolon is present, it is included in the +replacement text when the macro is called. Sometimes it is useful to be able to +set up a macro that generates part of a command, so that additional options +can be added on each call. This can be done by omitting the terminating +semicolon. In this example, any text following the macro name is added to the +command: + + +macro slotbox { box width 200 depth 20 }; +slotbox dashed "text for slotbox"; + + +
+ + +
+ +​ + + +When such additional text is required, and also not all the arguments of a +macro are to be supplied, the vertical bar character can be used to mark the +end of the arguments. For example: + + +macro dashbox { box dashed &1 &2; arrow }; +dashbox "first" "second"; +dashbox "third" | "fourth"; + + +
+ + +
+ +​ + + +In the first call, the two strings are taken as arguments of the macro; in the +second call, the second string is added onto the end of the replacement text, +and therefore goes with the arrow command. + +
+ + +Types of value used in commands + +Unless explicitly stated to be an integer, a number may always be specified +with an optional decimal point and fractional part. Negative numbers are +preceded by a minus sign. Non-integer numbers are held in a fixed-point format +to three decimal places. In the descriptions of the commands that follow, the +following types of value are used: + +
+<angle> + +A non-negative number, specifying an angle in degrees. + +
+
+<boxpoint> + +One of the phrases top, bottom, left, right, centre, bottom left, bottom +right, top left, or top right. The first four refer to the midpoints of +the respective sides of a box; the last four refer to the corners. + +
+
+<colour> + +Three numbers in the range 0.0 to 1.0, separated by spaces and/or commas. They +specify the colour components for red, green, and blue, respectively. + +
+
+<greylevel> + +A number in the range 0.0 to 1.0, where 0.0 is black and 1.0 is white. + +
+
+<integer> + +A positive or negative integer. + +
+
+<label> + +A label that identifies an existing drawing item, that is, one whose definition +falls earlier in the input file. + +
+
+<length> + +A non-negative number, specifying a length in points. + +
+
+<position> + +A <position> identifies a point in the plane. It is either an absolute +position, specified as a pair of x-y coordinates, separated by a comma and +enclosed in parentheses, or a relative position, specified as follows: + + +[<fraction>]   <point>   [of <label>]   [plus <vector>] + + +where all but <point> are optional. The position is computed relative to +the object whose <label> is given, or if no <label> is mentioned, +relative the previous object. + + + + +If the referenced object is a box, circle, or ellipse, then <point> must be +a <boxpoint>. The ‘corner’ points of a circle or ellipse are the +intersections of the shape with the diagonals of the bounding box. + + + + +If the referenced object is an arc or a line, then <point> is one of the +words start, end, or middle. These refer to positions along the line or +arc. In addition, for an arc, centre, meaning the centre of the circle of +which the arc is part, may be specified. + + + + +<fraction> is a number between 0.0 and 1.0, specified either as a decimal +fraction (for example, 0.5) or as two numbers (usually, but not necessarily +integers) separated by a slash (for example, 1/3). It specifies a position +part-way along a straight line or circular arc. If <fraction> is present, +there are some additional constraints on <point>: + + + + +If the referenced object is closed, then <point> must be one of +top, bottom, left, or right, and the line to which <fraction> +refers is the appropriate side of the bounding box of the object. The fraction +is measured from the left of horizontal lines, and from the bottom of vertical +lines. + + + + +If the referenced object is not closed, then <point> must be one of +start or end – the fraction is then taken from that end of the line +or arc. + + + + +In effect, the presence of <fraction> changes the meaning of top, +bottom, left, or right as a <point>. With no <fraction>, these +words refer to the midpoints of the respective sides of the bounding box; when +<fraction> is present, they refer to the sides themselves. + + +The final optional component of a <position> is the word plus followed +by a <vector>, which is two numbers separated by a comma and enclosed in +parentheses. It specifies a Cartesian adjustment to the position defined by the +remainder of the <position>. Here are some examples of <position> +specifications: + + +(45,67) +top +top plus (10,0) +centre of A +bottom right of B plus (0,-5) +1/3 top of C +middle +end of line1 +0.25 start of line3 plus (0,7) + +
+
+<text> + +Many command specifications end with <text>, without an associated keyword. +This represents any number of items, each of the following form: a string +enclosed in double quotes (with doubling for any double quotes within the +string), followed optionally by a <vector> (as described above in the +definition of <position>) and one of /l, /r, or /c. There may also +be a slash followed by a font number, and/or a slash followed by three +comma-separated numbers that represent the red, green, and blue components of a +colour. If present, the <vector> must come first. For example: + + +"the quick brown fox" +"the quick (font 2)"/2 "brown fox (font 5)"/5 +"move this up"(0,20) +"justify right"/r +"move left and centre (font 3)"(-20,0)/c/3 +"coloured"/1,0.5,0.4 + + +The presence of a <vector> causes the position at which the string is +printed to be modified by the value of the <vector>. The /l, /r, and +/c options specify left, right, or centre justification respectively. The +default justification depends on the shape with which the string is associated, +and is documented below. + + +If a string is followed by a slash and a single number, that number specifies a +font. A default font is provided, and the bindfont command can be used to +define additional fonts. The default font is number zero, and is a Times-Roman +12-point font. The setfont command can be used to change the default font. +For further details of these commands, see chapter , and for +details of character codes, see section . + + +A slash followed by three comma-separated numbers specifies a colour for the +text. At present, this is supported only in PostScript output. For other output +formats, colour specifications for text are ignored. + +
+
+ + +Drawing objects and text + +All the commands that cause something to be drawn and/or text to be +output are described in this chapter. Each command is summarised by listing +its options and the type of value that must follow each option keyword, where +relevant. A vertical bar is used to separate alternative kinds of value. Some +combinations of options are mutually exclusive, and these are noted in the +description of each command below. + + +When options are omitted, default values are used. There are separate sets of +defaults for boxes, circles, ellipses, and lines. Many of these defaults can be +changed by the commands that are described in chapter (Changing +environment parameters). + + +The thickness, colour, and greyness options are common to all these +commands, with the exception of text. The first specifies the thickness of +lines that are drawn. Their colour is specified either by colour, which +must be followed by three numbers (for red, blue, and green components), or by +greyness, which must be followed by a single number. This is a shorthand +for colour followed by three identical numbers. Colour numbers lie in the +range 0.0. to 1.0 inclusive. They specify the amount of colour to be used. In +the case of greyness, a value of 0.0 is black and 1.0 is white. If no +colour option is present, default values are used. + + +The level option is common to all these commands. It is useful when filled +shapes are being drawn, because filling a shape obliterates items that are +drawn ‘below’ it. The default level is zero; items on levels greater than zero +are drawn ‘above’ and items with levels less than zero are drawn ‘below’. The +default can be changed by the level command (see chapter ). + + +Many of the commands also have filled and shapefilled options. For +closed shapes (box, circle, ellipse), filled specifies a colour +with which to fill the shape. It can be followed either by three numbers to +specify red, green, and blue components, or by a single number, to specify a +grey level. For lines or arcs that start or end with arrowheads, filled +specifies the colour with which the arrowhead is filled. + + +The shapefilled option also takes either one or three numbers as its +argument. It is available on commands for drawing lines and arcs. A sequence of +such commands with the same shapefilled arguments is interpreted as a +closed shape that is to be filled with the appropriate colour. If the lines do +not define a closed shape, an invisible straight line from the end to the start +bounds the area that is filled. If one closed shape immediately follows another +of the same colour, you may need to insert a dummy command without a +shapefilled option between them, in order to terminate the first shape. A +line of length zero can be used for this. + + +All these command specifications end with <text>, without an associated +keyword. The keyworded options can be specified in any order, but text +strings must always come last. + +
+arc + + + + + + + + +angle +<angle> + + + +clockwise + + + + +colour +<colour> + + + +dashed + + + + +down + + + + +depth +<length> + + + +from +<position>   |   <label> + + + +greyness +<greylevel> + + + +left + + + + +level +<integer> + + + +radius +<length> + + + +right + + + + +shapefilled +<colour>   |   <greylevel> + + + +thickness +<length> + + + +to +<position> + + + +up + + + + +via +<position> + + + + +<text> + + + + + +A circular arc is drawn in an anti-clockwise direction from its starting point +to its ending point, unless the clockwise option is present, in which case +the arc is drawn clockwise. The position, size, and orientation of an arc may +be specified in one of four different ways: + + + + +If neither from nor to is specified, the arc is positioned according to +the previously drawn shape. The depth and via options may not be given. +The user may supply either or both of a radius and an angle. If no radius is +supplied, the default arc radius is used; if no angle is supplied, an arc of 90 +degrees is drawn. + + +The initial direction of the arc can be specified by up, down, +left, or right. If none of these are present, and the previous item was +a line or arc, the new arc starts by continuing in the same direction. +When an arc follows a closed shape (box, circle, or ellipse), the current +direction is used. The direction determines the position on the closed shape +from which the arc starts (up starts from the middle of the top of a box, +and so on). If the first item in the input is an arc without an explicit +direction, it is drawn upwards. + + + + +If from is supplied without to, either or both of a radius and an angle +may be supplied. If no radius is supplied, the default arc radius is used; if +no angle is supplied, an arc of 90 degrees is drawn. The depth and via +options may not be given. If the initial direction of the arc is not specified, +the current direction is used. + + + + +If to is given without from, a starting point is determined from the +previous shape, and then the action is as described in the following paragraph. +If the previous shape is a line or arc, its end point is used; otherwise the +direction (explicit or implicit) is used to decide on which side of the +bounding box of the previous closed shape to place the starting point, but not +for any other purpose. The midpoint of the appropriate side is used. + + + + +If both from and to are given (or if to is given and from is +determined from the previous shape as just described), there are four mutually +exclusive ways in which the size of the arc can be specified: + + + + +The radius option can be used to give an explicit radius; this must not be +less than half the distance between the end points. + + + + +The angle option can be used to specify the angle subtended at the centre of +the arc. + + + + +The depth option can be used to specify the distance between the midpoint of +the line joining the end points and the midpoint of the arc. If the depth +option specifies a distance that is more than half the distance between the end +points, an arc of more than 180 degrees is drawn. + + + + +The via option can be used to specify a third point through which the arc +is to pass. This point must not be be on the line joining the end points, and +it must also be on the appropriate side of that line. If it is not suitable, an +error message is output. + + + + +If none of these options is given, an arc that subtends 90 degrees at its +centre is drawn. If more than one of these options is given, an error message +is generated, and all but one are ignored. + + + + +If the from option specifies the label of a closed shape without further +qualification, the actual starting point on that shape is determined by +the initial direction of the arc. + + +Texts are printed near the midpoint of the arc, and are left-justified by +default. The following example illustrates various types of arc: + + +A: arc "A"; +B: arc clockwise radius 20 angle 180 "B"; +C: arc dashed from start of A to end of B angle 190 "C"; +arc clockwise dashed from start of A to end of A radius 75 "D"; +arc to start depth 30 "E"; +arc clockwise to middle of C via middle of A "F"; + + +
+ + +
+ +​ + +
+
+arcarrow + + + + + + + + +angle +<angle> + + + +back + + + + +both + + + + +clockwise + + + + +colour +<colour> + + + +dashed + + + + +depth +<length> + + + +down + + + + +filled +<colour>   |   <greylevel> + + + +from +<position>   |   <label> + + + +greyness +<greylevel> + + + +left + + + + +level +<integer> + + + +radius +<length> + + + +right + + + + +shapefilled +<colour>   |   <greylevel> + + + +thickness +<length> + + + +to +<position> + + + +up + + + + +via +<position> + + + + +<text> + + + + + +The options for arcarrow are exactly as for arc, with the addition of +both (which specifies a double-headed arrow) and back (which specifies +a backwards-pointing arrow). If neither is given, an arrowhead is drawn at the +end of the arc. + + +Arrowheads are drawn within the length of the arc so if, for example, a +90-degree arc is drawn from absolute angle zero, the arrow head is not +horizontal: + + +arcarrow; + + +
+ + +
+ +​ + + +A horizontal arrowhead can be drawn by adding a short linear arrow afterwards, +but note that this extends beyond the end of the arc: + + +arc; arrow left 10; + + +
+ + +
+ +​ + +
+
+arrow + + + + + + + + +align +<position> + + + +back + + + + +both + + + + +colour +<colour> + + + +dashed + + + + +down +<length> + + + +filled +<colour>   |   <greylevel> + + + +from +<position>   |   <label> + + + +greyness +<greylevel> + + + +left +<length> + + + +level +<integer> + + + +right +<length> + + + +shapefilled +<colour>   |   <greylevel> + + + +thickness +<length> + + + +to +<position> + + + +up +<length> + + + + +<text> + + + + + +The arrow command has exactly the same options as line (see section + below), but with the addition of filled (specifying a filled +arrowhead), both (specifying a double-headed arrow), and back +(specifying a backwards-pointing arrow). If neither both nor back is +given, an arrowhead is drawn at the end of the line. + +
+
+box + + + + + + + + +at +<position> + + + +colour +<colour> + + + +dashed + + + + +depth +<length> + + + +filled +<colour>   |   <greylevel> + + + +greyness +<greylevel> + + + +level +<integer> + + + +join +<boxpoint>   to <position>   |   to <label> + + + +thickness +<length> + + + +width +<length> + + + + +<text> + + + + + +This command causes a rectangular closed box to be drawn. The width and +depth options specify the horizontal and vertical dimensions of the box. +Defaults are used if either of them is omitted. + + +The at option specifies the position of the centre of the box; if not +given, the centre point is computed by reference to the previous shape. In the +absence of a join option, if the previous shape was a line or arc, the +midpoint of an appropriate side of the box is joined onto its end; if it was a +closed shape, the side which is abutted depends on the current direction. If +there was no previous shape, the centre is placed at the origin of the +coordinate system. + + +The join option specifies how the box is to be joined to a previous shape, +and is mutually exclusive with at. This option takes three different forms: + + + + +If <position> is given, the given point on the box is placed at the given +position. For example: + + +box join bottom right to centre of C; +box join top left to start plus (10,15); + + +As with all <positions>, if ‘of <label>’ is omitted, the preceding +shape is implied. + + + + +If no <position> is given, and the previous shape (or the named shape if +‘to <label>’ is present) is a closed shape, the given point is joined to +the complementary point of the referenced shape. For example: + + +box join top; +box join top left to A; + + + + +If no <position> is given, and the previous shape (or the named shape if +‘to <label>’ is present) is not a closed shape, the given point is +joined to its end. + + + + +Note that if boxes of different dimensions are joined by naming their edges, +the middle points of the edges are made coincident: + + +box "A"; box depth 50 "B"; +box width 50 join top "C"; + + +
+ + +
+ +​ + + +Any text items are centred at the centre of the box. Because Aspic does not +process the text itself, it cannot tell whether the text will actually fit into +the box. + +
+
+circle + + + + + + + + +at +<position> + + + +colour +<colour> + + + +dashed + + + + +filled +<colour>   |   <greylevel> + + + +greyness +<greylevel> + + + +level +<integer> + + + +join +<boxpoint>   to   <position>   |   to <label> + + + +radius +<length> + + + +thickness +<length> + + + + +<text> + + + + + +The at option specifies the position of the centre of the circle; it is +mutually exclusive with the join option, which specifies how the circle is +to be joined to the previous shape, exactly as for boxes (see above). Text +items are centred at the centre of the circle. + +
+
+ellipse + + + + + + + + +at +<position> + + + +colour +<colour> + + + +dashed + + + + +depth +<length> + + + +filled +<colour>   |   <greylevel> + + + +greyness +<greylevel> + + + +level +<integer> + + + +join +<boxpoint>   to   <position>   |   to <label> + + + +thickness +<length> + + + +width +<length> + + + + +<text> + + + + + +The options for ellipse are the same as for circle, except that +radius is replaced by width and depth, which specify the lengths of +the horizontal and vertical axes. That is, they specify the size of the +bounding box. + +
+
+iarc + +<as arc> + + +The iarc command defines an invisible arc. Its options are the same as for +the arc command. Although the arc is not actually drawn, any text supplied +is printed, and the invisible arc can form part of a shape that is filled. The +arc counts towards the bounding box only if there is text, or if it is part of +a filled shape. + +
+
+ibox + +<as box> + + +The ibox command defines an invisible box. Its options are the same as for +the box command. Although the box is not actually drawn, any text supplied +is printed, and the shape is filled if filled is specified. The box counts +towards the bounding box only if there is text, or if it is filled. + +
+
+icircle + +<as circle> + + +The icircle command defines an invisible circle. Its options are the same +as for the circle command. Although the circle is not actually drawn, any +text supplied is printed, and the shape is filled if filled is specified. +The circle counts towards the bounding box only if there is text, or if it is +filled. + +
+
+iellipse + +<as ellipse> + + +The iellipse command defines an invisible ellipse. Its options are the same +as for the ellipse command. Although the ellipse is not actually drawn, any +text supplied is printed, and the shape is filled if filled is specified. +The ellipse counts towards the bounding box only if there is text, or if it is +filled. + +
+
+iline + +<as line> + + +The iline command defines an invisible line. Its options are the same as +for the line command. Although the line is not actually drawn, any text +supplied is printed, and the invisible line can form part of a shape that is +filled. The line counts towards the bounding box only if there is text, or if +it is part of a filled shape. + +
+
+line + + + + + + + + +align +<position> + + + +colour +<colour> + + + +dashed + + + + +down +<length> + + + +from +<position>   |   <label> + + + +greyness +<greylevel> + + + +left +<length> + + + +level +<integer> + + + +right +<length> + + + +shapefilled +<colour>   |   <greylevel> + + + +thickness +<length> + + + +to +<position> + + + +up +<length> + + + + +<text> + + + + + +This command draws a straight line. The start is given by the from option; +if it specifies a label only, the starting point on the referenced shape is its +end point if it is a line or arc, or is determined by the direction of the line +otherwise. For example, a line to the right from a box starts at the midpoint +of the right-hand edge. The end point of the line can be specified in three +different ways: + + + + +A pair of horizontal and vertical distances (that is, relative Cartesian +coordinates) can be given. If a direction is given without a length, the +current standard length for that direction is used. Thus, the following are all +valid: + + +line; +line right; +line up right; +line down 20 left; +line down 40 right 60; + + +The first of these draws a line of the current length in the current direction. + + + + +The to option can be used to define the endpoint by reference to the +previous or some other shape. For example: + + +box; line from bottom right to 0.25 top; + + + + +If the line is horizontal or vertical, the align option can be used. (It is +ignored if the line is not horizontal or vertical.) In each case, only the +vertical or horizontal coordinate of the <position> specified by align +is used, as appropriate. For example: + + +A: box "A"; +L: line right; +B: box "B"; + line down from bottom of A; + line right align middle of L; + line up align right of A; + + +
+ + +
+ +​ + + +As always, a reference to an unqualified box edge implies the midpoint of that +edge. + +
+
+ +For a horizontal line, text is positioned at the midpoint of the line, centred +by default. If there is more than one string, they are positioned both above +and below the line. For non-horizontal lines, text is left-justified (by +default) close to the midpoint of the line. + +
+
+text + + + + + + + + +at +<position> + + + +level +<integer> + + + + +<text> + + + + + +This command provides a means of printing text without drawing a graphic shape. +The text is centre-justified by default. If no position is given, the text is +positioned with reference to the previously drawn shape. If it was a closed +shape, its centre is used; if it was a line, its middle point is used; if it +was an arc, the centre of the arc is used. + + +String options can be used to make fine adjustments to the position of the +text. For example, if text is printed to the right of a horizontal line, it +should normally be specified as left-justified. + + +line; text at end "ABC"; +iline right 20; +line; text at end "ABC"/l; + + +
+ + +
+ +​ + + +In the first of these two examples, the default centre-justification has caused +the text to print on top of the line. + +
+
+ + +Filled shapes + +Boxes, circles, and ellipses are filled when they have the filled option +set, or if the boxfill, circlefill, or ellipsefill commands have +been used to set filling as a default (see chapter ). If the shape +is invisible, no outline is drawn, and only the filling is shown. Otherwise, +the outline is drawn in the line-drawing colour. For example: + + +box greyness 0.5 filled 0.8; iline right 10; ibox filled 0.8; + + +
+ + +
+ +​ + + +A sequence of lines and arcs with the same shapefilled values is turned +into a closed outline (if necessary) and filled. The lines and arcs themselves +are drawn as normal, unless they are invisible. The automatically supplied line +that closes such a shape is not drawn. A dummy command such as: + + +line left 0; + + +is sometimes needed to separate two successive shapes that have the same +filling parameters. + + +It is possible to set a shapefilled value as a default, to save having to +repeat it for all the different constituents of a shape. The ability to save +and restore the environment (see chapter ) can be helpful +here: + + +push; shapefill 0.9 0.5 0.1; +arc; arc; line left; line down 10; +line right; line right; line up 10; +pop; + +
+ + +
+ +​ + + +Arrowheads on lines and arcs are filled if the filled option is set on the +appropriate drawing command. Alternatively, the arrowfill command can be +used to specify a default filling colour (see chapter ). + + +The concept of ‘levels’ is important when filled shapes are being drawn, +because filling a shape obliterates anything that is underneath it, even if the +filling colour is lighter than what was there before. It is like using opaque +paint. By specifying different levels for different components of a drawing, +you can control the order in which they are output, and therefore which parts +are obliterated by other parts. The default level is zero; items on higher +levels are output later (‘above’), whereas items on lower levels are output +earlier (‘below’). Items at the same level are output in the order in which +they are defined. Consider this example: + + +box filled 0.5; box at centre plus (10,10) filled 0.5; +iline right 10; +box filled 0.5; box at centre plus (10,10) filled 0.5 level -1; + + +
+ + +
+ +​ + + +The second box is ‘above’ the first box, but because of the level +specification, the fourth box is ‘below’ the third box. A default level can be +set by means of the level command (see chapter ). + +
+ + +Altering the ‘last’ item + +Occasionally it is useful to be able to change which shape is considered to be +the previous shape when the next shape is drawn. The goto command, which is +followed by a label, is used to do this. It can be useful in macros. Consider a +macro that draws a box with diagonals. When this macro is called, you may want +subsequent shapes to be positioned relative to the box, not to the diagonal +lines. This example shows how this can be done: + + +macro diag { +A&$: box; +line from top right to bottom left; +line from top left of A&$ to bottom right of A&$; +goto A&$; }; + +diag; arrow; diag; + + +
+ + +
+ +​ + + +The final goto in the macro causes any subsequent shapes to be positioned +with reference to the box. Without the final goto in the macro, the ‘last +item’ after a macro call would be the second diagonal line. + +
+ + +Changing the current direction + +The current direction defaults to ‘right’. It can be changed by the commands +up, down, left, and right, which have no arguments. The current +direction is used in the following circumstances: + + + + +When drawing a line, if no direction is specified; + + + + +When drawing an arc, if no direction is specified and a start point is given +without an end point; + + + + +When drawing an arc after a closed shape, if neither a direction nor a start +point is given. + + + + +When one closed shape follows another, to determine their relative positions if +no join option is given; + + + + +Note that the current direction is not used when a closed shape follows a +line or arc; the position of the closed shape in this case is determined by the +direction of the end of the line or arc. For example, + + +right; box "A"; arc "1"; box "B"; +down; arc "2"; box "C"; + + +
+ + +
+ +​ + + +The initial direction of the arcs in this example is determined by the current +direction, but the boxes that follow them are positioned with reference to the +ending direction of the arc. (This can be changed by using the join option +of the box command.) + +
+ + +Font control and character coding + +Text is output by default in a 12-point Times-Roman font, though certain +special characters in PostScript output may use other fonts, as described in +section below. Additional fonts can be specified by the +bindfont command, and individual strings can be printed in any of the bound +fonts. + +
+The bindfont command + +The bindfont command is used to define additional fonts, at specified +sizes. The magnify command (see section) does not affect +the size of text. The syntax of bindfont is as follows: + + +bindfont <number> <fontname> <font size> + + +For example: + + +bindfont 1 "Times-Italic" 12; +bindfont 2 "Times-Bold" 16; + + +The font number must be greater than zero (the default font has the number +zero). Once a font has been bound, it may be referenced in a setfont +command to make it the default font, or it may be specified for an individual +text string. For example: + + +setfont 2; box "this is font 2" "this is font 1"/1; + + +For PostScript output, the font name is used verbatim. For SVG output, if the +name contains a hyphen, it is split into two parts. The first part (or the +whole name if there is no hyphen) is output as the font-family parameter +for text strings. The second part is used to control the font-style and +font-weight parameters. Aspic recognizes the suffixes ‘Italic’, ‘Bold’, and +‘BoldItalic’. + +
+
+The setfont command + +The setfont command changes the default font for subsequent text strings. +It must be followed by a non-negative font number. + +
+
+The textdepth and fontdepth commands + +When multiple text items are specified with a drawing command, they are output +one below the other. The default vertical separation is computed from the sizes +of the fonts. This can be increased (but not decreased) by the textdepth +command, which sets a minimum vertical separation for subsequent items. + + +Aspic also needs to know the approximate height of letters when positioning +text vertically, for example, when centring a single line of text within a box. +Since it does not itself do any text processing, it guesses a height from the +font size. This can be increased (but not decreased) by the fontdepth +command, though this should rarely be needed. + +
+
+Input character encoding + +Aspic assumes that text strings specify characters in Unicode. Using escapes, +it is possible to encode all possible characters using only ASCII input. +Characters may also be encoded as UTF-8 sequences or (for backwards +compatibilty) as single bytes. The input byte sequence is handled as follows: + + + + +Bytes with values less than 128, with the exception of ampersand, are +interpreted as single-byte Unicode code points – these are of course identical +to ASCII. If the -tr command line option is given, the following +translations are then performed: + + + + +A single grave accent character (`) is translated to an opening typographic +quote (‘) using code point U+2018. + + + + +Two grave accents in succession are translated to a double typographic opening +quote (‘‘) using code point U+201C. + + + + +A single quote character (') is translated to a closing typographic quote +(’), which is the same as an apostrophe, using code point U+2019. + + + + +Two single quotes in succession are translated to a double closing typographic +quote (’’) using code point is U+201C. + + + + +Two hyphens in succession are translated to an end-dash (–) using code point +U+2013. + + + + +If any of the translated characters are required when the -tr option is on, +they can be specified using numerical escapes. It is only the literal +characters that are translated. + + + + +If an ampersand character is encountered, the following bytes are inspected: + + + + +An ampersand followed by a sharp (or hash) sign and a sequence of digits +terminated by a semicolon represents the code point defined by the decimal +number. For example, &#169; specifies a copyright symbol. + + + + +An ampersand followed by a sharp (or hash) sign, an x, and a sequence of +hexadecimal digits terminated by a semicolon represents the code point defined +by the hexadecimal number. For example, &#xa9; is another way of +specifying a copyright symbol. + + + + +If an ampersand is followed by a letter and then a sequence of alphanumeric +characters terminated by a semicolon, it is treated as a named entity +reference. Aspic contains a table of named entities taken from the DocBook +documentation. For example, &copy; is a third way of specifying a +copyright symbol. + + + + +If an ampersand is not followed by one of the above forms, or if an entity name +is not found in Aspic’s inbuilt list, the ampersand character is treated as a +literal. + + + + + + +When a byte with a value of 128 or above is encountered, it and the following +bytes are inspected to see if they form a valid UTF-8 sequence. If they do, the +code point that it encodes is used. If they do not, the value of the single byte +is taken as the code point. This means that isolated high-value bytes in an +otherwise ASCII source are treated as ISO 8859 characters. Several such bytes +in succession might accidentally form a valid UTF-8 sequence, so Aspic cannot +be guaranteed to handle every possible ISO 8859 input document. + + + +
+
+PostScript output character encoding + +PostScript output consists entirely of ASCII characters. In strings that are to +be printed, parentheses, backslashes, and code points greater than 127 are +escaped using the normal PostScript backslash escape mechanism. + + +Aspic handles fonts that are defined with PostScript’s standard encoding as +their default in a special way. A PostScript font may contain more than 256 +characters, though only 256 are accessible in any font ‘binding’, via an +encoding vector that translates character numbers to names. The default +encoding can be changed when the font is bound. + + +The PostScript standard encoding is not the same as Unicode, and in any case, +Aspic needs to access more than 256 characters in one of these fonts. It does +this by binding two versions of a font, and re-encoding both of them. The first +is encoded with the first 256 Unicode code points. The second is encoded with +characters 0–127 corresponding to Unicode code points U+0100 to U+017F and +characters with codes greater than 127 corresponding to those Unicode +characters with code points greater than U+017F that are available in the +standard PostScript fonts (for example, typographic quotes). The use of two +fonts is handled automatically. + + +If a character is not available in a PostScript standardly encoded font, Aspic +checks to see if it can be found in the Symbol or Dingbats fonts. The +former contains Greek and mathematical characters, and the latter contains +various special symbols such as ✓. If a character is not available in any +of these fonts, it is printed as the currency symbol ¤. + + +The net effect of this special processing is that, for a PostScript font that +is standardly encoded by default, Unicode code points can be used to print all +the characters in that font, as well as characters in the Symbol and Dingbats +fonts. You do not need to set up any separate special fonts. + + +If, on the other hand, you specify a PostScript font that does not use the +standard encoding by default, Aspic makes no changes to it. Character values in +the range 0–255 will print according to its default encoding. The behaviour +of other character values is undefined. + +
+
+SVG output character encoding + +SVG output consists entirely of ASCII characters. In strings that are to be +printed, angle brackets and ampersands are converted to the named XML +entities &gt;, &lt;, and &amp;, respectively. Characters whose +code points are greater than 127 are output as hexadecimal numerical escapes. +For example, the copyright character is output as &#xa9;. + +
+
+ + +Overall Aspic configuration + +This chapter describes commands that affect the overall appearance of the +picture. These normally appear at the start of the Aspic input. + +
+boundingbox + +This command requests that Aspic draw a frame round the picture. It must be +followed by a length, specifying the margin width between the actual bounding +box of the picture, and the frame. For example, + + +boundingbox 20; + + +If a value of zero is given, the frame that is drawn is the actual bounding +box. Because Aspic does not process text items itself, it has to guess a +bounding box for them, and so under some circumstances the computed bounding +box for a picture may not be strictly accurate. + +
+
+magnify + +This command specifies overall magnification of the graphic items in a picture. +It must be followed by a single number. For example + + +magnify 0.8; +magnify 1.5; + + +The magnification may be changed in the middle of an Aspic input sequence; the +new value applies to those shapes that follow. Magnification does not apply +to text. If smaller or larger text is required, suitable fonts must be set up +and used. + +
+
+resolution + +This command sets the resolution of the output; it must be followed by a single +fixed-point number. All output dimensions are rounded to this resolution. The +default depends on the output style. For PostScript it is 0.12, which +corresponds to 600 dpi; for SVG output it is 0.001, which disables rounding. + +
+
+ + +Saving and restoring the environment + +The Aspic environment consists of a number of parameters that control the +way items are drawn. They are listed in the following table, together with +their initial values: + + + + + + + + + +arc radius +36.0 + + + + + + + + +arrowhead filling +no filling + + + +arrowhead length +10.0 + + + +arrowhead width +10.0 + + + + + + + + +box dash parameters +7.0  5.0 + + + +box depth +36.0 + + + +box edge colour +0.0  0.0  0.0 + + + +box edge thickness +0.5 + + + +box filling +no filling + + + +box width +72.0 + + + + + + + + +circle dash parameters +7.0  5.0 + + + +circle edge colour +0.0  0.0  0.0 + + + +circle edge thickness +0.4 + + + +circle filling +no filling + + + +circle radius +36.0 + + + + + + + + +current direction +right + + + + + + + + +ellipse dash parameters +7.0  5.0 + + + +ellipse depth +36.0 + + + +ellipse edge colour +0.0  0.0  0.0 + + + +ellipse edge thickness +0.4 + + + +ellipse filling +no filling + + + +ellipse width +72.0 + + + + + + + + +level +0 + + + + + + + + +line dash parameters +7.0  5.0 + + + +line colour +0.0  0.0  0.0 + + + +line horizontal length +72.0 + + + +line thickness +0.4 + + + +line vertical length +36.0 + + + + + + + + +magnification +1.0 + + + + + + + + +shape filling +no filling + + + + + + + + +text colour +0.0  0.0  0.0 + + + +text line depth +12.0 + + + +text font +0 + + + +text font depth +6.0 + + + + + +Many of these values can be overridden for a single item by the use of options +on the drawing command. There are also commands for dynamically changing these +values, so they become the defaults for commands that do not specify the +relevant options. The magnify command is described in section +, and commands to change the current direction are described +in chapter . Commands to change the remaining values are +described in the next chapter. + + +It is often useful to be able to save the current state of the environment and +restore it later. The push and pop commands are provided to do this. +The push command puts a copy of the current environment onto a stack, and +pop restores the environment from the top item on the stack. + + + + +Changing environment parameters + +In addition to the commands for changing the current direction and the +magnify command, which are specified above in chapter +and section , respectively, the following commands are +provided for changing the values of environmental parameters. The changed value +applies to subsequently drawn items, and a value may be changed as often as +necessary. The entire environment can be saved and restored by means of the +push and pop commands. + + +Most of these commands take a single numerical argument. The exceptions are +those that set dashed line parameters, and those that specify a colour. The +former take two arguments, specifying the length of dashes and the length of +gaps, respectively, and the latter take three arguments, specifying the red, +green, and blue components of the colour. + + +Setting a greyness value is equivalent to setting a colour with three identical +values. Thus, greyness is specified on a scale from 0.0 to 1.0, with 0.0 being +black and 1.0 being white. + + + + + + + + + +arcradius +default radius for arcs + + + +arrowfill +fill colour for arrowheads + + + +arrowlength +length of arrowheads + + + +arrowwidth +width of arrowheads + + + +boxcolour +colour of box edges + + + +boxdash +dash parameters for boxes + + + +boxdepth +default depth of boxes + + + +boxfill +colour of box interiors + + + +boxgreyness +greyness of box edges + + + +boxthickness +thickness of box edges + + + +boxwidth +default width of boxes + + + +circlecolour +colour of circle edges + + + +circledash +dash parameters for circles + + + +circlefill +colour of circle interiors + + + +circlegreyness +greyness of circle edges + + + +circleradius +default radius of circles + + + +circlethickness +thickness of circle edges + + + +ellipsecolour +colour of ellipse edges + + + +ellipsedash +dash parameters for ellipses + + + +ellipsedepth +default depth of ellipses + + + +ellipsefill +colour of ellipse interiors + + + +ellipsegreyness +greyness of ellipse edges + + + +ellipsethickness +thickness of ellipse edges + + + +ellipsewidth +default width of ellipses + + + +fontdepth +minimal character depth + + + +hlinelength +default horizontal length for lines + + + +level +default item level + + + +linecolour +colour of lines + + + +linedash +dash parameters for lines + + + +linegreyness +greyness of lines + + + +linethickness +thickness of lines + + + +setfont +the current font + + + +shapefill +colour for shapes defined by lines/arcs + + + +textcolour +colour for text + + + +textdepth +minimal vertical text separation + + + +vlinelength +default vertical length for lines + + + + + +Each kind of closed shape has its own set of parameters for controlling the +default thickness and colour of the lines used to draw it, and the appearance +of dashed lines. Setting the dash parameters does not of itself cause dashed +lines to be drawn; the dashed option must be given with the drawing +command. + + +The default thickness, dashedness, and colour of arcs is the same as that for +straight lines; hence there are no separate commands. Line thickness is +specified in points. For example: + + +linethickness 1; linegreyness 0.5; +boxthickness 4; boxgreyness 0.8; +line; box; line; + + +
+ + +
+ +​ + + +Those commands that specify filling can be followed either by a single number, +to specify a shade of grey, or by three numbers for a general colour. To turn +off filling, a single negative number should be given. For example: + + +circlefill 0.5; circle; circlefill 0.8 0.2 0.1; circle; +circlefill -1; circle; + + +
+ + +
+ +​ + + +The textdepth parameter controls the minimal vertical separation of +multiple text items. For example: + + +box "one" "two"; textdepth 24; box "three" "four"; + + +
+ + +
+ +​ + + +The fontdepth parameter can be set to the approximate height of letters +in the font being printed. It is used when positioning text vertically, for +example, when centring a single line of text within a box. However, this +parameter is used only when it is greater than the depth computed from the size +of the font. + +
+ + +List of commands + +This is a complete list of all Aspic commands, except those that apply only to +the legacy SGCAL support. + + + + + + + + + +arc +draw a circular arc + + + +arcarrow +draw a circular arc with arrowhead(s) + + + +arcradius +set default arc radius + + + +arrow +draw a straight line with arrowhead(s) + + + +arrowfill +set arrowhead fill colour + + + +arrowlength +set length of arrowheads + + + +arrowwidth +set width of arrowheads + + + +bindfont +bind a new font + + + +boundingbox +enclose picture in frame + + + +box +draw a box + + + +boxcolour +set default colour for boxes + + + +boxdash +set dash parameters for boxes + + + +boxdepth +set default depth for boxes + + + +boxfill +set box fill colour + + + +boxgreyness +set default greyness for boxes + + + +boxthickness +set default line thickness for boxes + + + +boxwidth +set default width for boxes + + + +circle +draw a circle + + + +circlecolour +set default colour for circles + + + +circledash +set dash parameters for circles + + + +circlefill +set circle fill colour + + + +circlegreyness +set greyness for circles + + + +circleradius +set default radius for circles + + + +circlethickness +set thickness of lines for circles + + + +down +set current direction + + + +ellipse +draw an ellipse + + + +ellipsecolour +set default colour for ellipses + + + +ellipsedash +set dash parameters for ellipses + + + +ellipsedepth +set depth of ellipses + + + +ellipsefill +set ellipse fill colour + + + +ellipsegreyness +set greyness for ellipses + + + +ellipsethickness +set line thickness for ellipses + + + +ellipsewidth +set width of ellipses + + + +fontdepth +set minimal height of letters + + + +goto +set named shape as previous + + + +hlinelength +set default horizontal line length + + + +iarc +draw an invisible arc + + + +ibox +draw an invisible box + + + +icircle +draw an invisible circle + + + +iellipse +draw an invisible ellipse + + + +iline +draw an invisible line + + + +include +include a file’s contents + + + +left +set current direction + + + +level +set default level + + + +line +draw a line + + + +linecolour +set colour for lines (and arcs) + + + +linedash +set dash parameters for lines (and arcs) + + + +linegreyness +set greyness for lines (and arcs) + + + +linethickness +set thickness of lines (and arcs) + + + +magnify +magnify or reduce the picture + + + +macro +define an Aspic macro + + + +pop +restore environment from the stack + + + +push +push environment onto the stack + + + +resolution +set output resolution + + + +right +set current direction + + + +set +set value of variable + + + +setfont +set current font + + + +shapefill +set drawn shape fill colour + + + +text +print text at given position + + + +textcolour +set text colour + + + +textdepth +set minimal separation of text items + + + +up +set current direction + + + +vlinelength +set default vertical line length + + + + + + + +Using Aspic with SGCAL + +SGCAL is a typesetting system which has now mostly been superseded. However, +the legacy support remains in Aspic so that old documents can still be +processed. When Aspic is generating SGCAL output, the default resolution +is 0.24, which corresponds to 300 dpi. + + +Readers of this chapter are assumed to be familiar with SGCAL, which has a +facility for calling a secondary program to process embedded input and returns +it as text containing SGCAL markup. As a simple example, consider the following +picture: + + +  + + + + +  + + +This was created by the following SGCAL input lines: + + + .aspic + magnify 0.8; + hlinelength 36; + box "input" "file"; arrow; + A: box "SGCAL"; arrow; + box "GCODE" "file"; + arrow both down from A; box "ASPIC"; + .endspic + + +The lines between .aspic and .endspic are written by SGCAL to a +temporary file; Aspic is then called to process this file with the -sgcal +option. It writes its output to a second temporary file which is then processed +by SGCAL. The output from Aspic consists of SGCAL instructions to draw lines +and curves, to fill some of the shapes, and to position text at given +positions. The units of length in the Aspic input are printers’ points. + + +Any SGCAL macros and SGCAL variable insertions that are encountered in the +input lines are expanded before being written to the temporary file. SGCAL +macros can be useful for repeated sections of input, though Aspic has its own +variable and macro facilities as well. However, the use of Aspic variables is +disabled by the .aspic directive because of clash of usage of the dollar +character with many SGCAL flags (and SGCAL variables provide an equivalent +facility). + + +By default, Aspic positions the picture such that the left-hand edge of its +bounding box (or frame, if there is one) is at the left-hand side of the page, +taking into account any SGCAL indent that may be in force. The picture can be +positioned in the middle of the page by including the centre command in the +Aspic input, followed by a value that specifies the current line length. For +example: + + +centre ~~sys.linelength; + + +The centring length is normally specified as ~~sys.linelength, which +causes SGCAL to fill in the current linelength before handing the input to +Aspic. However, if an indent is set in SGCAL when Aspic is called, it will +apply to SGCAL’s positioning of the picture, so must be taken into account if +centring is required. A command such as + + +centre ~~sys.linelength - ~~sys.indent + + +is needed to achieve centring between the indent and the line length. + + +Both .aspic and .endspic are in fact standard SGCAL macro directives +that make use of SGCAL’s basic call/endcall directive pair to call an +external program. They call Aspic only when fancy output is being generated, +and ensure that the result is processed within a .display context, is +centred horizontally on the page, and has no indent set. The SGCAL macros are +defined as follows: + + + .macro aspic + .display rm + .if ~~sys.fancy + .indent 0 + .call aspic -sgcal -nv + centre ~~sys.linelength; + .endm + + .macro endspic + .endcall + .else + <<picture omitted>> + .fi + .endd + .endm + + +The size of the picture is computed by Aspic and passed back to SGCAL so that +it can leave enough vertical space for it. It can be requested, as in this +example, to centre the picture in a given line width. If an SGCAL indent is in +force when Aspic is called, it will be applied to the picture. + + +The lines between .aspic and .endspic (ultimately between call and +endcall) are subject to SGCAL’s normal processing for insertions, and so can +be passed data from SGCAL variables. However, they are not processed for any +other SGCAL flags. In the .aspic macro, the SGCAL system variable +sys.linelength is used to pass the current line length as part of the first +Aspic command. + + +Calling Aspic from with a .display environment ensures that line filling is +disabled and the whole picture appears on one page. Aspic does not work +properly if these conditions are not met. + + +Aspic assumes that an SGCAL standard style is in force, as it generates output +using the standard SGCAL flags for moving the current point, positioning text, +and drawing lines and curves. The recognition of flags must not be disabled +when SGCAL is processing Aspic output. In particular, if the picture is inside +an SGCAL .display, the asis parameter must not be set. + +
+Font control + +Aspic’s font handling cannot be used with SGCAL. However, normal SGCAL flags +can be used in text strings to control font usage because the text strings are +passed back unprocessed in the output so that they can be processed by SGCAL. +Therefore, SGCAL flags are recognised within the strings, and in particular, +the font-changing flags can be used: + + +box "$it{italic}" "$bf{bold}"; +line "$chead{big}"; +circle "($)24.45"; + + +This example works as shown because the interpretation of dollar characters by +Aspic is turned off by SGCAL’s .aspic macro when it calls Aspic with the +-nv option. If you want to use Aspic variables, you have to redefine the +macro not to do this, and then you will need to double all dollar characters in +the Aspic input that are not the start of an Aspic variable. + + +SGCAL is not a Unicode application. Undefined things will happen if any strings +contain characters with code points greater than 255, and it is best to avoid +using non-ASCII characters (use SGCAL flag sequences instead). Note also that +it is necessary to escape characters that are normally escaped in SGCAL input. +For example: + + +circle "$it{italic @@}"; + + +causes the text ‘italic @’ to be printed in italics inside a circle. + + +If larger than normal fonts are used with SGCAL, you will probably need to use +the textdepth and fontdepth commands to adjust the positioning of +strings. + +
+
+The wait feature + +SGCAL can be used to generate files that are displayed as slideshows by the +sgpoint command (which is part of the SGCAL distribution). Sometimes it is +helpful to display part of a picture at first, and the rest later, after a +mouse click or keypress. The wait command inserts an SGCAL .wait +directive into Aspic’s output; this causes a pause point to be generated in the +ultimate output that SGCAL writes. + +
+
+The redraw feature + +After a use of wait, it is possible to cause a previously drawn part of the +picture to be redrawn, usually in a different colour. The combination of +wait and redraw therefore has the effect of changing the colour of an +item on the slide. The arguments of redraw are the name of a previous Aspic +label, usually followed by one of the options colour, filled, or +shapefilled, all of which are followed by a colour value. + +
+
+Wide bounding boxes + +Sometimes, when such a picture is being centred, you may want to draw a +bounding box that extends to the width of the page. For SGCAL output, you can +do this by adding the word ‘fullwidth’ to a boundingbox command. For +example: + + +boundingbox 15 fullwidth; + + +The top and bottom of the box are positioned according to the margin +specification, but the left and right edges are drawn at the edges of the page, +whose width is specified by the centre command. The ‘fullwidth’ option has +no effect for PostScript and SVG output. + +
+
+ +
--- aspic-1.05.orig/doc/pic21.eps +++ aspic-1.05/doc/pic21.eps @@ -0,0 +1,34 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 106.630 95.829 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +0.480 0.480 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +72.480 4.080 mymove +23.640 6 39.240 32.640 32.760 56.160 rcurveto +-5.160 23.880 -31.320 40.200 -55.080 34.560 rcurveto +-21.960 -4.200 -38.640 -26.040 -36.840 -48.480 rcurveto +0.400 setlinewidth +stroke +13.200 46.320 mymove +-4.920 -0.840 rlineto +6.600 -9 rlineto +3.240 10.680 rlineto +-4.920 -0.840 rlineto +stroke +showpage --- aspic-1.05.orig/doc/pic32.eps +++ aspic-1.05/doc/pic32.eps @@ -0,0 +1,155 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 200.500 20.500 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +/leftshow{dup add /r exch def +{r 2 gt +{r -2 roll exch setfont show /r r 2 sub def} +{exch setfont show exit} +ifelse}loop}bind def +/findwidth{dup 2 mul 1 add copy /w 0 def +1 exch 1 exch +{pop exch setfont stringwidth pop w add /w exch def}for}bind def +/centreshow{findwidth w 2 div neg 0 rmoveto leftshow}bind def +/rightshow{findwidth w neg 0 rmoveto leftshow}bind def +/LowerEncoding 256 array def +LowerEncoding 0 [ +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclam/quotedbl/numbersign +/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus +/comma/hyphen/period/slash +/zero/one/two/three +/four/five/six/seven +/eight/nine/colon/semicolon +/less/equal/greater/question +/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O +/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft +/backslash/bracketright/asciicircum/underscore +/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o +/p/q/r/s/t/u/v/w/x/y/z/braceleft +/bar/braceright/asciitilde/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclamdown/cent/sterling +/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft +/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/bullet +/cedilla/onesuperior/ordmasculine/guillemotright +/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +]putinterval +/UpperEncoding 256 array def +UpperEncoding 0 [ +/Amacron/amacron/Abreve/abreve +/Aogonek/aogonek/Cacute/cacute +/currency/currency/currency/currency +/Ccaron/ccaron/Dcaron/dcaron +/Dcroat/dcroat/Emacron/emacron +/currency/currency/Edotaccent/edotaccent +/Eogonek/eogonek/Ecaron/ecaron +/currency/currency/Gbreve/gbreve +/currency/currency/Gcommaaccent/gcommaaccent +/currency/currency/currency/currency +/currency/currency/Imacron/imacron +/currency/currency/Iogonek/iogonek +/Idotaccent/dotlessi/currency/currency +/currency/currency/Kcommaaccent/kcommaaccent +/currency/Lacute/lacute/Lcommaaccent +/lcommaaccent/Lcaron/lcaron/currency +/currency/Lslash/lslash/Nacute +/nacute/Ncommaaccent/ncommaaccent/Ncaron +/ncaron/currency/currency/currency +/Omacron/omacron/currency/currency +/Ohungarumlaut/ohungarumlaut/OE/oe +/Racute/racute/Rcommaaccent/rcommaaccent +/Rcaron/rcaron/Sacute/sacute +/currency/currency/Scedilla/scedilla +/Scaron/scaron/currency/currency +/Tcaron/tcaron/currency/currency +/currency/currency/Umacron/umacron +/currency/currency/Uring/uring +/Uhungarumlaut/uhungarumlaut/Uogonek/uogonek +/currency/currency/currency/currency +/Ydieresis/Zacute/zacute/Zdotaccent +/zdotaccent/Zcaron/zcaron/currency +/Delta/Euro/Scommaaccent/Tcommaaccent +/breve/caron/circumflex/commaaccent +/dagger/daggerdbl/dotaccent/ellipsis +/emdash/endash/fi/fl +/florin/fraction/greaterequal/guilsinglleft +/guilsinglright/hungarumlaut/lessequal/lozenge +/minus/notequal/ogonek/partialdiff +/periodcentered/perthousand/quotedblbase/quotedblleft +/quotedblright/quoteleft/quoteright/quotesinglbase +/radical/ring/scommaaccent/summation +/tcommaaccent/tilde/trademark +]putinterval +/myfindfont{dup dup findfont 3 1 roll FontDirectory exch known {pop} +{(**** Font ")print +100 string cvs print (" is not loaded ****\r\n)print stop}ifelse} +bind def +/bindspecialfont{exch myfindfont exch scalefont def}bind def +/bindstdfont{exch myfindfont exch scalefont +dup dup/Encoding get StandardEncoding eq +{maxlength dup dict/newfont0 exch def dict/newfont1 exch def +dup +{1 index/FID eq{pop pop}{newfont0 3 1 roll put}ifelse}forall +{1 index/FID eq{pop pop}{newfont1 3 1 roll put}ifelse}forall +newfont1/Encoding UpperEncoding put dup newfont1 definefont def +newfont0/Encoding LowerEncoding put dup newfont0 definefont def +} +{3 1 roll def def}ifelse +}bind def +/f0 /f1 /Times-Roman 12 bindstdfont +0.480 0.480 mymove +200.040 0 rlineto +0 20.040 rlineto +-200.040 0 rlineto +closepath +0.500 setlinewidth +[7 5] 0 setdash +stroke +100.440 7.440 mymove +f0 (text for slotbox) 1 centreshow +showpage --- aspic-1.05.orig/doc/pic38.eps +++ aspic-1.05/doc/pic38.eps @@ -0,0 +1,173 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 216.500 72.200 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +/leftshow{dup add /r exch def +{r 2 gt +{r -2 roll exch setfont show /r r 2 sub def} +{exch setfont show exit} +ifelse}loop}bind def +/findwidth{dup 2 mul 1 add copy /w 0 def +1 exch 1 exch +{pop exch setfont stringwidth pop w add /w exch def}for}bind def +/centreshow{findwidth w 2 div neg 0 rmoveto leftshow}bind def +/rightshow{findwidth w neg 0 rmoveto leftshow}bind def +/LowerEncoding 256 array def +LowerEncoding 0 [ +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclam/quotedbl/numbersign +/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus +/comma/hyphen/period/slash +/zero/one/two/three +/four/five/six/seven +/eight/nine/colon/semicolon +/less/equal/greater/question +/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O +/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft +/backslash/bracketright/asciicircum/underscore +/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o +/p/q/r/s/t/u/v/w/x/y/z/braceleft +/bar/braceright/asciitilde/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclamdown/cent/sterling +/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft +/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/bullet +/cedilla/onesuperior/ordmasculine/guillemotright +/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +]putinterval +/UpperEncoding 256 array def +UpperEncoding 0 [ +/Amacron/amacron/Abreve/abreve +/Aogonek/aogonek/Cacute/cacute +/currency/currency/currency/currency +/Ccaron/ccaron/Dcaron/dcaron +/Dcroat/dcroat/Emacron/emacron +/currency/currency/Edotaccent/edotaccent +/Eogonek/eogonek/Ecaron/ecaron +/currency/currency/Gbreve/gbreve +/currency/currency/Gcommaaccent/gcommaaccent +/currency/currency/currency/currency +/currency/currency/Imacron/imacron +/currency/currency/Iogonek/iogonek +/Idotaccent/dotlessi/currency/currency +/currency/currency/Kcommaaccent/kcommaaccent +/currency/Lacute/lacute/Lcommaaccent +/lcommaaccent/Lcaron/lcaron/currency +/currency/Lslash/lslash/Nacute +/nacute/Ncommaaccent/ncommaaccent/Ncaron +/ncaron/currency/currency/currency +/Omacron/omacron/currency/currency +/Ohungarumlaut/ohungarumlaut/OE/oe +/Racute/racute/Rcommaaccent/rcommaaccent +/Rcaron/rcaron/Sacute/sacute +/currency/currency/Scedilla/scedilla +/Scaron/scaron/currency/currency +/Tcaron/tcaron/currency/currency +/currency/currency/Umacron/umacron +/currency/currency/Uring/uring +/Uhungarumlaut/uhungarumlaut/Uogonek/uogonek +/currency/currency/currency/currency +/Ydieresis/Zacute/zacute/Zdotaccent +/zdotaccent/Zcaron/zcaron/currency +/Delta/Euro/Scommaaccent/Tcommaaccent +/breve/caron/circumflex/commaaccent +/dagger/daggerdbl/dotaccent/ellipsis +/emdash/endash/fi/fl +/florin/fraction/greaterequal/guilsinglleft +/guilsinglright/hungarumlaut/lessequal/lozenge +/minus/notequal/ogonek/partialdiff +/periodcentered/perthousand/quotedblbase/quotedblleft +/quotedblright/quoteleft/quoteright/quotesinglbase +/radical/ring/scommaaccent/summation +/tcommaaccent/tilde/trademark +]putinterval +/myfindfont{dup dup findfont 3 1 roll FontDirectory exch known {pop} +{(**** Font ")print +100 string cvs print (" is not loaded ****\r\n)print stop}ifelse} +bind def +/bindspecialfont{exch myfindfont exch scalefont def}bind def +/bindstdfont{exch myfindfont exch scalefont +dup dup/Encoding get StandardEncoding eq +{maxlength dup dict/newfont0 exch def dict/newfont1 exch def +dup +{1 index/FID eq{pop pop}{newfont0 3 1 roll put}ifelse}forall +{1 index/FID eq{pop pop}{newfont1 3 1 roll put}ifelse}forall +newfont1/Encoding UpperEncoding put dup newfont1 definefont def +newfont0/Encoding LowerEncoding put dup newfont0 definefont def +} +{3 1 roll def def}ifelse +}bind def +/f0 /f1 /Times-Roman 12 bindstdfont +0.480 36.240 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +36.480 51.240 mymove +f0 (A) 1 centreshow +72.480 54.240 mymove +72 0 rlineto +0.400 setlinewidth +stroke +144.480 36.240 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +180.480 51.240 mymove +f0 (B) 1 centreshow +36.480 36.240 mymove +0 -36 rlineto +72 0 rlineto +0 54 rlineto +0.400 setlinewidth +stroke +showpage --- aspic-1.05.orig/doc/pic18.eps +++ aspic-1.05/doc/pic18.eps @@ -0,0 +1,178 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 72 82.416 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +/leftshow{dup add /r exch def +{r 2 gt +{r -2 roll exch setfont show /r r 2 sub def} +{exch setfont show exit} +ifelse}loop}bind def +/findwidth{dup 2 mul 1 add copy /w 0 def +1 exch 1 exch +{pop exch setfont stringwidth pop w add /w exch def}for}bind def +/centreshow{findwidth w 2 div neg 0 rmoveto leftshow}bind def +/rightshow{findwidth w neg 0 rmoveto leftshow}bind def +/LowerEncoding 256 array def +LowerEncoding 0 [ +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclam/quotedbl/numbersign +/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus +/comma/hyphen/period/slash +/zero/one/two/three +/four/five/six/seven +/eight/nine/colon/semicolon +/less/equal/greater/question +/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O +/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft +/backslash/bracketright/asciicircum/underscore +/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o +/p/q/r/s/t/u/v/w/x/y/z/braceleft +/bar/braceright/asciitilde/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclamdown/cent/sterling +/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft +/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/bullet +/cedilla/onesuperior/ordmasculine/guillemotright +/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +]putinterval +/UpperEncoding 256 array def +UpperEncoding 0 [ +/Amacron/amacron/Abreve/abreve +/Aogonek/aogonek/Cacute/cacute +/currency/currency/currency/currency +/Ccaron/ccaron/Dcaron/dcaron +/Dcroat/dcroat/Emacron/emacron +/currency/currency/Edotaccent/edotaccent +/Eogonek/eogonek/Ecaron/ecaron +/currency/currency/Gbreve/gbreve +/currency/currency/Gcommaaccent/gcommaaccent +/currency/currency/currency/currency +/currency/currency/Imacron/imacron +/currency/currency/Iogonek/iogonek +/Idotaccent/dotlessi/currency/currency +/currency/currency/Kcommaaccent/kcommaaccent +/currency/Lacute/lacute/Lcommaaccent +/lcommaaccent/Lcaron/lcaron/currency +/currency/Lslash/lslash/Nacute +/nacute/Ncommaaccent/ncommaaccent/Ncaron +/ncaron/currency/currency/currency +/Omacron/omacron/currency/currency +/Ohungarumlaut/ohungarumlaut/OE/oe +/Racute/racute/Rcommaaccent/rcommaaccent +/Rcaron/rcaron/Sacute/sacute +/currency/currency/Scedilla/scedilla +/Scaron/scaron/currency/currency +/Tcaron/tcaron/currency/currency +/currency/currency/Umacron/umacron +/currency/currency/Uring/uring +/Uhungarumlaut/uhungarumlaut/Uogonek/uogonek +/currency/currency/currency/currency +/Ydieresis/Zacute/zacute/Zdotaccent +/zdotaccent/Zcaron/zcaron/currency +/Delta/Euro/Scommaaccent/Tcommaaccent +/breve/caron/circumflex/commaaccent +/dagger/daggerdbl/dotaccent/ellipsis +/emdash/endash/fi/fl +/florin/fraction/greaterequal/guilsinglleft +/guilsinglright/hungarumlaut/lessequal/lozenge +/minus/notequal/ogonek/partialdiff +/periodcentered/perthousand/quotedblbase/quotedblleft +/quotedblright/quoteleft/quoteright/quotesinglbase +/radical/ring/scommaaccent/summation +/tcommaaccent/tilde/trademark +]putinterval +/myfindfont{dup dup findfont 3 1 roll FontDirectory exch known {pop} +{(**** Font ")print +100 string cvs print (" is not loaded ****\r\n)print stop}ifelse} +bind def +/bindspecialfont{exch myfindfont exch scalefont def}bind def +/bindstdfont{exch myfindfont exch scalefont +dup dup/Encoding get StandardEncoding eq +{maxlength dup dict/newfont0 exch def dict/newfont1 exch def +dup +{1 index/FID eq{pop pop}{newfont0 3 1 roll put}ifelse}forall +{1 index/FID eq{pop pop}{newfont1 3 1 roll put}ifelse}forall +newfont1/Encoding UpperEncoding put dup newfont1 definefont def +newfont0/Encoding LowerEncoding put dup newfont0 definefont def +} +{3 1 roll def def}ifelse +}bind def +/f0 /f1 /Times-Roman 12 bindstdfont +0 38.400 mymove +72 0 rlineto +0.400 setlinewidth +stroke +72 38.400 mymove +-18.720 19.800 -53.280 19.800 -72 0 rcurveto +stroke +42 55.320 mymove +f0 (1) 1 leftshow +72 38.400 mymove +0.480 18.840 -16.080 35.880 -34.920 36 rcurveto +-18.840 1.080 -36.360 -14.880 -37.080 -33.720 rcurveto +0 -0.720 -0.120 -1.560 -0.120 -2.280 rcurveto +stroke +42 76.440 mymove +f0 (2) 1 leftshow +72 38.400 mymove +-22.920 -8.880 -49.080 -8.880 -72 0 rcurveto +stroke +42 28.680 mymove +f0 (3) 1 leftshow +0 38.400 mymove +7.320 -19.080 30.960 -29.160 49.920 -21.480 rcurveto +9.960 3.720 18.120 11.640 22.080 21.480 rcurveto +stroke +42 16.440 mymove +f0 (4) 1 leftshow +72 38.400 mymove +0.240 -18.840 -16.680 -35.640 -35.400 -35.400 rcurveto +-19.200 -0.840 -36.720 16.200 -36.600 35.400 rcurveto +stroke +42 0 mymove +f0 (5) 1 leftshow +showpage --- aspic-1.05.orig/doc/pic28.eps +++ aspic-1.05/doc/pic28.eps @@ -0,0 +1,22 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 72.200 72.400 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +0 72.240 mymove +72 0 rlineto +0 -36 rlineto +-72 -36 rlineto +72 0 rlineto +0.500 setgray +fill +showpage --- aspic-1.05.orig/doc/pic25.eps +++ aspic-1.05/doc/pic25.eps @@ -0,0 +1,37 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 144.500 72.400 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +0.480 18.360 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +gsave 0.500 setgray +fill grestore +0.500 setlinewidth +0 setgray +stroke +144.480 36.360 mymove +0.480 18.840 -16.080 35.880 -34.920 36 rcurveto +-18.840 1.080 -36.360 -14.880 -37.080 -33.720 rcurveto +-1.680 -18.720 13.800 -36.840 32.520 -38.040 rcurveto +18.720 -2.280 37.200 12.600 39.120 31.320 rcurveto +0.240 1.440 0.240 3 0.240 4.560 rcurveto +closepath +gsave 1 0 0 setrgbcolor +fill grestore +0.400 setlinewidth +0 setgray +stroke +showpage --- aspic-1.05.orig/doc/pic22.eps +++ aspic-1.05/doc/pic22.eps @@ -0,0 +1,28 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 72 41.200 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +0 0.240 mymove +72 0 rlineto +0.400 setlinewidth +stroke +56.040 5.160 mymove +0 26.040 rlineto +stroke +56.040 31.200 mymove +5.040 0 rlineto +-5.040 9.960 rlineto +-5.040 -9.960 rlineto +5.040 0 rlineto +stroke +showpage --- aspic-1.05.orig/doc/pic26.eps +++ aspic-1.05/doc/pic26.eps @@ -0,0 +1,23 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 108 36.200 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +0 0.240 mymove +72 0 rlineto +19.200 -0.480 36.480 16.800 36 36 rcurveto +0.500 setgray +gsave fill grestore +0 setgray +0.400 setlinewidth +stroke +showpage --- aspic-1.05.orig/doc/pic04.eps +++ aspic-1.05/doc/pic04.eps @@ -0,0 +1,173 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 112.500 144.400 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +/leftshow{dup add /r exch def +{r 2 gt +{r -2 roll exch setfont show /r r 2 sub def} +{exch setfont show exit} +ifelse}loop}bind def +/findwidth{dup 2 mul 1 add copy /w 0 def +1 exch 1 exch +{pop exch setfont stringwidth pop w add /w exch def}for}bind def +/centreshow{findwidth w 2 div neg 0 rmoveto leftshow}bind def +/rightshow{findwidth w neg 0 rmoveto leftshow}bind def +/LowerEncoding 256 array def +LowerEncoding 0 [ +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclam/quotedbl/numbersign +/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus +/comma/hyphen/period/slash +/zero/one/two/three +/four/five/six/seven +/eight/nine/colon/semicolon +/less/equal/greater/question +/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O +/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft +/backslash/bracketright/asciicircum/underscore +/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o +/p/q/r/s/t/u/v/w/x/y/z/braceleft +/bar/braceright/asciitilde/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclamdown/cent/sterling +/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft +/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/bullet +/cedilla/onesuperior/ordmasculine/guillemotright +/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +]putinterval +/UpperEncoding 256 array def +UpperEncoding 0 [ +/Amacron/amacron/Abreve/abreve +/Aogonek/aogonek/Cacute/cacute +/currency/currency/currency/currency +/Ccaron/ccaron/Dcaron/dcaron +/Dcroat/dcroat/Emacron/emacron +/currency/currency/Edotaccent/edotaccent +/Eogonek/eogonek/Ecaron/ecaron +/currency/currency/Gbreve/gbreve +/currency/currency/Gcommaaccent/gcommaaccent +/currency/currency/currency/currency +/currency/currency/Imacron/imacron +/currency/currency/Iogonek/iogonek +/Idotaccent/dotlessi/currency/currency +/currency/currency/Kcommaaccent/kcommaaccent +/currency/Lacute/lacute/Lcommaaccent +/lcommaaccent/Lcaron/lcaron/currency +/currency/Lslash/lslash/Nacute +/nacute/Ncommaaccent/ncommaaccent/Ncaron +/ncaron/currency/currency/currency +/Omacron/omacron/currency/currency +/Ohungarumlaut/ohungarumlaut/OE/oe +/Racute/racute/Rcommaaccent/rcommaaccent +/Rcaron/rcaron/Sacute/sacute +/currency/currency/Scedilla/scedilla +/Scaron/scaron/currency/currency +/Tcaron/tcaron/currency/currency +/currency/currency/Umacron/umacron +/currency/currency/Uring/uring +/Uhungarumlaut/uhungarumlaut/Uogonek/uogonek +/currency/currency/currency/currency +/Ydieresis/Zacute/zacute/Zdotaccent +/zdotaccent/Zcaron/zcaron/currency +/Delta/Euro/Scommaaccent/Tcommaaccent +/breve/caron/circumflex/commaaccent +/dagger/daggerdbl/dotaccent/ellipsis +/emdash/endash/fi/fl +/florin/fraction/greaterequal/guilsinglleft +/guilsinglright/hungarumlaut/lessequal/lozenge +/minus/notequal/ogonek/partialdiff +/periodcentered/perthousand/quotedblbase/quotedblleft +/quotedblright/quoteleft/quoteright/quotesinglbase +/radical/ring/scommaaccent/summation +/tcommaaccent/tilde/trademark +]putinterval +/myfindfont{dup dup findfont 3 1 roll FontDirectory exch known {pop} +{(**** Font ")print +100 string cvs print (" is not loaded ****\r\n)print stop}ifelse} +bind def +/bindspecialfont{exch myfindfont exch scalefont def}bind def +/bindstdfont{exch myfindfont exch scalefont +dup dup/Encoding get StandardEncoding eq +{maxlength dup dict/newfont0 exch def dict/newfont1 exch def +dup +{1 index/FID eq{pop pop}{newfont0 3 1 roll put}ifelse}forall +{1 index/FID eq{pop pop}{newfont1 3 1 roll put}ifelse}forall +newfont1/Encoding UpperEncoding put dup newfont1 definefont def +newfont0/Encoding LowerEncoding put dup newfont0 definefont def +} +{3 1 roll def def}ifelse +}bind def +/f0 /f1 /Times-Roman 12 bindstdfont +0.480 108.360 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +36.480 123.360 mymove +f0 (A) 1 centreshow +36.480 108.360 mymove +0 -36 rlineto +0.400 setlinewidth +stroke +72.480 36.360 mymove +0.480 18.840 -16.080 35.880 -34.920 36 rcurveto +-18.840 1.080 -36.360 -14.880 -37.080 -33.720 rcurveto +-1.680 -18.720 13.800 -36.840 32.520 -38.040 rcurveto +18.720 -2.280 37.200 12.600 39.120 31.320 rcurveto +0.240 1.440 0.240 3 0.240 4.560 rcurveto +closepath +stroke +36.480 33.360 mymove +f0 (B) 1 centreshow +72.480 36.360 mymove +39.960 0 rlineto +-20.040 20.040 rlineto +0 -36 rlineto +stroke +showpage --- aspic-1.05.orig/doc/pic43.eps +++ aspic-1.05/doc/pic43.eps @@ -0,0 +1,52 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 216.500 36.500 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +0.480 0.480 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +72.480 36.480 mymove +-72 -36 rlineto +0.400 setlinewidth +stroke +0.480 36.480 mymove +72 -36 rlineto +stroke +72.480 18.480 mymove +62.040 0 rlineto +stroke +134.520 18.480 mymove +0 -5.040 rlineto +9.960 5.040 rlineto +-9.960 5.040 rlineto +0 -5.040 rlineto +stroke +144.480 0.480 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +216.480 36.480 mymove +-72 -36 rlineto +0.400 setlinewidth +stroke +144.480 36.480 mymove +72 -36 rlineto +stroke +showpage --- aspic-1.05.orig/doc/pic01.eps +++ aspic-1.05/doc/pic01.eps @@ -0,0 +1,168 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 216.500 72.400 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +/leftshow{dup add /r exch def +{r 2 gt +{r -2 roll exch setfont show /r r 2 sub def} +{exch setfont show exit} +ifelse}loop}bind def +/findwidth{dup 2 mul 1 add copy /w 0 def +1 exch 1 exch +{pop exch setfont stringwidth pop w add /w exch def}for}bind def +/centreshow{findwidth w 2 div neg 0 rmoveto leftshow}bind def +/rightshow{findwidth w neg 0 rmoveto leftshow}bind def +/LowerEncoding 256 array def +LowerEncoding 0 [ +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclam/quotedbl/numbersign +/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus +/comma/hyphen/period/slash +/zero/one/two/three +/four/five/six/seven +/eight/nine/colon/semicolon +/less/equal/greater/question +/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O +/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft +/backslash/bracketright/asciicircum/underscore +/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o +/p/q/r/s/t/u/v/w/x/y/z/braceleft +/bar/braceright/asciitilde/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclamdown/cent/sterling +/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft +/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/bullet +/cedilla/onesuperior/ordmasculine/guillemotright +/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +]putinterval +/UpperEncoding 256 array def +UpperEncoding 0 [ +/Amacron/amacron/Abreve/abreve +/Aogonek/aogonek/Cacute/cacute +/currency/currency/currency/currency +/Ccaron/ccaron/Dcaron/dcaron +/Dcroat/dcroat/Emacron/emacron +/currency/currency/Edotaccent/edotaccent +/Eogonek/eogonek/Ecaron/ecaron +/currency/currency/Gbreve/gbreve +/currency/currency/Gcommaaccent/gcommaaccent +/currency/currency/currency/currency +/currency/currency/Imacron/imacron +/currency/currency/Iogonek/iogonek +/Idotaccent/dotlessi/currency/currency +/currency/currency/Kcommaaccent/kcommaaccent +/currency/Lacute/lacute/Lcommaaccent +/lcommaaccent/Lcaron/lcaron/currency +/currency/Lslash/lslash/Nacute +/nacute/Ncommaaccent/ncommaaccent/Ncaron +/ncaron/currency/currency/currency +/Omacron/omacron/currency/currency +/Ohungarumlaut/ohungarumlaut/OE/oe +/Racute/racute/Rcommaaccent/rcommaaccent +/Rcaron/rcaron/Sacute/sacute +/currency/currency/Scedilla/scedilla +/Scaron/scaron/currency/currency +/Tcaron/tcaron/currency/currency +/currency/currency/Umacron/umacron +/currency/currency/Uring/uring +/Uhungarumlaut/uhungarumlaut/Uogonek/uogonek +/currency/currency/currency/currency +/Ydieresis/Zacute/zacute/Zdotaccent +/zdotaccent/Zcaron/zcaron/currency +/Delta/Euro/Scommaaccent/Tcommaaccent +/breve/caron/circumflex/commaaccent +/dagger/daggerdbl/dotaccent/ellipsis +/emdash/endash/fi/fl +/florin/fraction/greaterequal/guilsinglleft +/guilsinglright/hungarumlaut/lessequal/lozenge +/minus/notequal/ogonek/partialdiff +/periodcentered/perthousand/quotedblbase/quotedblleft +/quotedblright/quoteleft/quoteright/quotesinglbase +/radical/ring/scommaaccent/summation +/tcommaaccent/tilde/trademark +]putinterval +/myfindfont{dup dup findfont 3 1 roll FontDirectory exch known {pop} +{(**** Font ")print +100 string cvs print (" is not loaded ****\r\n)print stop}ifelse} +bind def +/bindspecialfont{exch myfindfont exch scalefont def}bind def +/bindstdfont{exch myfindfont exch scalefont +dup dup/Encoding get StandardEncoding eq +{maxlength dup dict/newfont0 exch def dict/newfont1 exch def +dup +{1 index/FID eq{pop pop}{newfont0 3 1 roll put}ifelse}forall +{1 index/FID eq{pop pop}{newfont1 3 1 roll put}ifelse}forall +newfont1/Encoding UpperEncoding put dup newfont1 definefont def +newfont0/Encoding LowerEncoding put dup newfont0 definefont def +} +{3 1 roll def def}ifelse +}bind def +/f0 /f1 /Times-Roman 12 bindstdfont +0.480 18.360 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +36.480 33.360 mymove +f0 (A) 1 centreshow +72.480 36.360 mymove +72 0 rlineto +0.400 setlinewidth +stroke +216.480 36.360 mymove +0.480 18.840 -16.080 35.880 -34.920 36 rcurveto +-18.840 1.080 -36.360 -14.880 -37.080 -33.720 rcurveto +-1.680 -18.720 13.800 -36.840 32.520 -38.040 rcurveto +18.720 -2.280 37.200 12.600 39.120 31.320 rcurveto +0.240 1.440 0.240 3 0.240 4.560 rcurveto +closepath +stroke +180.480 33.360 mymove +f0 (B) 1 centreshow +showpage --- aspic-1.05.orig/doc/pic14a.eps +++ aspic-1.05/doc/pic14a.eps @@ -0,0 +1,20 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 108 36.200 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +0 36 mymove +72 0 rlineto +-0.480 -19.200 16.800 -36.480 36 -36 rcurveto +0.400 setlinewidth +stroke +showpage --- aspic-1.05.orig/doc/pic40.eps +++ aspic-1.05/doc/pic40.eps @@ -0,0 +1,32 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 154.500 36.500 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +0.480 0.480 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +gsave 0.800 setgray +fill grestore +0.500 setlinewidth +0.500 setgray +stroke +82.440 0.480 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.800 setgray +fill +showpage --- aspic-1.05.orig/doc/pic46.eps +++ aspic-1.05/doc/pic46.eps @@ -0,0 +1,46 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 216.400 72.400 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +72.360 36.360 mymove +0.480 18.840 -16.080 35.880 -34.920 36 rcurveto +-18.840 1.080 -36.360 -14.880 -37.080 -33.720 rcurveto +-1.680 -18.720 13.800 -36.840 32.520 -38.040 rcurveto +18.720 -2.280 37.200 12.600 39.120 31.320 rcurveto +0.240 1.440 0.240 3 0.240 4.560 rcurveto +closepath +gsave 0.500 setgray +fill grestore +0.400 setlinewidth +0 setgray +stroke +144.360 36.360 mymove +0.480 18.840 -16.080 35.880 -34.920 36 rcurveto +-18.840 1.080 -36.360 -14.880 -37.080 -33.720 rcurveto +-1.680 -18.720 13.800 -36.840 32.520 -38.040 rcurveto +18.720 -2.280 37.200 12.600 39.120 31.320 rcurveto +0.240 1.440 0.240 3 0.240 4.560 rcurveto +closepath +gsave 0.800 0.200 0.100 setrgbcolor +fill grestore +0 setgray +stroke +216.360 36.360 mymove +0.480 18.840 -16.080 35.880 -34.920 36 rcurveto +-18.840 1.080 -36.360 -14.880 -37.080 -33.720 rcurveto +-1.680 -18.720 13.800 -36.840 32.520 -38.040 rcurveto +18.720 -2.280 37.200 12.600 39.120 31.320 rcurveto +0.240 1.440 0.240 3 0.240 4.560 rcurveto +closepath +stroke +showpage --- aspic-1.05.orig/doc/pic20.eps +++ aspic-1.05/doc/pic20.eps @@ -0,0 +1,37 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 100 72 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +0 36 mymove +99.960 0 rlineto +0.400 setlinewidth +stroke +20.040 36 mymove +0 26.040 rlineto +stroke +20.040 62.040 mymove +5.040 0 rlineto +-5.040 9.960 rlineto +-5.040 -9.960 rlineto +5.040 0 rlineto +stroke +69.960 36 mymove +0 -26.040 rlineto +stroke +69.960 9.960 mymove +-5.040 0 rlineto +5.040 -9.960 rlineto +5.040 9.960 rlineto +-5.040 0 rlineto +stroke +showpage --- aspic-1.05.orig/doc/pic08.eps +++ aspic-1.05/doc/pic08.eps @@ -0,0 +1,162 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 144.500 50.500 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +/leftshow{dup add /r exch def +{r 2 gt +{r -2 roll exch setfont show /r r 2 sub def} +{exch setfont show exit} +ifelse}loop}bind def +/findwidth{dup 2 mul 1 add copy /w 0 def +1 exch 1 exch +{pop exch setfont stringwidth pop w add /w exch def}for}bind def +/centreshow{findwidth w 2 div neg 0 rmoveto leftshow}bind def +/rightshow{findwidth w neg 0 rmoveto leftshow}bind def +/LowerEncoding 256 array def +LowerEncoding 0 [ +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclam/quotedbl/numbersign +/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus +/comma/hyphen/period/slash +/zero/one/two/three +/four/five/six/seven +/eight/nine/colon/semicolon +/less/equal/greater/question +/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O +/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft +/backslash/bracketright/asciicircum/underscore +/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o +/p/q/r/s/t/u/v/w/x/y/z/braceleft +/bar/braceright/asciitilde/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclamdown/cent/sterling +/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft +/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/bullet +/cedilla/onesuperior/ordmasculine/guillemotright +/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +]putinterval +/UpperEncoding 256 array def +UpperEncoding 0 [ +/Amacron/amacron/Abreve/abreve +/Aogonek/aogonek/Cacute/cacute +/currency/currency/currency/currency +/Ccaron/ccaron/Dcaron/dcaron +/Dcroat/dcroat/Emacron/emacron +/currency/currency/Edotaccent/edotaccent +/Eogonek/eogonek/Ecaron/ecaron +/currency/currency/Gbreve/gbreve +/currency/currency/Gcommaaccent/gcommaaccent +/currency/currency/currency/currency +/currency/currency/Imacron/imacron +/currency/currency/Iogonek/iogonek +/Idotaccent/dotlessi/currency/currency +/currency/currency/Kcommaaccent/kcommaaccent +/currency/Lacute/lacute/Lcommaaccent +/lcommaaccent/Lcaron/lcaron/currency +/currency/Lslash/lslash/Nacute +/nacute/Ncommaaccent/ncommaaccent/Ncaron +/ncaron/currency/currency/currency +/Omacron/omacron/currency/currency +/Ohungarumlaut/ohungarumlaut/OE/oe +/Racute/racute/Rcommaaccent/rcommaaccent +/Rcaron/rcaron/Sacute/sacute +/currency/currency/Scedilla/scedilla +/Scaron/scaron/currency/currency +/Tcaron/tcaron/currency/currency +/currency/currency/Umacron/umacron +/currency/currency/Uring/uring +/Uhungarumlaut/uhungarumlaut/Uogonek/uogonek +/currency/currency/currency/currency +/Ydieresis/Zacute/zacute/Zdotaccent +/zdotaccent/Zcaron/zcaron/currency +/Delta/Euro/Scommaaccent/Tcommaaccent +/breve/caron/circumflex/commaaccent +/dagger/daggerdbl/dotaccent/ellipsis +/emdash/endash/fi/fl +/florin/fraction/greaterequal/guilsinglleft +/guilsinglright/hungarumlaut/lessequal/lozenge +/minus/notequal/ogonek/partialdiff +/periodcentered/perthousand/quotedblbase/quotedblleft +/quotedblright/quoteleft/quoteright/quotesinglbase +/radical/ring/scommaaccent/summation +/tcommaaccent/tilde/trademark +]putinterval +/myfindfont{dup dup findfont 3 1 roll FontDirectory exch known {pop} +{(**** Font ")print +100 string cvs print (" is not loaded ****\r\n)print stop}ifelse} +bind def +/bindspecialfont{exch myfindfont exch scalefont def}bind def +/bindstdfont{exch myfindfont exch scalefont +dup dup/Encoding get StandardEncoding eq +{maxlength dup dict/newfont0 exch def dict/newfont1 exch def +dup +{1 index/FID eq{pop pop}{newfont0 3 1 roll put}ifelse}forall +{1 index/FID eq{pop pop}{newfont1 3 1 roll put}ifelse}forall +newfont1/Encoding UpperEncoding put dup newfont1 definefont def +newfont0/Encoding LowerEncoding put dup newfont0 definefont def +} +{3 1 roll def def}ifelse +}bind def +/f0 /f1 /Times-Roman 12 bindstdfont +0.480 14.520 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +36.480 29.520 mymove +f0 (A) 1 centreshow +72.480 0.480 mymove +72 0 rlineto +0 50.040 rlineto +-72 0 rlineto +closepath +stroke +108.480 22.440 mymove +f0 (B) 1 centreshow +showpage --- aspic-1.05.orig/doc/pic44.eps +++ aspic-1.05/doc/pic44.eps @@ -0,0 +1,184 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 216.500 90.500 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +/leftshow{dup add /r exch def +{r 2 gt +{r -2 roll exch setfont show /r r 2 sub def} +{exch setfont show exit} +ifelse}loop}bind def +/findwidth{dup 2 mul 1 add copy /w 0 def +1 exch 1 exch +{pop exch setfont stringwidth pop w add /w exch def}for}bind def +/centreshow{findwidth w 2 div neg 0 rmoveto leftshow}bind def +/rightshow{findwidth w neg 0 rmoveto leftshow}bind def +/LowerEncoding 256 array def +LowerEncoding 0 [ +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclam/quotedbl/numbersign +/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus +/comma/hyphen/period/slash +/zero/one/two/three +/four/five/six/seven +/eight/nine/colon/semicolon +/less/equal/greater/question +/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O +/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft +/backslash/bracketright/asciicircum/underscore +/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o +/p/q/r/s/t/u/v/w/x/y/z/braceleft +/bar/braceright/asciitilde/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclamdown/cent/sterling +/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft +/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/bullet +/cedilla/onesuperior/ordmasculine/guillemotright +/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +]putinterval +/UpperEncoding 256 array def +UpperEncoding 0 [ +/Amacron/amacron/Abreve/abreve +/Aogonek/aogonek/Cacute/cacute +/currency/currency/currency/currency +/Ccaron/ccaron/Dcaron/dcaron +/Dcroat/dcroat/Emacron/emacron +/currency/currency/Edotaccent/edotaccent +/Eogonek/eogonek/Ecaron/ecaron +/currency/currency/Gbreve/gbreve +/currency/currency/Gcommaaccent/gcommaaccent +/currency/currency/currency/currency +/currency/currency/Imacron/imacron +/currency/currency/Iogonek/iogonek +/Idotaccent/dotlessi/currency/currency +/currency/currency/Kcommaaccent/kcommaaccent +/currency/Lacute/lacute/Lcommaaccent +/lcommaaccent/Lcaron/lcaron/currency +/currency/Lslash/lslash/Nacute +/nacute/Ncommaaccent/ncommaaccent/Ncaron +/ncaron/currency/currency/currency +/Omacron/omacron/currency/currency +/Ohungarumlaut/ohungarumlaut/OE/oe +/Racute/racute/Rcommaaccent/rcommaaccent +/Rcaron/rcaron/Sacute/sacute +/currency/currency/Scedilla/scedilla +/Scaron/scaron/currency/currency +/Tcaron/tcaron/currency/currency +/currency/currency/Umacron/umacron +/currency/currency/Uring/uring +/Uhungarumlaut/uhungarumlaut/Uogonek/uogonek +/currency/currency/currency/currency +/Ydieresis/Zacute/zacute/Zdotaccent +/zdotaccent/Zcaron/zcaron/currency +/Delta/Euro/Scommaaccent/Tcommaaccent +/breve/caron/circumflex/commaaccent +/dagger/daggerdbl/dotaccent/ellipsis +/emdash/endash/fi/fl +/florin/fraction/greaterequal/guilsinglleft +/guilsinglright/hungarumlaut/lessequal/lozenge +/minus/notequal/ogonek/partialdiff +/periodcentered/perthousand/quotedblbase/quotedblleft +/quotedblright/quoteleft/quoteright/quotesinglbase +/radical/ring/scommaaccent/summation +/tcommaaccent/tilde/trademark +]putinterval +/myfindfont{dup dup findfont 3 1 roll FontDirectory exch known {pop} +{(**** Font ")print +100 string cvs print (" is not loaded ****\r\n)print stop}ifelse} +bind def +/bindspecialfont{exch myfindfont exch scalefont def}bind def +/bindstdfont{exch myfindfont exch scalefont +dup dup/Encoding get StandardEncoding eq +{maxlength dup dict/newfont0 exch def dict/newfont1 exch def +dup +{1 index/FID eq{pop pop}{newfont0 3 1 roll put}ifelse}forall +{1 index/FID eq{pop pop}{newfont1 3 1 roll put}ifelse}forall +newfont1/Encoding UpperEncoding put dup newfont1 definefont def +newfont0/Encoding LowerEncoding put dup newfont0 definefont def +} +{3 1 roll def def}ifelse +}bind def +/f0 /f1 /Times-Roman 12 bindstdfont +0.480 0.480 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +36.480 15.480 mymove +f0 (A) 1 centreshow +72.480 18.480 mymove +19.200 -0.480 36.480 16.800 36 36 rcurveto +0.400 setlinewidth +stroke +103.920 26.040 mymove +f0 (1) 1 leftshow +72.480 54.480 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +108.480 69.480 mymove +f0 (B) 1 centreshow +108.480 54.480 mymove +-0.480 -19.200 16.800 -36.480 36 -36 rcurveto +0.400 setlinewidth +stroke +125.040 26.040 mymove +f0 (2) 1 leftshow +144.480 0.480 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +180.480 15.480 mymove +f0 (C) 1 centreshow +showpage --- aspic-1.05.orig/doc/pic23.eps +++ aspic-1.05/doc/pic23.eps @@ -0,0 +1,186 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 154.500 95.500 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +/leftshow{dup add /r exch def +{r 2 gt +{r -2 roll exch setfont show /r r 2 sub def} +{exch setfont show exit} +ifelse}loop}bind def +/findwidth{dup 2 mul 1 add copy /w 0 def +1 exch 1 exch +{pop exch setfont stringwidth pop w add /w exch def}for}bind def +/centreshow{findwidth w 2 div neg 0 rmoveto leftshow}bind def +/rightshow{findwidth w neg 0 rmoveto leftshow}bind def +/LowerEncoding 256 array def +LowerEncoding 0 [ +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclam/quotedbl/numbersign +/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus +/comma/hyphen/period/slash +/zero/one/two/three +/four/five/six/seven +/eight/nine/colon/semicolon +/less/equal/greater/question +/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O +/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft +/backslash/bracketright/asciicircum/underscore +/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o +/p/q/r/s/t/u/v/w/x/y/z/braceleft +/bar/braceright/asciitilde/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclamdown/cent/sterling +/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft +/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/bullet +/cedilla/onesuperior/ordmasculine/guillemotright +/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +]putinterval +/UpperEncoding 256 array def +UpperEncoding 0 [ +/Amacron/amacron/Abreve/abreve +/Aogonek/aogonek/Cacute/cacute +/currency/currency/currency/currency +/Ccaron/ccaron/Dcaron/dcaron +/Dcroat/dcroat/Emacron/emacron +/currency/currency/Edotaccent/edotaccent +/Eogonek/eogonek/Ecaron/ecaron +/currency/currency/Gbreve/gbreve +/currency/currency/Gcommaaccent/gcommaaccent +/currency/currency/currency/currency +/currency/currency/Imacron/imacron +/currency/currency/Iogonek/iogonek +/Idotaccent/dotlessi/currency/currency +/currency/currency/Kcommaaccent/kcommaaccent +/currency/Lacute/lacute/Lcommaaccent +/lcommaaccent/Lcaron/lcaron/currency +/currency/Lslash/lslash/Nacute +/nacute/Ncommaaccent/ncommaaccent/Ncaron +/ncaron/currency/currency/currency +/Omacron/omacron/currency/currency +/Ohungarumlaut/ohungarumlaut/OE/oe +/Racute/racute/Rcommaaccent/rcommaaccent +/Rcaron/rcaron/Sacute/sacute +/currency/currency/Scedilla/scedilla +/Scaron/scaron/currency/currency +/Tcaron/tcaron/currency/currency +/currency/currency/Umacron/umacron +/currency/currency/Uring/uring +/Uhungarumlaut/uhungarumlaut/Uogonek/uogonek +/currency/currency/currency/currency +/Ydieresis/Zacute/zacute/Zdotaccent +/zdotaccent/Zcaron/zcaron/currency +/Delta/Euro/Scommaaccent/Tcommaaccent +/breve/caron/circumflex/commaaccent +/dagger/daggerdbl/dotaccent/ellipsis +/emdash/endash/fi/fl +/florin/fraction/greaterequal/guilsinglleft +/guilsinglright/hungarumlaut/lessequal/lozenge +/minus/notequal/ogonek/partialdiff +/periodcentered/perthousand/quotedblbase/quotedblleft +/quotedblright/quoteleft/quoteright/quotesinglbase +/radical/ring/scommaaccent/summation +/tcommaaccent/tilde/trademark +]putinterval +/myfindfont{dup dup findfont 3 1 roll FontDirectory exch known {pop} +{(**** Font ")print +100 string cvs print (" is not loaded ****\r\n)print stop}ifelse} +bind def +/bindspecialfont{exch myfindfont exch scalefont def}bind def +/bindstdfont{exch myfindfont exch scalefont +dup dup/Encoding get StandardEncoding eq +{maxlength dup dict/newfont0 exch def dict/newfont1 exch def +dup +{1 index/FID eq{pop pop}{newfont0 3 1 roll put}ifelse}forall +{1 index/FID eq{pop pop}{newfont1 3 1 roll put}ifelse}forall +newfont1/Encoding UpperEncoding put dup newfont1 definefont def +newfont0/Encoding LowerEncoding put dup newfont0 definefont def +} +{3 1 roll def def}ifelse +}bind def +/f0 /f1 /Times-Roman 12 bindstdfont +0.480 59.520 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +36.480 74.520 mymove +f0 (A) 1 centreshow +36.480 59.520 mymove +0 -5.040 rlineto +-0.480 -19.200 16.800 -36.480 36 -36 rcurveto +0 0 rlineto +0.400 setlinewidth +stroke +72.480 18.480 mymove +0 -5.040 rlineto +9.960 5.040 rlineto +-9.960 5.040 rlineto +0 -5.040 rlineto +stroke +82.440 0.480 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +118.440 15.480 mymove +f0 (B) 1 centreshow +118.440 36.480 mymove +0 41.040 rlineto +-36 0 rlineto +0.400 setlinewidth +stroke +82.440 77.520 mymove +0 5.040 rlineto +-9.960 -5.040 rlineto +9.960 -5.040 rlineto +0 5.040 rlineto +stroke +showpage --- aspic-1.05.orig/doc/pic05.eps +++ aspic-1.05/doc/pic05.eps @@ -0,0 +1,22 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 144 36.400 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +0 0.240 mymove +72 0 rlineto +72 36 rlineto +-72 0 rlineto +0 -36 rlineto +0.400 setlinewidth +stroke +showpage --- aspic-1.05.orig/doc/pic27.eps +++ aspic-1.05/doc/pic27.eps @@ -0,0 +1,30 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 72.200 72.400 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +0 72.240 mymove +72 0 rlineto +0 -36 rlineto +0.500 setgray +fill +72 36.240 mymove +0 0 rlineto +0 setgray +0.400 setlinewidth +stroke +72 36.240 mymove +-72 -36 rlineto +72 0 rlineto +0.500 setgray +fill +showpage --- aspic-1.05.orig/doc/pic47.eps +++ aspic-1.05/doc/pic47.eps @@ -0,0 +1,166 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 144.500 36.500 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +/leftshow{dup add /r exch def +{r 2 gt +{r -2 roll exch setfont show /r r 2 sub def} +{exch setfont show exit} +ifelse}loop}bind def +/findwidth{dup 2 mul 1 add copy /w 0 def +1 exch 1 exch +{pop exch setfont stringwidth pop w add /w exch def}for}bind def +/centreshow{findwidth w 2 div neg 0 rmoveto leftshow}bind def +/rightshow{findwidth w neg 0 rmoveto leftshow}bind def +/LowerEncoding 256 array def +LowerEncoding 0 [ +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclam/quotedbl/numbersign +/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus +/comma/hyphen/period/slash +/zero/one/two/three +/four/five/six/seven +/eight/nine/colon/semicolon +/less/equal/greater/question +/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O +/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft +/backslash/bracketright/asciicircum/underscore +/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o +/p/q/r/s/t/u/v/w/x/y/z/braceleft +/bar/braceright/asciitilde/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclamdown/cent/sterling +/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft +/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/bullet +/cedilla/onesuperior/ordmasculine/guillemotright +/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +]putinterval +/UpperEncoding 256 array def +UpperEncoding 0 [ +/Amacron/amacron/Abreve/abreve +/Aogonek/aogonek/Cacute/cacute +/currency/currency/currency/currency +/Ccaron/ccaron/Dcaron/dcaron +/Dcroat/dcroat/Emacron/emacron +/currency/currency/Edotaccent/edotaccent +/Eogonek/eogonek/Ecaron/ecaron +/currency/currency/Gbreve/gbreve +/currency/currency/Gcommaaccent/gcommaaccent +/currency/currency/currency/currency +/currency/currency/Imacron/imacron +/currency/currency/Iogonek/iogonek +/Idotaccent/dotlessi/currency/currency +/currency/currency/Kcommaaccent/kcommaaccent +/currency/Lacute/lacute/Lcommaaccent +/lcommaaccent/Lcaron/lcaron/currency +/currency/Lslash/lslash/Nacute +/nacute/Ncommaaccent/ncommaaccent/Ncaron +/ncaron/currency/currency/currency +/Omacron/omacron/currency/currency +/Ohungarumlaut/ohungarumlaut/OE/oe +/Racute/racute/Rcommaaccent/rcommaaccent +/Rcaron/rcaron/Sacute/sacute +/currency/currency/Scedilla/scedilla +/Scaron/scaron/currency/currency +/Tcaron/tcaron/currency/currency +/currency/currency/Umacron/umacron +/currency/currency/Uring/uring +/Uhungarumlaut/uhungarumlaut/Uogonek/uogonek +/currency/currency/currency/currency +/Ydieresis/Zacute/zacute/Zdotaccent +/zdotaccent/Zcaron/zcaron/currency +/Delta/Euro/Scommaaccent/Tcommaaccent +/breve/caron/circumflex/commaaccent +/dagger/daggerdbl/dotaccent/ellipsis +/emdash/endash/fi/fl +/florin/fraction/greaterequal/guilsinglleft +/guilsinglright/hungarumlaut/lessequal/lozenge +/minus/notequal/ogonek/partialdiff +/periodcentered/perthousand/quotedblbase/quotedblleft +/quotedblright/quoteleft/quoteright/quotesinglbase +/radical/ring/scommaaccent/summation +/tcommaaccent/tilde/trademark +]putinterval +/myfindfont{dup dup findfont 3 1 roll FontDirectory exch known {pop} +{(**** Font ")print +100 string cvs print (" is not loaded ****\r\n)print stop}ifelse} +bind def +/bindspecialfont{exch myfindfont exch scalefont def}bind def +/bindstdfont{exch myfindfont exch scalefont +dup dup/Encoding get StandardEncoding eq +{maxlength dup dict/newfont0 exch def dict/newfont1 exch def +dup +{1 index/FID eq{pop pop}{newfont0 3 1 roll put}ifelse}forall +{1 index/FID eq{pop pop}{newfont1 3 1 roll put}ifelse}forall +newfont1/Encoding UpperEncoding put dup newfont1 definefont def +newfont0/Encoding LowerEncoding put dup newfont0 definefont def +} +{3 1 roll def def}ifelse +}bind def +/f0 /f1 /Times-Roman 12 bindstdfont +0.480 0.480 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +0.500 setlinewidth +stroke +36.480 21.480 mymove +f0 (one) 1 centreshow +36.480 9.480 mymove +f0 (two) 1 centreshow +72.480 0.480 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +stroke +108.480 27.480 mymove +f0 (three) 1 centreshow +108.480 3.480 mymove +f0 (four) 1 centreshow +showpage --- aspic-1.05.orig/doc/pic30.eps +++ aspic-1.05/doc/pic30.eps @@ -0,0 +1,164 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 164.500 110.500 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +/leftshow{dup add /r exch def +{r 2 gt +{r -2 roll exch setfont show /r r 2 sub def} +{exch setfont show exit} +ifelse}loop}bind def +/findwidth{dup 2 mul 1 add copy /w 0 def +1 exch 1 exch +{pop exch setfont stringwidth pop w add /w exch def}for}bind def +/centreshow{findwidth w 2 div neg 0 rmoveto leftshow}bind def +/rightshow{findwidth w neg 0 rmoveto leftshow}bind def +/LowerEncoding 256 array def +LowerEncoding 0 [ +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclam/quotedbl/numbersign +/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus +/comma/hyphen/period/slash +/zero/one/two/three +/four/five/six/seven +/eight/nine/colon/semicolon +/less/equal/greater/question +/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O +/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft +/backslash/bracketright/asciicircum/underscore +/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o +/p/q/r/s/t/u/v/w/x/y/z/braceleft +/bar/braceright/asciitilde/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclamdown/cent/sterling +/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft +/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/bullet +/cedilla/onesuperior/ordmasculine/guillemotright +/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +]putinterval +/UpperEncoding 256 array def +UpperEncoding 0 [ +/Amacron/amacron/Abreve/abreve +/Aogonek/aogonek/Cacute/cacute +/currency/currency/currency/currency +/Ccaron/ccaron/Dcaron/dcaron +/Dcroat/dcroat/Emacron/emacron +/currency/currency/Edotaccent/edotaccent +/Eogonek/eogonek/Ecaron/ecaron +/currency/currency/Gbreve/gbreve +/currency/currency/Gcommaaccent/gcommaaccent +/currency/currency/currency/currency +/currency/currency/Imacron/imacron +/currency/currency/Iogonek/iogonek +/Idotaccent/dotlessi/currency/currency +/currency/currency/Kcommaaccent/kcommaaccent +/currency/Lacute/lacute/Lcommaaccent +/lcommaaccent/Lcaron/lcaron/currency +/currency/Lslash/lslash/Nacute +/nacute/Ncommaaccent/ncommaaccent/Ncaron +/ncaron/currency/currency/currency +/Omacron/omacron/currency/currency +/Ohungarumlaut/ohungarumlaut/OE/oe +/Racute/racute/Rcommaaccent/rcommaaccent +/Rcaron/rcaron/Sacute/sacute +/currency/currency/Scedilla/scedilla +/Scaron/scaron/currency/currency +/Tcaron/tcaron/currency/currency +/currency/currency/Umacron/umacron +/currency/currency/Uring/uring +/Uhungarumlaut/uhungarumlaut/Uogonek/uogonek +/currency/currency/currency/currency +/Ydieresis/Zacute/zacute/Zdotaccent +/zdotaccent/Zcaron/zcaron/currency +/Delta/Euro/Scommaaccent/Tcommaaccent +/breve/caron/circumflex/commaaccent +/dagger/daggerdbl/dotaccent/ellipsis +/emdash/endash/fi/fl +/florin/fraction/greaterequal/guilsinglleft +/guilsinglright/hungarumlaut/lessequal/lozenge +/minus/notequal/ogonek/partialdiff +/periodcentered/perthousand/quotedblbase/quotedblleft +/quotedblright/quoteleft/quoteright/quotesinglbase +/radical/ring/scommaaccent/summation +/tcommaaccent/tilde/trademark +]putinterval +/myfindfont{dup dup findfont 3 1 roll FontDirectory exch known {pop} +{(**** Font ")print +100 string cvs print (" is not loaded ****\r\n)print stop}ifelse} +bind def +/bindspecialfont{exch myfindfont exch scalefont def}bind def +/bindstdfont{exch myfindfont exch scalefont +dup dup/Encoding get StandardEncoding eq +{maxlength dup dict/newfont0 exch def dict/newfont1 exch def +dup +{1 index/FID eq{pop pop}{newfont0 3 1 roll put}ifelse}forall +{1 index/FID eq{pop pop}{newfont1 3 1 roll put}ifelse}forall +newfont1/Encoding UpperEncoding put dup newfont1 definefont def +newfont0/Encoding LowerEncoding put dup newfont0 definefont def +} +{3 1 roll def def}ifelse +}bind def +/f0 /f1 /Times-Roman 12 bindstdfont +0 0 mymove +0.400 setlinewidth +164.520 0 rlineto +0 110.520 rlineto +-164.520 0 rlineto +0 -110.520 rlineto +46.440 25.440 mymove +f0 (first) 1 centreshow +82.440 28.440 mymove +15.600 -0.240 30.600 10.920 34.560 26.040 rcurveto +stroke +117.120 54.600 mymove +4.920 -0.720 rlineto +-3.600 10.560 rlineto +-6.360 -9.240 rlineto +4.920 -0.720 rlineto +stroke +118.440 79.440 mymove +f0 (second) 1 centreshow +showpage --- aspic-1.05.orig/doc/pic42.eps +++ aspic-1.05/doc/pic42.eps @@ -0,0 +1,52 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 174.500 56.500 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +102.480 20.520 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +gsave 0.500 setgray +fill grestore +0.500 setlinewidth +0 setgray +stroke +0.480 0.480 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +gsave 0.500 setgray +fill grestore +0 setgray +stroke +10.440 10.440 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +gsave 0.500 setgray +fill grestore +0 setgray +stroke +92.520 10.440 mymove +72 0 rlineto +0 36 rlineto +-72 0 rlineto +closepath +gsave 0.500 setgray +fill grestore +0 setgray +stroke +showpage --- aspic-1.05.orig/doc/pic35.eps +++ aspic-1.05/doc/pic35.eps @@ -0,0 +1,25 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: Unknown +%%Creator: Unknown, using Aspic 1.05 (04-March-2008) +%%CreationDate: Sun, 03 Apr 2011 14:01:14 +0200 +%%BoundingBox: 0 0 26.097 34.611 +%%EndComments + +/mymove{ +{currentpoint} stopped {moveto}{ + exch 4 1 roll sub 3 1 roll exch sub + dup abs 0.01 lt 3 -1 roll dup abs 0.01 lt + 3 -1 roll and {pop pop}{rmoveto} ifelse + } ifelse +}def +26.040 0 mymove +0.240 15.600 -10.920 30.600 -26.040 34.560 rcurveto +0.400 setlinewidth +stroke +0 34.560 mymove +0.720 4.920 rlineto +-10.560 -3.600 rlineto +9.240 -6.360 rlineto +0.720 4.920 rlineto +stroke +showpage --- aspic-1.05.orig/doc/aspic.ps +++ aspic-1.05/doc/aspic.ps @@ -0,0 +1,10409 @@ +%!PS-Adobe-3.0 +%%Creator: SDoP 0.70 +%%CreationDate: Sun Apr 3 14:01:15 2011 +%%Pages: (atend) +%%DocumentNeededResources: +%%+ font Times-Roman +%%+ font Times-Italic +%%+ font Helvetica-Bold +%%+ font Times-Bold +%%+ font Courier +%%+ font Times-BoldItalic +%%+ font ZapfDingbats +%%+ font Helvetica +%%Requirements: numcopies(1) +%%EndComments + +%%BeginProlog +/pdfmark where % Is pdfmark already available? + { pop } % Yes: do nothing (use that definition) + { % No: define pdfmark as follows: + /globaldict where % globaldict is preferred because + { pop globaldict } % globaldict is always visible; else, + { userdict } % use userdict otherwise. + ifelse + /pdfmark /cleartomark load put + } % Define pdfmark to remove all objects +ifelse % up to and including the mark object. +/LowerEncoding 256 array def +LowerEncoding 0 [ +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclam/quotedbl/numbersign +/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus +/comma/hyphen/period/slash +/zero/one/two/three +/four/five/six/seven +/eight/nine/colon/semicolon +/less/equal/greater/question +/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O +/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft +/backslash/bracketright/asciicircum/underscore +/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o +/p/q/r/s/t/u/v/w/x/y/z/braceleft +/bar/braceright/asciitilde/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/currency/currency/currency/currency +/space/exclamdown/cent/sterling +/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft +/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/bullet +/cedilla/onesuperior/ordmasculine/guillemotright +/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis +/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute +/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex +/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde +/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis +/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute +/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis +]putinterval +/UpperEncoding 256 array def +UpperEncoding 0 [ +/Amacron/amacron/Abreve/abreve +/Aogonek/aogonek/Cacute/cacute +/currency/currency/currency/currency +/Ccaron/ccaron/Dcaron/dcaron +/Dcroat/dcroat/Emacron/emacron +/currency/currency/Edotaccent/edotaccent +/Eogonek/eogonek/Ecaron/ecaron +/currency/currency/Gbreve/gbreve +/currency/currency/Gcommaaccent/gcommaaccent +/currency/currency/currency/currency +/currency/currency/Imacron/imacron +/currency/currency/Iogonek/iogonek +/Idotaccent/dotlessi/currency/currency +/currency/currency/Kcommaaccent/kcommaaccent +/currency/Lacute/lacute/Lcommaaccent +/lcommaaccent/Lcaron/lcaron/currency +/currency/Lslash/lslash/Nacute +/nacute/Ncommaaccent/ncommaaccent/Ncaron +/ncaron/currency/currency/currency +/Omacron/omacron/currency/currency +/Ohungarumlaut/ohungarumlaut/OE/oe +/Racute/racute/Rcommaaccent/rcommaaccent +/Rcaron/rcaron/Sacute/sacute +/currency/currency/Scedilla/scedilla +/Scaron/scaron/currency/currency +/Tcaron/tcaron/currency/currency +/currency/currency/Umacron/umacron +/currency/currency/Uring/uring +/Uhungarumlaut/uhungarumlaut/Uogonek/uogonek +/currency/currency/currency/currency +/Ydieresis/Zacute/zacute/Zdotaccent +/zdotaccent/Zcaron/zcaron/currency +/Delta/Euro/Scommaaccent/Tcommaaccent +/breve/caron/circumflex/commaaccent +/dagger/daggerdbl/dotaccent/ellipsis +/emdash/endash/fi/fl +/florin/fraction/greaterequal/guilsinglleft +/guilsinglright/hungarumlaut/lessequal/lozenge +/minus/notequal/ogonek/partialdiff +/periodcentered/perthousand/quotedblbase/quotedblleft +/quotedblright/quoteleft/quoteright/quotesinglbase +/radical/ring/scommaaccent/summation +/tcommaaccent/tilde/trademark +]putinterval +/inf{dup dup findfont 3 1 roll FontDirectory exch known {pop}{(**** Font ")print +100 string cvs print (" is not loaded ****\r\n)print stop}ifelse +dup dup/Encoding get StandardEncoding eq +{maxlength dup dict/newfont0 exch def dict/newfont1 exch def +dup +{1 index/FID eq{pop pop}{newfont0 3 1 roll put}ifelse}forall +{1 index/FID eq{pop pop}{newfont1 3 1 roll put}ifelse}forall +newfont1/Encoding UpperEncoding put dup newfont1 definefont def +newfont0/Encoding LowerEncoding put dup newfont0 definefont def +} +{3 1 roll def def}ifelse +}bind def +/Sf{vf exch get setfont}bind def +/R{0 rmoveto}bind def +/Mt/moveto load def +/RMt/rmoveto load def +/RLt/rlineto load def +/S/show load def +/Slw/setlinewidth load def +/St/stroke load def +%%EndProlog + +%%BeginSetup +[ {Catalog} << /PageLabels << /Nums [ +0 << /S /r >> 4 << /S /D >> ] >> >> /PUT pdfmark +[/View [/XYZ null null 1] /Page 1 /PageMode /UseOutlines /DOCVIEW pdfmark +[/Title (Title page) /Page 1 /View [/XYZ null null 1] /OUT pdfmark +[/Title (Contents) /Page 3 /View [/XYZ null null 1] /OUT pdfmark +[/Title (1. Introduction to Aspic) /Page 5 /View [/XYZ null null 1] /Count -1 /OUT pdfmark +[/Title ( 1.1 The aspic command) /Page 5 /View [/XYZ null null 1] /OUT pdfmark +[/Title (2. Simple Aspic examples) /Page 6 /View [/XYZ null null 1] /OUT pdfmark +[/Title (3. General operation of Aspic) /Page 14 /View [/XYZ null null 1] /Count -2 /OUT pdfmark +[/Title ( 3.1 Position of the coordinate origin) /Page 14 /View [/XYZ null null 1] /OUT pdfmark +[/Title ( 3.2 The bounding box) /Page 14 /View [/XYZ null null 1] /OUT pdfmark +[/Title (4. Aspic input) /Page 15 /View [/XYZ null null 1] /Count -2 /OUT pdfmark +[/Title ( 4.1 Command format) /Page 15 /View [/XYZ null null 1] /OUT pdfmark +[/Title ( 4.2 File inclusion) /Page 15 /View [/XYZ null null 1] /OUT pdfmark +[/Title (5. Aspic variables) /Page 16 /View [/XYZ null null 1] /OUT pdfmark +[/Title (6. Aspic macros) /Page 17 /View [/XYZ null null 1] /OUT pdfmark +[/Title (7. Types of value used in commands) /Page 19 /View [/XYZ null null 1] /Count -9 /OUT pdfmark +[/Title ( 7.1 ) /Page 19 /View [/XYZ null null 1] /OUT pdfmark +[/Title ( 7.2 ) /Page 19 /View [/XYZ null null 1] /OUT pdfmark +[/Title ( 7.3 ) /Page 19 /View [/XYZ null null 1] /OUT pdfmark +[/Title ( 7.4 ) /Page 19 /View [/XYZ null null 1] /OUT pdfmark +[/Title ( 7.5 ) /Page 19 /View [/XYZ null null 1] /OUT pdfmark +[/Title ( 7.6