|
This technical note describes why text doesn't always look the way you expect
depending on the environment you are in.
[Mar 01 1988]
|
Introduction
There are a number of Macintosh text editing applications where layout is
critical. Unfortunately, text on a newer machine sometimes prints differently
than text on a 64K ROM Macintosh. Let's examine some differences you should
expect and why.
The differences we will consider here are only differences in the layout of
text lines (line layout), not differences in the appearance of fonts or the
differences between different printers. Differences in line layout may affect
the position of line, paragraph and page breaks. The four variables that can
affect line layout are fonts, the printer driver, the font manager mode, and
ROMs.
Back to top
Fonts
Every font on a Macintosh contains its own table of widths which tells
QuickDraw how wide characters are on the screen. For every style point size
there is a separate table which may contain widths that vary from face to face
and from point size to point size. Character widths can vary between point
sizes of characters even in the same face. In other words, fonts on the screen
are not necessarily linearly scalable.
Non-linearity is not normally a problem since most fonts are designed to be as
close to linear as possible. A font face in 6 point has very nearly the same
scaled widths of the same font face in 24 point (plus or minus round-off or
truncation differences). QuickDraw, however, requires only one face of any
particular font to be in the System file to use it in any point size. If only a
10 point face actually exists, QuickDraw may scale that face to 9, 18, 24 (or
whatever point size) by performing a linear scale of the 10 point face.
This can cause problems. Suppose a document is created on one Macintosh
containing a font that only exists in that System file in one point size, say 9
point. The document is then taken to another Macintosh with a System file
containing that same font but only in 24 point. The document may, in fact,
appear differently on the two screens, and when it is printed, will have line
breaks (and thus paragraph and page breaks) occurring in different places
simply because of the differences in character widths that exist between the 9
point and 24 point faces.
Back to top
The Printer Driver
Even when the printer you are using has a much higher resolution than what the
screen can show, printer drivers perform line layout to match the screen layout
as closely as possible.
The line layout performed by printer drivers is limited to single lines of text
and does not change line break positions within multiple lines. The driver
supplies metric information to the application about the page size and
printable area to allow the application to determine the best place to make
line and page breaks.
Printer driver line layout does affect word spacing, character spacing and even
word positioning within a line. This may affect the overall appearance of text,
particularly when font substitutions are made or various forms of page or text
scaling are involved. But print drivers NEVER change line, paragraph or page
break positions from what the application or screen specified. This means that
where line breaks appear on the screen, they will always appear in the same
place on the printer regardless of how the line layout may affect the
appearance within the line.
Back to top
Operating System and ROMs
In this context, operating system refers to the ROM trap routines which handle
fonts and QuickDraw. Changes have occurred between the ROMs in the handling of
fonts. Fonts in the 64K ROMs contain width tables (as described above) which
are limited to integer values. Several new tables, however, have been added to
fonts for the newer ROMs. The newer ROMs add an optional global width table
containing fractional or fixed point decimal values. In addition, there is
another optional table containing fractional values which can be scaled for the
entire range of point sizes for any one face. There is also an optional table
which provides for the addition (or removal) of width to a font when its style
is changed to another value such as bold, outline or condensed. It is also
possible, under the 128K ROMs, to add fonts to the system with inherent style
properties containing their own width tables that produce different character
widths from derived style widths.
One or all of the above tables may or may not be invoked depending on, first,
their presence, and second, the mode of the operating system. The Font Manager
in the newer ROMs allows the application to arbitrarily operate in either the
fractional mode or integer mode (determined, in most cases, by the setting of
FractEnable ) as it chooses, with the default being integer. There is
one case where fractional widths will be used if they exist even though
fractional mode is disabled. When FScaleDisable is used fractional
widths are always used if they exist regardless of the setting of
FractEnable .
Differences in line layout (and thus line breaks) may be affected by any
combination of the presence or absence of the optional tables, and the
operating mode, either fractional or integer, of the application. Any of the
combinations can produce different results from the original ROMs (and from
each other).
The integer mode on the newer ROMs is very similar to, but not exactly the same
as, the original 64K ROMs. When fonts with the optional tables present are used
on Macintoshes with 64K ROMs, they continue to work in the old way with the
integer widths. However, on newer ROMs, even in the integer mode, there may be
variations in line width from what is seen on the old ROMs. In the plain text
style there is very little if any difference (except if the global width table
is present), but as various type styles are selected, line widths may vary more
between ROMs.
Variations in the above options, by far, account for the greatest variation in
the appearance of lines when a document is transported between one Macintosh
and another. Line breaks may change position when documents created on one
system (say a Macintosh) are moved to another system (like a Macintosh Plus).
Variations are more pronounced as the number and sizes of various type styles
increase within a document.
In all cases, however, a printer driver will produce exactly the same line
breaks as appear on the screen with any given system combination.
Back to top
References
The Printing Manager
The Font Manager
M.PR.LaserWriterOpt
Back to top
Downloadables
|
Acrobat version of this Note (44K).
|
Download
|
|