Closed Bug 226288 Opened 21 years ago Closed 21 years ago

freetype code uses ceiling when rounding is better

Categories

(Core Graveyard :: GFX: Gtk, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.6final

People

(Reporter: jshin1987, Assigned: jshin1987)

Details

Attachments

(1 file)

spun off from bug 222920.

dbaron found that freetype library itself uses rounding whenever it wants to
convert 'design' units to pixels and fixed it in nsFontMetricsXft. We have to
fix it in nsFreetype.cpp as well. It uses ceiling in several places. 



FT_CEIL used there is defined here (I think I copied MOZ_FT_CEILING from here):

http://lxr.mozilla.org/seamonkey/source/gfx/idl/nsIFreeType2.idl#51
Attached patch a patchSplinter Review
In addition to fixing the bug, I changed the dummy functions for superscript
offset/subscript offset to do the real job by reading values from the OS/2
table.
Summary: freetype code uses ceiling when rounding is better → freetype code uses ceiling when rounding is better
Comment on attachment 136731 [details] [diff] [review]
a patch

asking for r/sr.
this is a straightforward application of what's done in Xft to FT2/PS code.
Attachment #136731 - Flags: superreview?(rbs)
Attachment #136731 - Flags: review?(dbaron)
dbaron, can you review?
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.6final
Comment on attachment 136731 [details] [diff] [review]
a patch

r=dbaron, although I think it would be cleaner if both implementations of
max_ascent and max_descent used the same macro that everything else did (which
wouldn't be hard -- just factor out the FT_MulFix call).
Attachment #136731 - Flags: review?(dbaron) → review+
Comment on attachment 136731 [details] [diff] [review]
a patch

sr=rbs, I agree with the simplification requested above.
Attachment #136731 - Flags: superreview?(rbs) → superreview+
thanks. fix checked (with the simplication suggested by dbaron) into the trunk.
I just came up with an idea to get rid of the code duplication in
nsFontFreeType.cpp and nsFontMtericsPS.cpp. I should have done it here. I'll
deal with it in another bug.
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: