Overlapping glyph parts don't get filled

Bug #168601 reported by Kjoonlee-users
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Medium
Krzysztof Kosinski

Bug Description

When rendering a Text object with a font glyph that overlaps itself (such as the capital A and Q characters in the "Summersby" font), Inkscape will always render the self-overlapping characters with the 'evenodd' fill rule where overlapping parts do not get filled in, regardless of the text content element's fill-rule property (whose initial value is specified in the SVG standard as 'nonzero', where all parts are filled in regardless of overlap).

Only if the text object is converted to a shape using Object To Path will Inkscape correctly respect the fill-rule attribute, even though the SVG Standard lists fill-rule as applying to both shapes and text content elements.

SVG Standard: fill-rule
http://www.w3.org/TR/SVG11/painting.html#FillRuleProperty

Font: Summersby
http://packages.debian.org/summersby
http://ftp.debian.org/debian/pool/main/t/ttf-summersby/ttf-summersby_1.007.orig.tar.gz

Test case:
http://blacksun.ivyro.net/img/summersby.svg

Inkscape's rendering:
http://blacksun.ivyro.net/img/summersby.png

Importance:
This affects ttf-unfonts, the leading Free Software font in the Korean language.

Tested with:
Inkscape 0.48.0 and 0.48+devel r9906 on OS X 10.5.8
Inkscape 0.47 on Mac OS X 10.5.8
Inkscape 0.47pre4 on Windows 7, AMD64
Inkscape 0.45.1 on Windows XP, i386
Inkscape 0.44 on Knoppix 5.1 DVD, AMD64

Tags: fonts svg
Revision history for this message
Kjoonlee-users (kjoonlee-users) wrote :
Ryan Lerch (ryanlerch)
Changed in inkscape:
importance: Undecided → Low
status: New → Confirmed
Revision history for this message
Kyungjoon Lee (kjoonlee) wrote :

Could the importance be changed from low?

This affects ttf-unfonts, the leading Free Software font in the Korean language.

Revision history for this message
nightrow (jb-benoit) wrote :

This bug seems old, bumping up the importance to get some dev attention.

Changed in inkscape:
importance: Low → Medium
Revision history for this message
Luca Bruno (lucab) wrote :

Can you confirm if it happens even with 0.46?

Revision history for this message
Kyungjoon Lee (kjoonlee) wrote :

Yes, happens with 0.45 for Debian and 0.46 for Windows.

Revision history for this message
Kyungjoon Lee (kjoonlee) wrote :

Bump. I read somewhere that glyph components should receive nonzero filling.

Revision history for this message
su_v (suv-lp) wrote :

See duplicate bug #595355 for more recent examples; bug still present in Inkscape 0.48.0 and current trunk (0.48+devel r9906).

Revision history for this message
Stuart P. Bentley (stuart) wrote :

bug #595355 also describes the full justification from standards (http://www.w3.org/TR/SVG11/painting.html#FillRuleProperty): in short, the fill-rule property applies to text content elements, and the initial value for fill-rule is non-zero.

While an across-the-board change to non-zero would be closer to correct than the current behavior, the standard-compliant fix would be to respect the fill-rule property when rendering a text content element, using even-odd if that value is set and non-zero otherwise.

tags: added: svg
Revision history for this message
Stuart P. Bentley (stuart) wrote :
description: updated
description: updated
su_v (suv-lp)
description: updated
su_v (suv-lp)
Changed in inkscape:
status: Confirmed → Triaged
Revision history for this message
su_v (suv-lp) wrote :

No longer reproduced with current trunk (tested with 0.48+devel r10795 and latest r13144 on OS X 10.7.5): fill-rule applied to text objects is now respected; if fill rule is not specified explicitly, the text renders with fill rule 'nonzero'.

Changed in inkscape:
milestone: none → 0.91
status: Triaged → Fix Committed
Revision history for this message
su_v (suv-lp) wrote :

Fixed with the merge of the cairo-rendering branch in r10326.
(reproduced with r10325, not reproduced with r10326)

Changed in inkscape:
assignee: nobody → Krzysztof Kosinski (tweenk)
Bryce Harrington (bryce)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.