Optimize Horizontal Accuracy When Processing Typographic Proportional Fonts
Original Publication Date: 1991-Jun-01
Included in the Prior Art Database: 2005-Apr-02
Carter, KE: AUTHOR [+2]
To support typographic fonts with varying horizontal index units, DisplayWrite* 5/2 required a method to optimally convert printer units to internal processing units.
Optimize Horizontal Accuracy When Processing Typographic
typographic fonts with varying horizontal
index units, DisplayWrite* 5/2 required a method to optimally convert
printer units to internal processing units.
A word processor, such as DisplayWrite 5/2,
must understand the
escapement value for each character and symbol in a font to correctly
determine how many characters and symbols fit between a left and
right margin. An escapement value defines how much horizontal space
a character or symbol requires.
In order to
support typographic proportional fonts, DW5/2
introduced the concept of a Font Width Table (FWT) which contains the
character and symbols escapements in printer units for each printer
A problem arises due to DisplayWrite
horizontal units of 1/1440 inch to measure horizontal distance.
Since most OEM printer typographic fonts support horizontal units
that differ from 1/1440 inch, a conversion must be done by
DisplayWrite to accurately position the characters. However in many
cases, the units for a printer cannot be converted to whole 1440ths.
For example, the Hewlett-Packard (HP) LaserJet** Series supports
fonts with units of 1/300 inch.
In the FWT,
the character and symbol escapements must be stored
in printer units to preserve accuracy. In order to solve the
problem, a conversion ratio was added to each FWT that allows
DisplayWrite to convert an escapement from printer units to
DisplayWrite units. Additional processing was implemented in
DisplayWrite 5/2 to manage the truncation accumulation in a line so
that each line ending is horizontally accurate to within 0.99/1440
inch. This implementation handles truncation and accumulation when
processing characters, symbols, tabs, and backspaces.
illustrate implementation on the HP LaserJet Series
- The conversion ratio in the FWT is defined to be: (DW internal
units) / (output device units) For the HP LaserJet, the conversion
ratio is 1440/300 = 24/5.
- The character and symbol escapements are stored in printer
units. For example, a character which is defined as 7 printer units
on a HP LaserJet printer would have an escapement of 7 defined in the
5/2 PROCESSING FOR TRUNCATION ACCUMULATION:
For each pass made to print a line, the accumulated escapement
remainder is initialized to 0. The steps listed below are repeated
until a single pass is completed for a printed line. In order to