"ASSERTION: Cannot draw partial ligatures without a dirty rect" with astral han in svg:text

RESOLVED FIXED

Status

()

defect
RESOLVED FIXED
9 years ago
9 years ago

People

(Reporter: jruderman, Unassigned)

Tracking

(Blocks 1 bug, {assertion, testcase})

Trunk
x86
macOS
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

Reporter

Description

9 years ago
Posted image testcase
###!!! ASSERTION: Cannot draw partial ligatures without a dirty rect: 'Error', file gfx/thebes/gfxFont.cpp, line 3129
Sounds like the SVG text-drawing code is iterating over the text in 16-bit code units, without checking for surrogate pairs.

(Actually, for better results it should probably iterate by default grapheme clusters rather than by characters, so that e.g. diacritics stay properly associated with their base letters. Hmm.... yes, note the comment "should make this iterate clusters instead" at http://mxr.mozilla.org/mozilla-central/source/layout/svg/base/src/nsSVGGlyphFrame.cpp#87.)
Depends on: 621918
The testcase doesn't assert in trunk (it also doesn't display anything, but that seems to be because the text is outside the viewport).

Fixed by bug 621918.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
This is a nice showcase for Jonathan's and my recent SVG fixes.
You need to log in before you can comment on or make changes to this bug.