[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: ODF 1.2 draft 7-9 - Chapter 9.6 Custom Shapes
Michael, Michael Brauer - Sun Germany - ham02 - Hamburg wrote: > Patrick, > > please find below Sven Jacobi's feedback regarding the custom shape > chapter and the attributes related to it. > Thanks and please thank Sven for me. Hope you are looking forward to a great weekend! Patrick > Best regards > > Michael > > -------- Original Message -------- > Subject: Re: ODF 1.2 draft 7-9 > Date: Mon, 20 Oct 2008 15:51:36 +0200 > From: Sven Jacobi <Sven.Jacobi@Sun.COM> > To: Michael Brauer - Sun Germany - ham02 - Hamburg > <Michael.Brauer@Sun.COM> > References: <48DB95F5.5000409@sun.com> <48E0AD77.8050209@sun.com> > <48E22CCC.4050103@sun.com> <48E4DA1D.6070804@sun.com> > > > ####draw:extrusion-origin > > Ed. Note: The schema has to be verified. > > extrusionorigin::= number ' ' number > number::= sign? float | sign? integer > float::= fractional exponent? | integer exponent > fractional::= integer? '.' integer | integer '.' > exponent::= ( 'e' | 'E' ) sign? integer > sign::= '+'| '-' > integer::= [0-9]+ > > ####draw:extrusion-rotation-angle > > Ed. Note I inserted the whitespace separation of the values. We really > do need to specify the format of compound values that are recorded in > attributes. > > I have to remark that the rotation is based on degrees. > > extrusionrotationangle::= number ' ' number > number::= sign? float | sign? integer > float::= fractional exponent? | integer exponent > fractional::= integer? '.' integer | integer '.' > exponent::= ( 'e' | 'E' ) sign? integer > sign::= '+'| '-' > integer::= [0-9]+ > > ####draw:extrusion-depth: > > It should probably be mentioned that the first value is using a unit. > > exemplary: draw:extrusion-depth="5cm 0" > > extrusiondepth::= number unit ' ' number > number::= sign? float | sign? integer > float::= fractional exponent? | integer exponent > fractional::= integer? '.' integer | integer '.' > exponent::= ( 'e' | 'E' ) sign? integer > sign::= '+'| '-' > integer::= [0-9]+ > unit::= 'cm' | 'mm' | 'in' | 'pt' | 'pc' > > > ####draw:extrusion-skew: > > Ed. Note the addition of whitespace to the format of the parameters. > > I have to remark that SkewAngle is based on degrees. > > extrusionskew::= number ' ' number > number::= sign? float | sign? integer > float::= fractional exponent? | integer exponent > fractional::= integer? '.' integer | integer '.' > exponent::= ( 'e' | 'E' ) sign? integer > sign::= '+'| '-' > integer::= [0-9]+ > > ####draw:extrusion-viewpoint: > > Ed. Note: The pattern for the point3d type has to be checked > > Ed. Note If [ ] (square braces) are supposed to enclose a character > class, then I am not sure what [ ]* means in XML regex syntax? That is > from the > > vector3D regex near the end of the schema. Whitespace is \s. Note that > the regex does not constraint the units mentioned above. > > The default value is containing an error, > correct is:(3.5cm -3.5cm 25cm) > and not: 3.5cm -3.5cm 25cm > > extrusionviewpoint ::= ( '(' position ' '+ position ' '+ position ')' )? > position::= number unit > number::= sign? float | sign? integer > float::= fractional exponent? | integer exponent > fractional::= integer? '.' integer | integer '.' > exponent::= ( 'e' | 'E' ) sign? integer > sign::= '+'| '-' > integer::= [0-9]+ > unit::= 'cm' | 'mm' | 'in' | 'pt' | 'pc' > > ####draw:glue-point-leaving-directions: > > Ed. Note As far as I can tell, we only use grads here and at one other > place. Shouldn't we uniformly use degrees or radians? > > In the description of draw:glue-points-leaving-direction is an error, > in fact degrees are used and not grad. > > gluepointleavingdirections::= leavingdirectionsequence? > leavingdirectionsequence::= number ( ' '+ leavingdirectionsequence )* > number::= sign? float | sign? integer > float::= fractional exponent? | integer exponent > fractional::= integer? '.' integer | integer '.' > exponent::= ( 'e' | 'E' ) sign? integer > sign::= '+'| '-' > integer::= [0-9]+ > > > ####draw:glue-points: > > Ed. Note We refer to “indexing” the draw:modifiers attribute but at that > attribute we don't specify a format that permits indexing. > > gluepoints::= gluepointsequence? > gluepointsequence::= gluepoint ( ' '+ gluepointsequence )* > glue-point::= position ' '+ position > position::= formula | modifier | number > formula::= '?' name > modifier::= '$' integer > number::= sign? float | sign? integer > float::= fractional exponent? | integer exponent > fractional::= integer? '.' integer | integer '.' > exponent::= ( 'e' | 'E' ) sign? integer > sign::= '+'| '-' > integer::= [0-9]+ > name ::= [^ ]+ > > ####draw:mirror-horizontal: > ####draw:mirror-vertical > > Ed. Note Are draw:mirror-horizontal and draw:mirror-vertical only > meaningful if set together? We don't say that but it seems to be implied. > > ####draw:path-stretchpoint-x: > ####draw:path-stretchpoint-Y: > > Ed. Note We don't say if both draw:path-stretchpoint-x and > draw:path-stretchpoint-y must both be present or it is an error. It is > implied but not > > stated. > > It doesn't matter at all, both values are having a default value, so it > is sufficient to write only values which differ from the default. > > ####draw:modifiers: > > Ed. Note We don't define this “list” of values. Whitespace separated? > Isn't that a string, not a list? > > example: draw:modifiers="4250 45000 4000" > > modifiers::= numbersequence? > numbersequence::= number ( ' '+ numbersequence )* > number::= sign? float | sign? integer > float::= fractional exponent? | integer exponent > fractional::= integer? '.' integer | integer '.' > exponent::= ( 'e' | 'E' ) sign? integer > sign::= '+'| '-' > integer::= [0-9]+ > > > ####draw:text-areas: > > Ed. Note As defined, the attribute is inconsistent and incomplete. It > starts by saying we define a list of text areas. Then it says what > happens if a > > second text area is present. Then we define how to define a text area. > As a string? So, we don't have a list, or at least no mechanism for one, > possibly > > assume up to two text areas, and don't define what values define a text > area. > > > > I hope following ebnf syntax solves every problem: > > textareas::= textareasequence? > textareasequence ::= textarea ( ' '+ textareasequence )* > textarea::= position ' '+ position ' '+ position ' '+ position > position::= formula | modifier | number > formula::= '?' name > modifier::= '$' integer > number::= sign? float | sign? integer > float::= fractional exponent? | integer exponent > fractional::= integer? '.' integer | integer '.' > exponent::= ( 'e' | 'E' ) sign? integer > sign::= '+'| '-' > integer::= [0-9]+ > name ::= [^ ]+ > > ####draw:text-path-allowed > > Ed. Note We don't define Fontwork object. > > Maybe we should replace the existing description with following: > The draw:text-path-allowed attribute specifies if it is allowed to > render text of the shape using the draw:text-path attribute, or if only > the normal text engine should be used. > > ####draw:handle-position > > Ed. Note Consider an EBNF, although I am not sure it would help. It > would be helpful to know if there was some more standard way to reach > the same > results as with the “enhancements.” > > > handleposition ::= position ' '+ position > position::= formula | modifier | constant | number > formula::= '?' name > modifier::= '$' integer > constant::= 'left' | 'top' | 'right' | 'bottom' | > 'xstretch' | 'ystretch' | 'hasstroke' | 'hasfill ' | > 'width' | 'height' | 'logwidth' | 'logheight' > number::=sign? float | sign? integer > float::= fractional exponent? | integer exponent > fractional::= integer? '.' integer | integer '.' > exponent::= ( 'e' | 'E' ) sign? integer > sign::= '+'| '-' > integer::= [0-9]+ > name ::= [^ ]+ > -- Patrick Durusau patrick@durusau.net Chair, V1 - US TAG to JTC 1/SC 34 Convener, JTC 1/SC 34/WG 3 (Topic Maps) Editor, OpenDocument Format TC (OASIS), Project Editor ISO/IEC 26300 Co-Editor, ISO/IEC 13250-1, 13250-5 (Topic Maps)
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]