Closed Bug 649072 Opened 9 years ago Closed 6 years ago
Visual artifacts left behind with SVG Text & animate
Transform, with certain fonts
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:2.0) Gecko/20100101 Firefox/4.0 Build Identifier: Mozilla/5.0 (X11; Linux i686; rv:2.0) Gecko/20100101 Firefox/4.0 A translated, mirrored and scaled stroked text 's' is scaled and mirrored from the right to the left within 10s with repetition. The letter is distorted in Gecko 2 (not related to the intended transformations). The distortion depends strongly on font-size and the transformations applied to the letter. Reproducible: Always Steps to Reproduce: 1. Try the example given at the URI above 2. Compare with source code 3. Compare with behaviour of other viewers like Opera, Squiggle, Adobe plugin Actual Results: Distorted stroke of 's'. Additionally some of the distortions remain as rendering residuals. Expected Results: The stroke should be only transformed due to the transformations provided in the document, no extra distortions.
Can you post a screenshot or video showing the distortion, or explain a little more what the distortion is? At first glance, my mozilla-central nightly & Firefox 4.0 both seem to match Opera. (Maybe it's something very subtle that I'm missing?) Mozilla/5.0 (X11; Linux x86_64; rv:2.0) Gecko/20100101 Firefox/4.0 Mozilla/5.0 (X11; Linux x86_64; rv:2.2a1pre) Gecko/20110411 Firefox/4.2a1pre Opera/9.80 (X11; Linux x86_64; U; en) Presto/2.7.62 Version/11.01
(In reply to comment #1) > At first glance, my mozilla-central nightly & Firefox 4.0 both seem to match Opera. Just to illustrate that, here's a screencast of what I see on my Ubuntu 10.10 x86_64 machine (Firefox 4.0 on left, Opera 11.01 on right). Does this show the distortion?
No, the video shows indeed the normal affine transformations. Meanwhile I explored it a little bit more and of course, the fill is distorted as well and the effect seems to depend on the font-family - for serif and sans-serif for example it appears, for some more specific font names not. I will see, if I can create a video or a screenshot today ... Unfortunately, firefox has no buttons to pause, stop restart animations, therefore maybe not easy to get a screenshot - how to create a video I have to explore ... Not sure, that I am able to force Opera to use the same font as firefox for sans-serif and serif ... The effect seems to be no simple affine transformation of the complete 's', therefore maybe nothing, that can be only inside the glyph definition either.
(In reply to comment #3) > Unfortunately, firefox has no buttons to pause, stop restart animations, (The 'Esc' key pauses all animations, btw.) > two screenshots of the distortion on slightly different times Thanks -- that does indeed look busted.
Summary: SVG additional distortions of stroked and transformed text with animateTransform → Visual artifacts left behind with SVG Text & animateTransform
Summary: Visual artifacts left behind with SVG Text & animateTransform → Visual artifacts left behind with SVG Text & animateTransform, with certain fonts
It is around the moment, when the determinant of the transformation matrix is zero. Rounding problems? Or does Gecko try to compute something from the inverse matrix for display? This can pronounce accuracy problems too ... I think, for example WebKit tries often to calculate the inverse - in one version it crashed at determinant zero.
(In reply to comment #7) > It is around the moment, when the determinant of the transformation matrix is > zero. Rounding problems? That's probably likely (possibly coupled with a font that lies about how large its characters are -- I recall at least one similar bug a year or so back where that ended up being involved).
Can someone check a nightly on Linux to see if this is fixed please?
I installed 25 a1 (Gecko/20130629 Firefox/25.0) and this looks like the bug is fixed for this sample with transformed glyphs. I tried other samples with paths (I think I reported with another bug number) and there are some annoying residuals still available - presumable another effect. If someone did something especially for this glyph problem, this looks fixed now.
We've reimplemented glyph rendering in the latest Firefox. Yes, you do have another path bug open which is still unsolved (bug 648266).
Status: UNCONFIRMED → RESOLVED
Closed: 6 years ago
Depends on: svgtext
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.