Fonts and Printing
These are implementation notes;
there is no code.
Sceren fonts and printer fonts have differing character widths.
This means that it's not possible to obtain perfect page fidelity.
The main choices are as follows:
SSC: Use the screen widths for the printer, positioning each character
- printing is slow, because of the overhead of positioning each character
- printer files are very large
- printed output looks very bad
+ easy to do.
SSW: Use the screen widths for the printer, positioning each word
- word spacing is very bad: words overlap sometimes.
+ easy to do.
+ letterspacing of the printed output is good
SSbit: Use the screen widths for the printer, printa bitmap screen dump
- slow, big files, might use a lot of printer memory.
- looks ugly,but also lowers users' expectations.
+ moderately easy to do
- shows up any flaws in the sceren formatting
PPfmt: Use printer widths for the printer, screen widths for the sceren, reformat
- not WYSIWYG.
+ best quality output this way.
+ already used by Word, Lyx, etc.
SPW: Use screen widths for each letter on the screen, compensate for printer widths in spaces
- may get odd effects when there aer no spaces on an output line
+ moderately easy to do
+ acceptable output on screen and printer
+ could adjust printer widths slightly to minimise rounding errors
PPbit: Use printer widths on the screen, compensate with anti-aliasing
- may be slow
- no good on 1-bit screens
+ would be an attractive option
- still have to implement another solution if 1-bit support is wanted
PPC: Use printer widths on the screen, position each character
+ This is the usual approach for Quark, Adobe Illustrator, FreeHand etc.
- Makes the sceren hard to read
* this is for where the printed look is more important than the content
+ DPS and NeWS support(ed) this
* There is also a PPW variant where you position words, but the width differences can add up to cause words to touch or overlap if you do this.
|