[Webkit-unassigned] [Bug 127324] REGRESSION (r160259?): text-combine glyphs are not rendered

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Feb 18 22:03:49 PST 2014


https://bugs.webkit.org/show_bug.cgi?id=127324





--- Comment #12 from Yuki Sekiguchi <yuki.sekiguchi at access-company.com>  2014-02-18 22:00:57 PST ---
(In reply to comment #10)
> Hi Koivisto,
> 
> Thank you for reviewing.
> 
> (In reply to comment #9)
> > (From update of attachment 224467 [details] [details])
> > View in context: https://bugs.webkit.org/attachment.cgi?id=224467&action=review
> > > Source/WebCore/rendering/svg/RenderSVGInlineText.h:55
> > > +    virtual void setTextInternal(const String&, bool replace = false) override;
> > 
> > It would be better to add an explicit API, RenderText::overrideOriginalTextForTextCombine or similar instead of adding a confusing new parameter. (Also I don't fully understand why RenderCombineText needs this special behavior.)
> 
> r77153 says "If a new font found, we replace the text with 0xFFFC. This is needed for a combined text block to be able to behave like a single character against text decorations."
> However, I don't think this replacement is not needed in the current code.
> I'm creating removing replacement patch. This also fix odd line break in red border block in fast/text/international/text-combine-image-test.html. I'm investigating why this bug is fixed.
> 
> After the investigation is finished, I'll upload a patch and ask review. If you think this method is wrong, please correct me.

I noticed that line breaking needed this replacement. If we don't replace the original text, line breaking uses the original text to break lines, and it calculates wrong width for text-combine.
Added overrideOriginalTextForTextCombine() and used it instead of setTextInternal().

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list