Closed Bug 532349 Opened 13 years ago Closed 13 years ago

[10.6] Unable to specific Heiti TC as font in any way (config or CSS)

Categories

(Core :: Layout: Text and Fonts, defect)

All
macOS
defect
Not set
major

Tracking

()

RESOLVED FIXED
Tracking Status
blocking2.0 --- alpha1+
status1.9.2 --- final-fixed

People

(Reporter: timdream, Assigned: jfkthame)

Details

Attachments

(7 files, 3 obsolete files)

See attachments of Bug #532346: attachment 415587 [details] and attachment 415589 [details]

Reproducible: Always

Steps:
* Set Heiti TC as default zh-TW font in preference plane (effectively changing font.name.*.zh-TW), or 
* Simply put "Heiti TC" in CSS font-family property of any HTML tag.

Result:
Firefox failed to show paragraphs in Heiti TC (The new zh-TW font shipped with 10.6) whatever font-family was written.

Expected Result:
Firefox should render text in Heiti TC.

Tim
Summary: Unable to specific Heiti TC as font in anyway → Unable to specific Heiti TC as font in any way (config or CSS)
Note: in attachment 415589 [details] the paragraph suppose to show Heiti TC is rendered in LiGothic, which is rendered incorrect as reported bug 532346.
Attached image Firefox 3.5.5 Mac OS X 10.6.png (obsolete) —
Attachment #415605 - Attachment description: Heiti TC test → Firefox 3.5.5 Mac OS X 10.6.png
Attached image Firefox 3.6b4 OS X 10.6 (obsolete) —
Attached image Safari 4.0.4 Mac OS X 10.6 (obsolete) —
Attachment #415605 - Attachment is obsolete: true
Attached image Firefox 3.6b4 OS X 10.6
Attachment #415606 - Attachment is obsolete: true
Attachment #415607 - Attachment is obsolete: true
Attached image Heiti TC font detail
Attached file Test case
I'd made an another page to do more test on the issue, as attachment "Test case" or http://hd.sto.tw/fxfont-HeitiTC.html

I put all reasonable name of "Heiti TC" in CSS font-family, none of them work on Fx 3.5.5 and 3.6b4. 
(You can look "Heiti TC font detail" and html code in "test case")

I also tried Safari 4.0.4 on the test case, as "Safari 4.0.4 Mac OS X 10.6" shows, PostScript name and Family name work proper for the test case.

Irvin
(In reply to comment #10)
> I'd made an another page to do more test on the issue, as attachment "Test
> case" or http://hd.sto.tw/fxfont-HeitiTC.html
Irvin, could you post a screenshot in Safari to see which ones of them are (legit) fonts names supported by it?
See attachment: Safari 4.0.4 Mac OS X 10.6   (150.57 KB, image/png) 
https://bugzilla.mozilla.org/attachment.cgi?id=415610
We should be matching the family name.  Not matching the Postscript name is intentional, that's non-standard Safari-only behavior.  I'll check this out when I get into the office this morning.
The problem is that these fonts (Heiti TC and SC, and possibly others Apple is now shipping - I didn't check them all) are using a new encoding ID value in their platform 0, format 12 (supplementary-plane) cmap subtables, and our cmap-reading code doesn't recognize and accept it. Therefore, although we have the font in our font list, we conclude that it doesn't support any of the characters, and fall back to something else.

The attached patch accepts encoding ID 0 ("default Unicode semantics"), and any encoding ID >= 3, on the basis that 3 is documented as "Unicode 2.0 or later"; Apple is now using ID 4, presumably for Unicode 5, and it seems likely that any future increment would correspond to a further upwardly-compatible Unicode revision.
Assignee: nobody → jfkthame
Attachment #415893 - Flags: review?(jdaggett)
This screenshot shows that with the cmap encoding ID patch, the Heiti TC font works as expected when specified by either English or Chinese family names.
Comment on attachment 415893 [details] [diff] [review]
accept new encoding ID for supplementary-plane cmap table

Looks good.  I think we need to also land this on 1.9.2 and 1.9.1.x.
Attachment #415893 - Flags: review?(jdaggett) → review+
Summary: Unable to specific Heiti TC as font in any way (config or CSS) → [10.6] Unable to specific Heiti TC as font in any way (config or CSS)
Comment on attachment 415893 [details] [diff] [review]
accept new encoding ID for supplementary-plane cmap table

Requesting approval for 1.9.2. I don't feel I can justify requesting blocking, but it does seem pretty important to land this; without it, the browser can't use the new Chinese fonts Apple ships in 10.6.
Attachment #415893 - Flags: approval1.9.2?
Flags: wanted1.9.2?
Attachment #415893 - Flags: approval1.9.2? → approval1.9.2+
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Flags: wanted1.9.2? → wanted1.9.2+
Marking the 14 bugs that are both:
 * nominated for blocking1.9.3:?
 * fixed on the 1.9.2 branch (according to status1.9.2)
as blocking1.9.3:alpha1, so that we don't have to go through the nominations individually.  They're all fixed already (so there's no work to do), and being fixed on 1.9.2 means they probably do block 1.9.3.
blocking2.0: ? → alpha1
You need to log in before you can comment on or make changes to this bug.