Closed Bug 12461 Opened 26 years ago Closed 25 years ago

larger doesn't work when font-size <= 10px

Categories

(Core :: CSS Parsing and Computation, defect, P1)

defect

Tracking

()

VERIFIED FIXED

People

(Reporter: dbaron, Assigned: pierre)

References

()

Details

(Keywords: css1, fonts, testcase, Whiteboard: fix described in bug)

Attachments

(2 files)

DESCRIPTION: The larger keyword for the CSS1 font-size property doesn't work when the parent element's font size is less than or equal to 10px. This includes the keyword xx-small. STEPS TO REPRODUCE: Load attached test case. ACTUAL RESULTS: The font only gets bigger on the second and fifth lines. The 1st, 3d, and 4th lines have the same font size throughout. EXPECTED RESULTS: On every line, each word should be bigger than the one before it. DOES NOT WORK CORRECTLY ON: * Linux, viewer, 1999-08-24-08-M10 * Windows 95, apprunner, 1999-08-24-09-M10 WORKS CORRECTLY ON: * Windows IE 4.0
Whiteboard: [TESTCASE]
The threshhold seems to vary slightly by platform, actually. The 11px case (5th line) doesn't work in Windows, but it does in Linux. Probably 12px or 13px would work... since x-small does.
Assignee: troy → peterl
Component: Layout → Style System
I think this must be a style system. Layout just uses the info we get from the style system
Pushing off non-beta 1 issues
QA Contact: petersen → chrisd
Reassigning peterl's bugs to myself.
Accepting peterl's bugs that have a Target Milestone
The problem looks like it is for fonts of 9pt and below not 10px and below. That would account for the system differences, different px=>pt conversions. With default values (12pt Times) the cut off in the html table code comes out at 9.24pt or 184.8 twips. Look at http://lxr.mozilla.org/seamonkey/source/layout/html/style/src/nsStyleUtil.cpp#1 57 you seek slowly downward till you find a returned font size that is smaller than the current one then go back up one step. Bing! always the same size for fonts smaller than 9.24pt. Change the greaterthan to a equals test and you fix this bug, I think. Hope it helps.
*sigh* it is line 157 Also, you should use >= rather than == just in case the math gets "jumpy" and skips a value. There is a pow() in there and index is it's exponent. As index gets higher/lower it will REALLY swing that value. for outlandish text sizes it might get buggy with ==.
Verified Fix under linux against m11 codebase
Whiteboard: [TESTCASE] → [TESTCASE] fix described in bug
Pushing my M15 bugs to M16
Keywords: css1
Migrating from {css1} to css1 keyword. The {css1}, {css2}, {css3} and {css-moz} radars should now be considered deprecated in favour of keywords. I am *really* sorry about the spam...
Bulk moving [testcase] code to new testcase keyword. Sorry for the spam!
Keywords: testcase
Priority: P3 → P1
Summary: {css1}larger doesn't work when font-size <= 10px → {font}{css1}larger doesn't work when font-size <= 10px
Target Milestone: M16 → M14
Summary: {font}{css1}larger doesn't work when font-size <= 10px → {font}larger doesn't work when font-size <= 10px
Pierre, you might wish to have a look at this while you do all the other font stuff, especially since there is a fix described in the bug.
Summary: {font}larger doesn't work when font-size <= 10px → larger doesn't work when font-size <= 10px {font}
Keywords: fonts
Summary: larger doesn't work when font-size <= 10px {font} → larger doesn't work when font-size <= 10px
Moving crufty m14-m15 bugs out to m16 for proper triage.
Target Milestone: M14 → M16
The algorithm has changed a while back. Larger/smaller acts on the HTML sizes which are constrained to [0 - 7] but within that range, they do work for any size. This behavior is identical to IE's. Marked M18. A solution would be to fall back to the old algorithm when the font size is out of range, even if we are in strict mode.
Target Milestone: M16 → M18
Target Milestone: M18 → Future
This bug has been marked "future" because the original netscape engineer working on this is over-burdened. If you feel this is an error, that you or another known resource will be working on this bug, or if it blocks your work in some way -- please attach your concern to the bug for reconsideration.
Um, so what needs to be done here? I'm going to attach a patch that does a bit of code cleanup. Justification for loss of future: css1 relnote2: if we don't fully support css we need to say so. nsbeta3: css1
Assignee: pierre → nobody
Status: ASSIGNED → NEW
Keywords: nsbeta3, patch, relnote2
Whiteboard: [TESTCASE] fix described in bug → fix described in bug
Target Milestone: Future → ---
Marc, Pierre: could one of you also review Josh's patch and (if it passes muster with you guys) help get it checked in, a=brendan@mozilla.org? Thanks. /be
This bug is not nsbeta2+ and should not be checked in. We are trying to minimize changes and increase stability, not fix every small bug. Also, reassigning back to Pierre: why was it remvoed from his queue and sent to 'nobody' in the first place?
Assignee: nobody → pierre
Netscape employees should not be fixing bugs that are not nsbeta2+ . That restriction does not apply to others. See the top of tinderbox.
phil@netscape.com has stated this too, most recently in mozilla.seamonkey: you're a mozilla.org module owner (you happen to work for netscape.com). Part of your job as module owner is to take good patches when they're ready to go into the trunk (even if they're "too risky" for your employers' product). Yes, module owners may have to serve two masters; life's rough. staff@mozilla.org will have to take steps if an owner freezes out good patches for too long (where good patches are defined by the owner and peers in the entire community, based on code review and technical merits). In this case, I don't think anyone has argued that this patch is "too risky", just that "we're trying to stabilize." Notwithstanding that stability effort, could we not get this patch checked in? If not, can we have some specific risk analysis for why not? /be
The patch does not look risky. It is very localized. I have applied the patch and the testcase looks great. Thanks for the patch, timeless! Would you like me to check it in, or do you have checkin privs?
I do not have cvs privs, i should get them soon, but i haven't gotten around to doing the paperwork. Please commit, thank you.
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Patch checked in, thanks again timeless!
With the following builds: Win: 7_18_20 Mac: 7_19_12 Linux: 7_20_09 Using the testcase provided, verifying bug fixed.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: