On 29/07/12 19:25, Regina Henschel wrote: > Hi Christine, > > continuing.. > > Christina Roßmanith schrieb: >> Hi, >> >> just to be sure before I continue my work: >> >> SVG gradient with angle=0° changes color from left to right >> (I'm taking this from >> http://www.w3.org/TR/SVG/pservers.html#LinearGradientElement) >> >> ODF gradient with angle=0° changes color from top to bottom >> (I can't find any meaning of the angle attribute here >> http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1416460_253892949) > > I have now looked, which way PowerPoint2013 does it: > The angle of 0° in the UI means that the gradient vector goes from left > to right. > The angle in the UI rotates this gradient vector clockwise on screen. > Values from 0 to 359.9 are allowed. > > In file format it is the same as from LO, for example: > draw:angle="700" results from > PP UI-angle=20° clockwise on screen > LO UI-angle=70° counterclockwise on screen > draw:angle="3300" results form > PP UI-angle=120° clockwise on screen > LO UI-angle=330° counterclockwise on screen
that is a very interesting discovery! so it seems MSO also has the defect of storing draw:angle with the wrong units of 0.1°. i've installed Calligra Stage 2.4.3 and played with it, and in the .odp file i get linear gradients like this: > <svg:linearGradient draw:name="gradient1" svg:spreadMethod="pad" > svg:x1="65.9558%" svg:x2="39.8039%" svg:y1="24.8957%" svg:y2="70.0815%"> > <svg:stop svg:offset="0.11" svg:stop-color="#dc143c"/><svg:stop > svg:offset="0.473324" svg:stop-color="#00ced1"/><svg:stop > svg:offset="0.589196" svg:stop-color="#00ff00"/> > </svg:linearGradient> > <svg:linearGradient draw:name="gradient2" svg:spreadMethod="pad" > svg:x1="0%" svg:x2="166.923%" svg:y1="0%" svg:y2="164.085%"> > <svg:stop svg:offset="0" svg:stop-color="#ffffff"/><svg:stop > svg:offset="1" svg:stop-color="#00ff00"/> > </svg:linearGradient> so it appears there is another way to represent gradients in ODF 1.2 that is directly from SVG and doesn't use draw:angle at all; the UI for it doesn't display an angle either but you see a line where you can move start/end points and double click on the line at a position to insert color stops. it appears OOo and derived suites like LO don't support reading svg:linearGradient/svg:radialGradient at all. > So it seems, that PP follows the way how it is stored in file, but has a > different UI. > > My conclusion is, that a mail to OASIS is needed with the points: > (1) Define "axis at which the gradient values are interpolated" as vector > (2) Define untransformed direction of this vector as going in positive > y-axis direction. > (3) Define direction of rotation as clockwise in respect to the internal > coordinate system > (4) Do not define draw:angle as SVG-angle but as double to be multiplied > with 0.1°. > > What do you think? so it seems that all office suites that implement draw:angle do it wrong in the same way, by using 0.1° as the unit instead of 1°, and one of the affected suites is from MSFT which we have no way to fix. therefore i retract my earlier suggestion to fix the defect in LO, and second your proposal to suggest OASIS to change the spec. _______________________________________________ LibreOffice mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice
