Hi Ferenc,

"Fractional metrics" is sometimes called "Printermatching" on other
platforms.  It refers to the fact that characters in a font are
spaced at predetermined distances from each other which do not
necessarily map to an even number of pixels at various sizes of
the font.

The text display system can either choose to round these "advance widths"
to an integer so that the text will have consistent spacing, or it can
accumulate the positions of the characters using the unrounded, or
fractional, values.

If it uses the fractional values then the sequence "wi" may not have
consistent spacing between the "w" and the "i" at different points
along the line.  That variation in spacing creates visual noise which
is disruptive to the reading process and so is not preferred as the
default on the screen.

If it uses the rounded values then the inter-character spacings are
much more uniform, but each character's rounded spacing introduces
some error and over a long string that error accumulates with each
character displayed in succession.  That error is also dependent on
the resolution at which the text is being displayed such that the
relative lengths of strings will vary as you change the zoom factor
or the resolution of the output device.  As a result, such rounded
widths are considered "not matched to the final printed output" or
"not Printermatched".  They also complicate layout if you want to
view the same text at different sizes or magnifications - you have
to customize the layout for each zoom level or expect the strings
to start overrunning or underrunning their static positioning.

The simplest way to look at it is that "Fractional metrics" improve
WYSIWYG on the printer at the expense of legibility on 72DPI-ish
screens.

                                ...jim

=====================================================================
To subscribe/unsubscribe, send mail to [EMAIL PROTECTED]
Java 2D Home Page: http://java.sun.com/products/java-media/2D/

Reply via email to