|Summary:||[QT][CAIRO] x- and y-attributes of <use>-element not used|
|Product:||WebKit||Reporter:||Dirk Schulze <krit>|
|Version:||528+ (Nightly build)|
Description Dirk Schulze 2008-05-10 07:17:28 PDT
If I understood the code right, the <use>-element is transformed to a <g>-element (in a basic case). All Attributes are given to the transformed element (like transform,fill,stroke), except for the x- and y-attributes. This only affects the Qt- and Cairo-implementation.
Comment 1 Dirk Schulze 2008-05-10 12:11:31 PDT
a simple problem: http://trac.webkit.org/browser/trunk/WebCore/svg/SVGUseElement.cpp#L323 I get a comma instead of a point for floating-point (non-english-speaker), thats why webkit ignores the transformation. e.g.: transform(12,000, 30,500) instead of transform(12.000, 30.500)
Comment 3 Mark Rowe (bdash) 2008-05-10 23:38:05 PDT
Looks like vsnprintf is locale-aware, which is probably not what we want inside WebCore.
Comment 4 Mark Rowe (bdash) 2008-05-13 11:28:08 PDT
*** Bug 19026 has been marked as a duplicate of this bug. ***
Comment 5 Dirk Schulze 2008-05-18 12:43:34 PDT
A solution could be setlocale(LC_NUMERIC, "C"); add the line before a vsnprintf() operation or system wide (don't know it this is possible) and it should work. (perhaps with #include <local.h>) I tested it in SVGUseElement.cpp with success.
Comment 7 Simon Hausmann 2008-06-16 05:42:06 PDT
I think the code should not use String::format() but simply toDouble() on a constructed string and construct the entire string to parse manually. String::toDouble() is locale-unaware as far as I can see.