[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Q : Is the rendering symmetric ?
From: |
Shyjan Mahamud |
Subject: |
Q : Is the rendering symmetric ? |
Date: |
Wed, 15 Mar 2000 08:28:03 -0500 |
Hi!
I have the following proposal for rendering some of the difficult
mathematical operators that need to stretch. Examples are all kinds of
enclosing braces that need to stretch to fit the the expression that
it encloses, and also operators like sum, integral.
For some of them like braces one can
actually do pretty well by gluing parts together, this is how it's done
in TeX. For others like sum, integral, angle brackets and others one
simply cannot build by parts since there are significant non-vertical
or horizontal sections in these chars. Note that simply scaling
(even using different scalings along the horizontal and vertical will
not produce good results in most cases).
The solution I propose is to use interpolation. Say for each of these
chars, the font designer provides two outlines at two different sizes
(small and large) with the same number of corresponding control
points. A char at any other size is produced by simply interpolating (linearly)
the corresponding points and rasterizing the outline. It is very
reasonable to assume that the outline that the font designer would
have intended for this size should be a linear interpolation of the
two extreme outlines.
The question I have for you folks is regarding operators that come in
pairs like enclosing fences {}, [], (). The left and right chars in
each pair are mirror reflections of the other. Let us assume that a
font designer who has been careful enough so that for both the "small"
and "large" versions, he has constructed the outlines
for these pairs in such a way that the stroke thicknesses for any
given section of a char is the same as the corresponding thickness in
the mirror reflection. Put another way, rendering the pairs at both
the small and large sizes will produce pairs with an even thickness.
It is clear that ideally linear interpolation of these pairs to any other size
will also preserve the even thickness for both chars.
The question is are there any artifacts (due to quantization or some
such stuff) in the Freetype implementation that I should be aware of
due to which an interpolated pair will not render with an
even thickness. If so, is this not a desirable feature for Freetype to
have ? If there is a problem, can it be fixed easily ?
Basically, the question amounts to whether the rendering algorithm
will produce identical horizontal and vertical thicknesses if the
glyph outline has been mirror reflected horizontally or vertically.
thanx for any comments in advance
- shyjan
- Q : Is the rendering symmetric ?,
Shyjan Mahamud <=