OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: OpenDocument - undefined angle measurements - need errata?


Someone named Chris Nokleberg (chris at sixlegs.com)
has reported to me that many angle measurements are not
explicitly defined in the OpenDocument specification.
I wasn't sure what to do with this report; David Faure suggested
that I forward it to this list.

I think that the errata needs to add statements that
specify the units for the various angle measures, as noted
below.   Clearly, if there's some ambiguity about angle measures,
that needs fixing. I don't care WHAT the fix is, but they
need to be specified. I propose using the OpenOffice.org measures, but
an alternative would be fine too.  We could add
optional "units" measures, just like length, but a default measure
still needs to be defined in each case. In any case, we need
to define angle measurement units where they are used.

Anyway, here is Nokleberg's report:

> - For draw:circle and draw:ellipse you can define a start and end
>   angle. OpenDocument does not specify the units.  OpenOffice uses
>   degrees. Fair enough...
> 
> - For draw:transform you can define a rotation. It is clearly based on
>   the SVG transform attribute, which uses degrees. OpenDocument does not
>   specify the units. OpenOffice uses radians :-(
....
> I'm not sure consistency with SVG is paramount, since draw:transform
> does not use the SVG-compatible namespace. But I think consistency with
> at least the rest of the OpenDocument spec is important.
> 
> Here is a list of all the angles in OpenDocument:
> 
>   - svg:start-angle, svg:end-angle
>     OpenDocument: undefined
>     OpenOffice:   degrees
>     SVG:          degrees
> 
>   - draw:transform
>     OpenDocument: undefined
>     OpenOffice:   radians
> 
>   - draw:text-rotate-angle
>     OpenDocument: undefined
>     OpenOffice:   degrees
> 
>   - draw:extrusion-rotation-angle
>     OpenDocument: undefined
>     OpenOffice:   degrees
> 
>   - draw:enhanced-path (T and U command angles)
>     OpenDocument: undefined
>     OpenOffice:   degrees, but sometimes shifted left by 16 bits! (OO-bug)
> 
>   - draw:glue-point-leaving-directions
>     OpenDocument: grad     
>     OpenOffice:   ?
> 
>   - draw:handle-position (polar mode, first param)
>     OpenDocument: grad     
>     OpenOffice:   degrees
> 
>   - draw:angle (used for gradients)
>     OpenDocument: undefined
>     OpenOffice:   degrees (?) but saved as zero (OO-bug)
> 
>   - draw:rotation (used for hatch fills)
>     OpenDocument: undefined
>     OpenOffice:   degrees (?) but saved as zero (OO-bug)
> 
>   - draw:caption-angle
>     OpenDocument: undefined
>     OpenOffice:   ?
> 
>   - dr3d:shadow-slant
>     OpenDocument: undefined
>     OpenOffice:   degrees
> 
>   - dr3d:end-angle
>     OpenDocument: degrees  
>     OpenOffice:   ?
> 
>   - dr3d:transform (a clear 3D-analogue of draw:transform)
>     OpenDocument: degrees  
>     OpenOffice:   radians (?)
> 
>   - style:text-rotation-angle
>     OpenDocument: degrees  
>     OpenOffice:   ?
> 
>   - style:rotation-angle (spreadsheet cell)
>     OpenDocument: degrees  
>     OpenOffice:   degrees
> 
> The question marks are for attributes which I could not manage to
> generate in OpenOffice. If you know how to fill these in, please let me
> know.
> 
> 360 degrees = 2*PI radians = 400 grad, but even though
> draw:handle-position is defined as using grad, I believe OpenOffice
> actually uses degrees. glue-point-leaving-directions is also defined as
> grad, but AFAIK OpenOffice doesn't supports that attribute.
> 
> Degrees are used everywhere in OpenOffice, except for draw:transform and
> (maybe) dr3d:transform, so that seems like the obvious unit to
> standardize on. It is also more user-friendly for hand-edited documents.
> 
> I think a rotation_units attribute would be more confusing than helpful,
> if the default was still going to be radians. The problem is not that
> users really need a way to define rotation in degrees, just that having
> the default unit vary from one attribute to another is bizarre.
> 
> In general, I feel that the current number of OpenDocument documents is
> negligible compared to the future number, so now is the best time to
> make breaking changes. ...

> Along these lines, the way that OpenOffice *renders* rotation
> transforms is incorrect (a separate issue), so defining the unit as
> degrees would not necessarily be "breaking" anything, as their documents
> are already "broken". I can go into this in more depth if anyone is
> interested.

> ... it
> might be a good idea for office suites in general to include the app
> version when saving a document, to be able to handle these kind of
> changes in the future.
> 
> Feel free to forward this wherever...
> 
> Chris
> 
> 

Thanks so much!

--- David A. Wheeler


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]