Reviewed by Oliver.
authoroliver <oliver@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 12 Oct 2007 15:40:39 +0000 (15:40 +0000)
committeroliver <oliver@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 12 Oct 2007 15:40:39 +0000 (15:40 +0000)
commit2986cd74e2cd8e4753e0d8d14c97ff3ae64e6c90
tree0d5a6fbc1f63c1141bc0f00e26930c685149c714
parentcefb7f5a3ac93d8925b2376ba1228b9ecd163b9d
Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=6421 (<text> textLength attribute is not respected)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=6422 (<text> lengthAdjust attribute is not respected)
Implement textLength and full lengthAdjust (both 'spacing' & 'spacingAndGlyphs' mode)
for <text> & <tspan> & friends. <textPath> is still todo, as it's special.

Also fix usage of cummulatedGlyphWidth/Height in SVGInlineTextBox, calculateGlyphBoundaries was
supposed to be used in the distance calculations, to take per character transformations into account (ie. rotation).

Fixes: svg/W3C-SVG-1.1/text-text-01-b.svg (complelty fixed the single W3C textLength testcase)
Partly fixed: svg/batik/text/textOnPathSpaces.svg (kerning support missing)
Partly fixed: svg/batik/text/textLayout.svg (word-letter spacing & textLength is todo)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
31 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-28-t-expected.checksum
LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-28-t-expected.png
LayoutTests/platform/mac/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.checksum
LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.checksum
LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.png
LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-tile-01-b-expected.checksum
LayoutTests/platform/mac/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.checksum
LayoutTests/platform/mac/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.png
LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-01-b-expected.checksum
LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-01-b-expected.png
LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-01-b-expected.txt
LayoutTests/platform/mac/svg/custom/use-infinite-recursion-expected.checksum [new file with mode: 0644]
LayoutTests/svg/batik/text/textLayout-expected.checksum
LayoutTests/svg/batik/text/textLayout-expected.png
LayoutTests/svg/batik/text/textLayout-expected.txt
LayoutTests/svg/batik/text/textLength-expected.checksum
LayoutTests/svg/batik/text/textLength-expected.png
LayoutTests/svg/batik/text/textLength-expected.txt
LayoutTests/svg/batik/text/textOnPathSpaces-expected.checksum
LayoutTests/svg/batik/text/textOnPathSpaces-expected.png
LayoutTests/svg/batik/text/textOnPathSpaces-expected.txt
LayoutTests/svg/text/text-text-01-b-expected.checksum
LayoutTests/svg/text/text-text-01-b-expected.png
LayoutTests/svg/text/text-text-01-b-expected.txt
WebCore/ChangeLog
WebCore/ksvg2/svg/SVGTextContentElement.cpp
WebCore/rendering/SVGCharacterLayoutInfo.cpp
WebCore/rendering/SVGCharacterLayoutInfo.h
WebCore/rendering/SVGInlineTextBox.cpp
WebCore/rendering/SVGRootInlineBox.cpp