Closed Bug 130473 Opened 22 years ago Closed 16 years ago

font-size-adjust doesn't work on Linux and Mac

Categories

(Core Graveyard :: GFX, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.9alpha3

People

(Reporter: bugzilla_kl, Unassigned)

References

(Depends on 1 open bug, )

Details

(5 keywords, Whiteboard: [Hixie-P2])

Attachments

(4 files)

..just another missing CSS2-Feature
Excuse me, but where is it missing exactly?
Actually, we support font-size-adjust on most platforms.

Since you didn't give a particular platform or a particular area of Mozilla
(e.g., layout, DOM), nor a testcase, I'm marking this WORKSFORME.

Please reopen it if you can clarify what you mean by "another missing
CSS2-Feature", preferably with a testcase showing the problem.
Status: UNCONFIRMED → RESOLVED
Closed: 22 years ago
Resolution: --- → WORKSFORME
eh.. here (linux, 0.9.9) it does exactly nothing...test: http://www.richinstype.com/test/fonts/fontsizeadjust.php
Ok, that would be because it only works on Windows. (Please don't mark a bug
All/All unless you know for a fact that it is cross-platform...)

This bug shall henceforth be known as the "font-size-adjust doesn't work on
Linux" bug.

BTW, the "rich in style" tests aren't exactly the best out there. Here are some
better font-size-adjust tests, if I dare say so myself:
   http://www.hixie.ch/tests/adhoc/css/fonts/size-adjust/
Severity: normal → enhancement
Status: RESOLVED → UNCONFIRMED
Component: DOM Style → Layout
Keywords: css2, pp, testcase
OS: All → Linux
Hardware: All → PC
Resolution: WORKSFORME → ---
Summary: font-size-adjust → font-size-adjust doesn't work on Linux
Whiteboard: [Hixie-P4]
rbs: who should own this bug? What needs doing? Is it a duplicate?
Assignee: jst → rbs
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: fonts
shanjian, perhaps?

Reading the implementation I did in the Windows version while working on bug
74186 can be very instructive as to what is needed. Its supports touched several
font-related functions, but a nice side-result was more modularity in the
creation of font handles. For Linux, now that FreeType2 (and others) are being
added, the support will need to be propagated everywhere.

It is not a duplicate, I think.
Assignee: rbs → yokoyama
Component: Layout → Internationalization
QA Contact: ian → ruixu
->Linux i18n : shanjian
Assignee: yokoyama → shanjian
Keywords: intl
QA Contact: ruixu → ylong
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.2
1.2? This would mean some pages render compleatly different on 1.0/Windows and 1.0/Linux....
Kai, they already do, since typical fonts installed are different, typical
resolutions users use are different, etc.
Reconfirmed using FizzillaCFM/2002071208. Setting All/All.
OS: Linux → All
Hardware: PC → All
Do we support this on MacOS 9?
does not seem to be supported on macos X, too.

Another testcase u can look at :
http://www.meyerweb.com/eric/css/tests/css2/sec15-02-04b.htm
Summary: font-size-adjust doesn't work on Linux → font-size-adjust doesn't work on Linux and Mac
I went to URL in comment  4. In Linux 20020722 1.1b, all except 5 behave as
expected. 5 is all a bunch of overlapping mush. In contrast, with OS/2
2002082608 trunk, every test fails miserably. Both Linux and OS/2 handled the
test at URL in comment 12 just fine.
Whiteboard: [Hixie-P4] → [Hixie-P2]
In trunk builds, this works for me on Windows, Linux, and Mac (allowing for a little bit of variation on the third test -- although nowhere near as much as showed up before font-size-adjust was implemented).
Assignee: shanjian → general
Status: ASSIGNED → NEW
Component: Internationalization → GFX
QA Contact: amyy → ian
Target Milestone: mozilla1.2alpha → ---
Yes, without the relative size issue, the new gfx supports on the three platforms.
Component: GFX → Internationalization
Target Milestone: --- → mozilla1.2alpha
Component: Internationalization → GFX
Target Milestone: mozilla1.2alpha → mozilla1.9alpha3
The second "Text" on the first line in the attached testcase has a slightly
larger font size than the other four.  Firefox 20070517 on Ubuntu edgy.
I'm attaching three testcases that display some odd variations between font sizes under Linux at least.  The "correct" font-size-adjust value for Calibri appears to be around 0.472, but when set in trunk it makes the text too small; setting font-size-adjust to around 0.53 to 0.55 has about the same effect as font-size-adjust: none, but there are odd variations: with 0.53, the h1 text is right but body text is too small, while with 0.54 h1 is too big but body text is too small(!).   At 0.55 h1 is too big but body text is right.

The "correct" values are derived from this website and seem to comport with those in the CSS 2 and 3 specifications for Verdana etc.:
http://brunildo.org/test/xheight.pl?family=Calibri&size=100pt&string=xipbM%C8&famil2=DejaVu+Sans

These results are with Pango enabled; I will test without Pango enabled and see if the same problem appears.

Build ID: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9pre) Gecko/2008041610 Minefield/3.0pre
Pango is always used on trunk, no?
All three blocks of text (each div containing identical h1 and p) should be the same size.
This one uses Verdana instead of Calibri; the 1st and 2nd divs look about the same, but the third one ends up too small.  Part of the problem is that FF/Gecko may be adjusting based on the first font it actually finds rather than the first font in the list; that would at least explain the third box discrepancies observed in both tests.
Per http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x21 font-size-adjust applies to the first choice font as well.  (This helps in a number of ways -- it prevents authors from accidentally specifying the wrong value because they have the first choice font and giving users who don't have it bad result, and for other reasons described in http://lists.w3.org/Archives/Public/www-style/1999Feb/0032.html .)  So I think the testcase should actually be smaller.

I think a good way to think about font-size-adjust is that it's a backwards-compatible way to specify the font size by specifying the size of the lowercase letters instead, using a multiplier for backwards-compatibility with browsers that don't support font-size-adjust but do support font-size.  This is how I described it in http://developer.mozilla.org/en/docs/CSS:font-size-adjust .

So I think displaying the third paragraph in that testcase smaller than the others is correct.  That said, I don't think it belongs in this bug, either, since I think this bug is fixed.
It would appear that this problem is a somewhat different (but related) bug.  font-size-adjust should definitely be applied to the "base" font too, but it appears its effect is off with X11 at least.  I'll put together a reduced test case and file a new report.

On my Mac running nightly trunk builds, incidentally, the testcase behavior appears to be correct (modulo a pixel or so, probably due to .01 disagreements between the right value for f-s-a under Linux and Macintosh due to the different font renderers), suggesting it's a problem with calculating the font's x-height (or some other dimension) under X11/Pango/something - and this propagates through to substitutions for other fonts too.
New bug filed as bug 429605.
So I'm going to mark this fixed, since it was fixed by code that was added during the switch to cairo.

We should still have tests for it...
Status: NEW → RESOLVED
Closed: 22 years ago16 years ago
Resolution: --- → FIXED
Here's some work in progress for reftests.

They fail on Linux, though (or may be random) because we're rounding the x-height and the em-height to integers before doing the computation.  I'm not sure whether we do that on other platforms; it could mean that the tests would need to be marked as random across platforms.
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: