Closed Bug 804934 Opened 12 years ago Closed 11 years ago

Apple Color Emoji characters render outside their bounds, causes invalidation issues

Categories

(Core :: Graphics: Text, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: the.decryptor, Unassigned)

References

Details

Attachments

(4 files)

Attached file Test case
The emoji glyphs render outside their specified bounds, and cause invalidation issues when they're moved or the font size changes (See attached test case, hover over/off the line of text)

The issue also seems to show itself by the glyphs rendering over each other (The "cone with streamers" renders over the present at the end of the line)
Attachment #674565 - Attachment mime type: text/plain → text/html; charset=utf-8
Attached file testcase 2
I can reproduce with Firefox Nightly on Mac OS X 10.7.  Alex's testcase leaves turds when the text expands and when it contracts.  My testcase shows incorrect caret placement and turds when deleting one of the characters.

Related to bug 805702?
Status: UNCONFIRMED → NEW
Ever confirmed: true
If this is regression caused by DLBI, please mark this bug as blocked by bug #539356
(In reply to Virtual_ManPL [:Virtual] from comment #4)
> If this is regression caused by DLBI, please mark this bug as blocked by bug
> #539356

It's not. It's purely a problem with the rendering of the Apple Color Emoji glyphs.
Here's an odd thing, comparing our rendering of the emoji glyphs to Safari's.

If we use the emoji font at small sizes, e.g., 16px, we see exactly the same issue in Safari: the color bitmap glyphs seem to "overflow" their supposed typographic bounds slightly. Compare Nightly and Safari renderings of:

data:text/html;charset=utf-8,%3Cdiv%20style=%22font-size:16px%22%3E16px:%5B%F0%9F%98%84%5D

However, at larger sizes, Safari seems to scale down the emoji glyphs somewhat, so that they fit properly within their bounds, whereas Nightly scales linearly. Compare:

data:text/html;charset=utf-8,%3Cdiv%20style=%22font-size:24px%22%3E24px:%5B%F0%9F%98%84%5D

I have no idea why we're seeing this difference in behavior, or why Safari's rendering *doesn't* scale linearly as the font size varies.
Blocks: 715798
This appears to have been fixed in OS X (I just re-tried the testcases on 10.7.5, and can no longer reproduce it). Alex, Jesse: can you still reproduce this?
Yep, they're working fine for me on 10.8.4, Apple must have fixed the font or API at some point because they're rendering perfectly now.
Resolving as WFM. This was an OS X (Core Text) bug, now fixed.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: