Closed Bug 769475 Opened 12 years ago Closed 12 years ago

incorrect font used for italicized Arabic text when font-family is Arial or Times New Roman

Categories

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

x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla17
Tracking Status
firefox16 --- fixed

People

(Reporter: jfkthame, Assigned: jfkthame)

References

Details

(Keywords: regression)

Attachments

(2 files, 1 obsolete file)

The optimization of gfxFontGroup::FindFontForChar in bug 764005 regressed the behavior of italicized Arabic text in font families such as Times New Roman and Arial on Windows, where the regular face includes Arabic characters but the italic face does not.

This was previously fixed in bug 668813, but the optimization in 764005 bypassed that fix in the case where the "problem" family is the first in the font-group's list.

An example that shows the problem is attachment 594315 [details] (from bug 668813); on Windows, this should render using Arial with synthetic italicization (oblique), but in current Nightly it falls back to a different font such as Microsoft Uighur.

The patch here fixes the problem, while still allowing the vast majority of calls to take the optimized early-return path.
Attachment #637700 - Flags: review?(smontagu)
Keywords: regression
Here's a better version of the patch, factoring out a TryOtherFamilyMembers helper method.
Attachment #637700 - Attachment is obsolete: true
Attachment #637700 - Flags: review?(smontagu)
Attachment #638699 - Flags: review?
Attached patch reftestSplinter Review
And a reftest (for OS X and Windows) to go with it.
Attachment #638700 - Flags: review?
Comment on attachment 638699 [details] [diff] [review]
patch v2, don't forget to check other styles of the first font in the group

Review of attachment 638699 [details] [diff] [review]:
-----------------------------------------------------------------

Thanks to bletch on IRC for drawing this to my attention
Attachment #638699 - Flags: review? → review+
Attachment #638700 - Flags: review? → review+
Oops, it looks like I failed to attach a name to the r? request - sorry! Thanks for picking this up.

https://hg.mozilla.org/integration/mozilla-inbound/rev/9be67e1a7b4f
https://hg.mozilla.org/integration/mozilla-inbound/rev/07cd3d70434c
Target Milestone: --- → mozilla17
Sorry, had to back out for failures in arial-arabic.html on Windows:
https://tbpl.mozilla.org/?tree=Mozilla-Inbound&rev=07cd3d70434c

https://hg.mozilla.org/integration/mozilla-inbound/rev/9d8425b8e1cd
Target Milestone: mozilla17 → ---
Sigh - looks like a single-pixel line height discrepancy, for some reason - probably something about how we round metrics (there's an open bug on that, iirc).

I've added an explicit line-height to the test/reference, and pushed to tryserver to see if that makes it happy. https://tbpl.mozilla.org/?tree=Try&rev=dd2dba88c9fb
...and that tryserver job burned on windows, apparently due to bug 776503.

I've re-pushed a try job based on a slightly earlier inbound changeset, in hopes that might avoid the build issue and let us confirm that the new test passes. https://tbpl.mozilla.org/?tree=Try&rev=fcda56bb2f1c
Re-landed the patch (unchanged) and test (fixed).
https://hg.mozilla.org/integration/mozilla-inbound/rev/1f86dfdcae06
https://hg.mozilla.org/integration/mozilla-inbound/rev/9c8987e78bad

According to https://tbpl.mozilla.org/?tree=Try&rev=ccf74222523c, this version passes on Windows (using an explicit line height in the test, to avoid issues with rounding metrics from the font).
Target Milestone: --- → mozilla17
Comment on attachment 638699 [details] [diff] [review]
patch v2, don't forget to check other styles of the first font in the group

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 764005

User impact if declined: incorrect font selection for italic-styled Arabic text when font family is Arial or Times New Roman - we fall back to a different font family

Testing completed (on m-c, etc.): patch has been in Nightly for several weeks; also has a reftest

Risk to taking this patch (and alternatives if risky): minimal risk - just reinstates the fix from bug 668813 that was improperly bypassed by one of the optimized codepaths in 764005

String or UUID changes made by this patch: none
Attachment #638699 - Flags: approval-mozilla-aurora?
Attachment #638699 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: