\section*{Abstract}

Early document formats such as PostScript were motivated by a desire to
print text and visual information onto a static paper medium.
Although documents are increasingly viewed digitally, modern standards
including PDF and SVG are still largely based upon this model.
Digital document viewers are able to scale a subregion of the document to
fit the display. However, coordinates of graphics primitives are
typically represented with IEEE-754 floating point numbers. This places
limits on the precision with which primitives in the document can be
specified and rendered.

We have implemented a minimal SVG viewer, with which we have
compared a number of approaches to achieving arbitrary precision
document formats. We demonstrate the trade off between performance and
precision with alternative number representations including arbitrary
precision floats, rationals, and IEEE-754 fixed precision floats. We also
consider approaches to increasing the precision that can be attained with
IEEE-754 floats.

{\bf Keywords:} \emph{document formats, precision, floating point, vector images, graphics, OpenGL, SDL2, PostScript, PDF, {\TeX}, SVG, HTML5, Javascript }

{\bf Note:} This report is best viewed digitally as a PDF. The digital version is available at \url{http://szmoore.net/ipdf/sam/thesis.pdf}

{\bf Word Count: } 7620 (9335 with appendices)

% Oh dear...
\quad \\ \quad \\ \quad \\ \quad
