Browse Prior Art Database

Optimize Scalable Typographic Proportional Font Processing

IP.com Disclosure Number: IPCOM000122411D
Original Publication Date: 1991-Dec-01
Included in the Prior Art Database: 2005-Apr-04
Document File: 2 page(s) / 99K

Publishing Venue

IBM

Related People

Carter, KE: AUTHOR [+2]

Abstract

To support typographic fonts with scalable characteristics, DisplayWrite* 5/2 (DW5/2) required a method to optimally process outline fonts defined today (e.g., Postscript**) and outline fonts to be defined in the future.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Optimize Scalable Typographic Proportional Font Processing

      To support typographic fonts with scalable
characteristics, DisplayWrite* 5/2 (DW5/2) required a method to
optimally process outline fonts defined today (e.g., Postscript**)
and outline fonts to be defined in the future.

      In order to support typographic proportional fonts, DW5/2
introduced the concept of a Font Width Table (FWT) which contains the
character and symbol escapements in printer units for the font.  Each
FWT contains the escapements for one point size, so a FWT would need
to be defined for each point size which would be supported for a
given font.  This implementation is necessary for non-scalable fonts,
since there is not a scaling algorithm which determines the relation
between different point sizes of the same font.

      With the advent of scalable fonts (e.g., PostScript), a problem
arises with the one FWT per point size implementation.  Since the
fonts are scalable, the printer or PC can scale the escapements of
the characters and symbols in the font accordingly.  This means that
an application such as DisplayWrite must also use the same
escapements for each point size or the document will not print
correctly.  Although the current FWT implementation will work -
supporting a unique FWT for each point size is not feasible.  For
example, a PostScript font might support 720 point sizes, hence
requiring 720 FWTs.

      The FWT was defined to contain a flag which indicates if a font
is scalable, and if so, another flag to indicate if the font is
PostScript.  If the font is PostScript, the FWT contains the base
escapements and units for the font as defined by PostScript.  The
PostScript flag informs DisplayWrite to scale the base escapements
according to an algorithm defined for all PostScript printers.  The
calculation is performed in printer units and then converted to
DisplayWrite units, using the conversion units in the FWT, for
optimum accuracy.  Since the original DisplayWrite implementation for
typographic fonts manages the truncation error in a line of text,
each PostScript line ending accurate to within 0.99/1440 inch.

      If a font is scalable, but not PostScript, the FWT similarly
contains the base escapements and units for the font as defined by
the printer manufacturer.  In addition, the FWT also contains the
equation which can be used to...