Closed Bug 429019 Opened 16 years ago Closed 13 years ago

symbol font quirk not present on Mac at all

Categories

(Core :: Graphics, defect)

All
macOS
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: dbaron, Unassigned)

Details

(Keywords: regression)

The expected behavior for the symbol font quirk is that these three tests:

layout/reftests/bugs/399696-standards-css.html
layout/reftests/bugs/399696-standards-html.html
layout/reftests/bugs/399696-quirks-css.html

should say "PASS" while this test:

layout/reftests/bugs/399696-quirks-html.html

should say "ΠΑΣΣ".  This is what Firefox 2 on Windows did.  (Firefox 2 on Mac said "ΠΑΣΣ" for all four.)

However, Firefox 3 on Mac says "PASS" for all four; it's supposed to be quirky for the fourth test.
Keywords: regression
David, I think you need to be more explicit regarding the behavior you expect here.  The Symbol font in particular is platform-dependent, the Mac OS X version of the Symbol font uses a normal Unicode-based cmap, it doesn't use a symbol-format cmap.  I think what you're really arguing is that in quirks-mode, fonts with symbol-format cmap's should do the Windows-style cmap swizzle, remaping the first 225 PUA codepoints to 0x20 and above.  This would duplicate the behavior that GDI gives you for these types of fonts.

Not sure I like it but I think that's a better description of what you're proposing.  Same goes for the Linux version of this, bug 429022.
Note: reftests here are not checked in, they are attached to 399636.
The Linux bug is about something totally different.

I'm not sure how Firefox 2 on Mac did it, but Web pages do depend on it, even though it's not cross-platform.  I have mixed feelings about supporting it -- but this is a regression since Firefox 2 so I think we should at least make a conscious decision about breaking it.  Given that Safari doesn't do it, though, I'm not sure we really need to.
(In reply to comment #3)

> I'm not sure how Firefox 2 on Mac did it

Firefox < 2 on Mac didn't have the quirk, but it was introduced (accidentally, it seems, presumably in late May 2006) before Firefox 2.  See the discussion in bug 346097, which is unfortunately confusing now due to our lack of citation of Gecko versions then.  Gecko 1.8.1 seems like the "regression" in that sense of things.
Comparison of reftests with Safari:

399636-quirks-css
FF2/Mac: ΠΑΣΣ
FF3/Mac: PASS
Safari3: <Webdings glyphs>

399636-quirks-html
FF2/Mac: ΠΑΣΣ
FF3/Mac: PASS
Safari3: <Webdings glyphs>

399636-quirks-ref
FF2/Mac: PASS
FF3/Mac: PASS
Safari3: PASS

399636-standards-css
FF2/Mac: ΠΑΣΣ
FF3/Mac: PASS
Safari3: <Webdings glyphs>

399636-standards-html
FF2/Mac: ΠΑΣΣ
FF3/Mac: PASS
Safari3: <Webdings glyphs>

399636-standards-ref
FF2/Mac: PASS
FF3/Mac: PASS
Safari3: PASS

Safari is probably using the MacRoman encoding cmap table when a Unicode table is not available.  FF2 appears to favor the MacRoman cmap over the Unicode cmap, probably because of use of old-style Quickdraw drawing calls.  FF3 only considers format-4 or format-12 cmap tables, it completely ignores the MacRoman tables.  

For consistent rendering across platforms, I think we need to ignore platform-specific encoding schemes like MacRoman, otherwise content will render differently from one platform to the next.

Symbol cmaps:

<cmapSubtable encodingID="0"
format="4"
platformID = "0" platformName="Unicode" scriptID="3">
[codepoints: various Unicode codepoints, a few PUA codepoints (e.g. F8FF = Apple logo)]

<cmapSubtable encodingID="1"
format="0"
platformID = "1" platformName="Macintosh" scriptID="0" scriptName="Roman">
[codepoints: 00 - FF]

Webdings cmaps:

<cmapSubtable encodingID="0"
format="0"
platformID = "1" platformName="Macintosh" scriptID="0" scriptName="Roman">
[codepoints: 00 - FF]

<cmapSubtable encodingID="1"
format="4"
platformID = "3" platformName="Microsoft" scriptID="0" scriptName="Symbol">
[codepoints: F020 - F0FF]

should be WONTFIX now (bug 636040)
As per comment 6 I believe this should indeed be WONTFIX.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.