summaryrefslogtreecommitdiff
path: root/bk_ps.c (follow)
Commit message (Collapse)AuthorAge
* Don't bother overriding the metrics of PostScript fonts. If the metricsBen Harris2004-09-25
| | | | | | | we've got are wrong, things are going to look horrible either way, so we may as well apply minimal effort. [originally from svn r4580]
* If you're going to change the metrics of a font, it's necessary to leave spaceBen Harris2004-09-24
| | | | | | | in the new font dictionary for the Metrics entry. This is mentioned in the first edition of the Red Book, but not the second. [originally from svn r4577]
* Stupid bug: "t" was leaving the y-coordinate on the stack, which confusedBen Harris2004-09-21
| | | | | | | "restore". Quite how GhostScript managed not to give an error on this I don't know. [originally from svn r4565]
* Replace the hardcoded instances of "4096" and "4096.0" in the paper backendsBen Harris2004-09-21
| | | | | | | with a macro. halibut.ps and halibut.pdf are identical (modulo dates) over this change. [originally from svn r4564]
* Bracket each page in a save/restore pair. This is suggested by the Red Book,Ben Harris2004-09-21
| | | | | | | enforces page independence, avoids leaking VM on level 1 interpreters, and speeds things up to boot. [originally from svn r4561]
* Make the PostScript prologue look less like it was written by a C programmer.Ben Harris2004-09-20
| | | | | | | | In particular, use the operand stack to hold "x" and "y", and use a dictionary lookup to switch based on the type of "x". This also seems to give a slight speed increase. [originally from svn r4553]
* Two small tweaks to the prologue:Ben Harris2004-09-20
| | | | | | | | | * Use "/arraytype" etc rather than "[] type" etc. Should be faster and not fill local VM with empty arrays. * Use "bind" on the procedure, since it's conventional and will probably help speed too. [originally from svn r4552]
* Add lots of DSC comments, and change the DSC version to 3.0, which has beenBen Harris2004-09-20
| | | | | | | | | | | | | current since 1990. The only obvious change from this is that gv now displays the document title. There's a slight bug here at the moment in that the backend emits %%DocumentNeededResource and %%IncludeResource for each subfont of a PostScript font, even if that PostScript font has been requested already. This is wasteful but, as far as I can see, not actually disallowed, and is easier than de-duping the font list. [originally from svn r4551]
* Cut-and-paste error was preventing PS and PDF filename configSimon Tatham2004-07-17
| | | | | | options from being processed in some circumstances. [originally from svn r4329]
* Infrastructure changes for character set support. ustrtoa,Simon Tatham2004-04-20
| | | | | | | | | | | ustrfroma, utoa_dup and ufroma_dup now take a charset parameter, and also have a variety of subtly distinct forms. Also, when a \cfg directive is seen in the input file, the precise octet strings for each parameter are kept in their original form as well as being translated into Unicode, so that when they represent filenames they can be used verbatim. [originally from svn r4097]
* Compacted PS and PDF output files by removing redundant reiterationsSimon Tatham2004-04-16
| | | | | | | | of the same font and position designations. Reduced the size of the Halibut manual PDF to less than half what it started out as, and the PS one to more like a third of its original size. [originally from svn r4083]
* Put the document's version IDs into comments in the PS and PDFSimon Tatham2004-04-15
| | | | | | output files. [originally from svn r4079]
* Implemented PDF outlines.Simon Tatham2004-04-14
| | | | [originally from svn r4067]
* Implemented lines under chapter titles.Simon Tatham2004-04-13
| | | | [originally from svn r4065]
* Implement PDF link annotations: both internal hyperlinks within theSimon Tatham2004-04-13
| | | | | | | document, and references to external URLs for which acroread will start a web browser. [originally from svn r4060]
* Initial work on PS and PDF output. Because these two backends shareSimon Tatham2004-04-13
an enormous amount of preprocessing and differ only in their final output form, I've introduced a new type of layer called a `pre-backend' (bk_paper.c is one). This takes all the information passed to a normal backend and returns an arbitrary void *, which is cached by the front end and passed on to any backend(s) which state a desire for the output of that particular pre-backend. Thus, all the page layout is done only once, and the PS and PDF backends process the same data structures into two output files. Note that these backends are _very_ unfinished; all sorts of vital things such as section numbers, list markers, and title formatting are missing, the paragraph justification doesn't quite work, and advanced stuff like indexes and PDF interactive features haven't even been started. But this basic framework generates valid output files and is a good starting point, so I'm checking it in. [originally from svn r4058]