All the figures and none of the Lit Review
[ipdf/sam.git] / chapters / Background_Interpreted.tex
index baa3849..f0fc912 100644 (file)
@@ -1,16 +1,17 @@
-\subsubsection{\TeX and Metafont}
-
-Donald Knuth's  ``The \TeX  Book'' and ``Metafont'' 
 
 \subsubsection{PostScript}
 
-Adobe's PostScript Language Reference Manual defines a turing complete language for producing graphics output on an abstract ``output device''\cite{plrm}. A PostScript document is treated as a procedural program; an interpreter executes instructions in the order they are written by the programmer. Each symbol is pushed onto a stack as it is read. Special symbols called ``operators'' can act upon this stack and/or the output device. An internal ``graphics state'' stack can be constructed to store styling information (such as colour, line thickness, the current cursor position). It is possible for the language to define new operators. Figure \ref{PS} shows a vector image and one possible way to express this image in PostScript. PostScript was and is still widely used in printing of documents onto paper; many printers execute postscript directly, and recent formats including PDFs must still be converted into PostScript by printer drivers\cite{pdfref17, cheng2002portable}.
+Adobe's PostScript Language Reference Manual defines a turing complete language for producing graphics output on an abstract ``output device''\cite{plrm}. A PostScript document is treated as a procedural program; an interpreter executes instructions in the order they are written by the programmer. Each symbol is pushed onto a stack as it is read. Special symbols called ``operators'' can act upon this stack and/or the output device. An internal ``graphics state'' stack can be constructed to store styling information (such as colour, line thickness, the current cursor position). It is possible for the language to define new operators. Figure \ref{PS} shows a vector image and one possible way to express this image in PostScript. PostScript was and is still widely used in printing of documents onto paper; many printers execute postscript directly, and newer formats including PDFs must still be converted into PostScript by printer drivers\cite{pdfref17, cheng2002portable}.
 
-There are some limitations in PostScript's model. As mentioned in Section\ref{Compositing}, there is no concept of transparency. In fact, using tools to convert between the SVG image in Figure \ref{SVG} and PostScript will simply rasterise the image and embed the rastered image in PostScript. Another limitation of PostScript is that the model of a document as a static page, convenient for printers which literally produce static pages, is unable to include interactive or dynamic elements. Dynamic PostScript attempted to fix this problem, but ``never caught on''\cite{hayes2012pixelsor}.
+There are some limitations in PostScript's model. As mentioned in Section\ref{Compositing}, since PostScript predates Porter and Duff Compositing, there is no concept of transparency. In fact, using tools to convert between the SVG image in Figure \ref{SVG} and PostScript will simply rasterise the image and embed the rastered image in PostScript\footnote{For Figure \ref{SVG} converted using the Inkscape SVG editor: \url{http://szmoore.net/ipdf/figures/shape-svg-converted-to.ps}} 
+
+Another limitation of PostScript is that the model of a document as a static page, convenient for printers which literally produce static pages, is unable to include interactive or dynamic elements. Dynamic PostScript attempted to fix this problem, but ``never caught on''\cite{hayes2012pixelsor}.
 
 \begin{figure}[H]
 \begin{minipage}[t]{0.65\textwidth}
 \begin{minted}{postscript}
+%!PS-Adobe-3.0 EPSF-3.0
+%%BoundingBox: 0 -1 85 150
 % These lines are comments to aid in human understanding
 % Define an operator to produce a rectangular path
 /re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
@@ -21,14 +22,18 @@ There are some limitations in PostScript's model. As mentioned in Section\ref{Co
 /re2 { 10.215 45.001 48 -16 re } bind def
 % Operator which will produce the curved path
 /curve { 46.215 1.001 moveto 
-46.215 1.001 91.812 11.399 71.812 35.399 curveto 51.812 59.399
- 29.414 33.802 51.812 59.399 curveto 74.215 85.001 93.414 45.802 74.215 85.001
- curveto 55.016 125.001 61.414 49.802 46.215 75.399 curveto 31.016 101.001 56.613 126.598
- 56.613 126.598 curveto 56.613 126.598 88.613 166.598 56.613 137.802 curveto 24.613 
-109.001 -18.586 83.399 9.414 50.598 curveto 37.414 17.802 45.414 1.001 45.414 
-1.001 curveto closepath } bind def
+       46.215 1.001 91.812 11.399 71.812 35.399 curveto 
+       51.812 59.399  29.414 33.802 51.812 59.399 curveto 
+       74.215 85.001 93.414 45.802 74.215 85.001 curveto 
+       55.016 125.001 61.414 49.802 46.215 75.399 curveto 
+       31.016 101.001 56.613 126.598 56.613 126.598 curveto 
+       56.613 126.598 88.613 166.598 56.613 137.802 curveto 
+       24.613 109.001 -18.586 83.399 9.414 50.598 curveto 
+       37.414 17.802 45.414 1.001 45.414 1.001 curveto 
+closepath } bind def
 % Set stroke properties
-0.8 setlinewidth 0 setlinecap 0 setlinejoin [] 0.0 setdash 4 setmiterlimit 
+0.8 setlinewidth 0 setlinecap 0 setlinejoin [] 
+       0.0 setdash 4 setmiterlimit 
 % Draw the straight line
 0 setgray 0.613 149.001 moveto 83.812 0.2 lineto fill 
 % Fill and outline the first rectangular path
@@ -48,3 +53,8 @@ showpage
 \end{minipage}
        \caption{Vector image and a possible PostScript representation}\label{PS}
 \end{figure}
+
+\subsubsection{\TeX and Metafont}
+
+\TeX is a typesetting language invented by Donald Knuth in 1983.
+

UCC git Repository :: git.ucc.asn.au