Definition of draw:angle in ODF1.2 does not fit to implementation

Regina Henschel rb.henschel at
Mon Jul 30 09:34:48 PDT 2012

Hi all,

I want to suggest OASIS to change the definition of draw:angle. The 
draft mail follows below. What do you think about it?

Kind regards

Draft of the mail to OASIS:

For <draw:gradient> type 'Linear' section 19.218 defines "The axis of 
the gradient is specified with the draw:angle attribute clockwise to the 
vertical axis."
It actually means, that in the internal coordinate system (that with an 
upright y-axis), rotating this y-axis clockwise with the draw:angle 
gives the gradient vector.

<draw:angle> section 19.122 repeats this in a less exact form. For the 
angle itself it specifies:
"The draw:angle attribute has the data type angle 18.3.1."

And in section 18.3.1 you read, "An angle, as defined in §4.1 of [SVG]. 
An angle is a double value that may be followed immediately by one of 
the following angle unit identifiers: deg (degrees), grad (gradiants) or 
rad (radians). If no unit identifier is specified, the value is assumed 
to be in degrees."

But that is wrong for the implementations in Apache OpenOffice, 
LibreOffice, and Microsoft Office. All of them allow in draw:angle only 
integers without unit and interpret them as 0.1deg. Calligra does not 
use draw:gradient but uses svg:gradient. Microsoft Office can read 
negative integers, but writes itself always non negative integers. 
Apache OpenOffice and LibreOffice read and write only non negative integers.

Therefore I suggest to alter the definition of draw:angle in this way:
Instead of the sentence

"The draw:angle attribute has the data type angle 18.3.1."

use the text

"The draw:angle attribute has the date type integer. A value of n is 
interpreted as n*0.1 degrees."

More information about the LibreOffice mailing list