Closed Bug 210823 Opened 22 years ago Closed 18 years ago

Text underlining is broken when using non-xft build on XFree86 4.3.0

Categories

(Core Graveyard :: GFX: Gtk, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: bryner, Unassigned)

Details

Attachments

(1 file)

If you run Mozilla on a system that uses XFree86 4.3.0 (e.g. RedHat 9), and don't build with xft enabled, underlines will be missing from links. The problem is that the sign of the UNDERLINE_POSITION property that X returns has changed in this release (it used to be positive, now it's negative). We need to convert the value so that we always end up with a negative number.
Attached patch patchSplinter Review
Convert the value to a signed long, then take the absolute value.
Attachment #126588 - Flags: superreview?(blizzard)
Attachment #126588 - Flags: review?(dbaron)
Asa, can you add this to the 1.4.1 candidate list? /be
Date: 06 Mar 2003 13:48:50 +0100 From: Juliusz Chroboczek <jch@pps.jussieu.fr> To: fonts@xfree86.org Cc: patch@xfree86.org, Roman Kagan <Roman.Kagan@itep.ru> Content-Type: text/plain; charset=us-ascii Subject: (patch seq: 5665) Re: [Fonts] [PATCH] restore the sign of UNDERLINE_POSITION in FreeType rasterizer RK> In FreeType font rasterizer the sign of the XLFD property RK> UNDERLINE_POSITION has changed between 4.2.1 and 4.3.0. Because of RK> this, Type1 and TrueType fonts now have UNDERLINE_POSITION negative, RK> which makes gtk1 builds of mozilla loose underlining. Yep, this is right. UNDERLINE_POSITION counts downwards, which is not stated explicitly by the XLFD, but clearly implied by the formula in 3.2.30: UNDERLINE_POSITION = ROUND(maximum_descent / 2) David, please apply and attribute to Roman Kagan. Juliusz --- xc/lib/font/FreeType/ftfuncs.c~ 2003-02-13 06:01:45.000000000 +0300 +++ xc/lib/font/FreeType/ftfuncs.c 2003-03-04 20:27:16.000000000 +0300 @@ -959,11 +959,11 @@ int underlinePosition, underlineThickness; if(post) { - underlinePosition = TRANSFORM_FUNITS_Y(post->underlinePosition); + underlinePosition = TRANSFORM_FUNITS_Y(-post->underlinePosition); underlineThickness = TRANSFORM_FUNITS_Y(post->underlineThickness); } else { underlinePosition = - TRANSFORM_FUNITS_Y(t1info->underline_position); + TRANSFORM_FUNITS_Y(-t1info->underline_position); underlineThickness = TRANSFORM_FUNITS_Y(t1info->underline_thickness); }
Juliusz says that this is a bug in 4.3.0 that was fixed in later releases. I'm not sure where to go from here.
Comment on attachment 126588 [details] [diff] [review] patch I think we should put in this workarond... I can't see how it would hurt anything.
Because we're changing the meaning of the underline element?
Comment on attachment 126588 [details] [diff] [review] patch Clearing due to unresolved questions in the bug.
Attachment #126588 - Flags: superreview?(blizzard)
Assignee: bryner → nobody
QA Contact: ian → gtk
gfx/src/gtk/ has been removed on trunk. This bug doesn't look like a branch candidate to me. -> WONTFIX
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → WONTFIX
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: