• Type: Bug
    • Resolution: Fixed
    • Priority: Blocker
    • ODF 1.2
    • Affects Version/s: ODF 1.2
    • Component/s: None
    • None
    • Hide

      Exchange the first paragraph of the description


      The draw:text-areas attribute specifies a list of text areas. The text area is used to position and align the text. If no text area is specified, the area of the shape itself is used. If a second text area is available it is used for vertical text.


      with


      The draw:text-areas attribute specifies up to two text areas. If the attribute specifies one text area, this text area is used to position and align the text. If the attribute specifies two text areas, then the second text area is used if a style that is assigned to the text has a style:writing-mode attribute with value "tb-rl" or "tb". Otherwise the first text area is used.
      If the draw:text-areas attribute is omitted, the entire area of the shape is used to position and align the text.


      Add the following EBNF:


      textareas::= textareasequence
      textareasequence ::= textarea ( ' '+ textarea )?
      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 ::= [^ ]+
      ------

      Please note that this does allow only two text areas.

      Show
      Exchange the first paragraph of the description The draw:text-areas attribute specifies a list of text areas. The text area is used to position and align the text. If no text area is specified, the area of the shape itself is used. If a second text area is available it is used for vertical text. with The draw:text-areas attribute specifies up to two text areas. If the attribute specifies one text area, this text area is used to position and align the text. If the attribute specifies two text areas, then the second text area is used if a style that is assigned to the text has a style:writing-mode attribute with value "tb-rl" or "tb". Otherwise the first text area is used. If the draw:text-areas attribute is omitted, the entire area of the shape is used to position and align the text. Add the following EBNF: textareas::= textareasequence textareasequence ::= textarea ( ' '+ textarea )? 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 ::= [^ ] + ------ Please note that this does allow only two text areas.
    • Hide

      Exchange the first paragraph of the description


      The draw:text-areas attribute specifies a list of text areas. The text area is used to position and align the text. If no text area is specified, the area of the shape itself is used. If a second text area is available it is used for vertical text.


      with


      The draw:text-areas attribute specifies up to two text areas. If the attribute specifies one text area, this text area is used to position and align the text. If the attribute specifies two text areas, then the second text area is used if a style that is assigned to the text has a style:writing-mode attribute with value "tb-rl" or "tb". Otherwise the first text area is used.
      If the draw:text-areas attribute is omitted, the entire area of the shape is used to position and align the text.


      Add the following EBNF:


      textareas::= textareasequence
      textareasequence ::= textarea ( ' '+ textarea )?
      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 ::= [^ ]+
      ------

      Please note that this does allow only two text areas.

      Show
      Exchange the first paragraph of the description The draw:text-areas attribute specifies a list of text areas. The text area is used to position and align the text. If no text area is specified, the area of the shape itself is used. If a second text area is available it is used for vertical text. with The draw:text-areas attribute specifies up to two text areas. If the attribute specifies one text area, this text area is used to position and align the text. If the attribute specifies two text areas, then the second text area is used if a style that is assigned to the text has a style:writing-mode attribute with value "tb-rl" or "tb". Otherwise the first text area is used. If the draw:text-areas attribute is omitted, the entire area of the shape is used to position and align the text. Add the following EBNF: textareas::= textareasequence textareasequence ::= textarea ( ' '+ textarea )? 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 ::= [^ ] + ------ Please note that this does allow only two text areas.

      Transcribed from ODF_Revised_Editorial_Notes_27May2009.odt

      Original author: Patrick Durusau
      Section 17.224 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.

      Sven Jacobi says:

      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 ::= [^ ]+

      Patrick: Yes, but the prose requires:

      "If a second text area is available it is used for vertical text."

      Noting that the first text area being for horizontal text is only by implication.

      Nor it is clear how more than two areas (assuming the regex were extended to include what is said in the prose) are to be positioned.

      If this is meant to simply specify the position of one or more text areas in some defined coordinate space (represented by a <draw:enhanced-geometry> element) then why don't we simply say that?

      Sven Jacobi further replies:

      "If text in a shape is drawn and there is no draw:text-areas element, then entire area of the shape is used.

      If the draw:text-areas element is available, then with one exception the first text area is used. And this is the

      exception, if the text is verical and if a second text area is available, the second text area is used.

      I am not sure if it is sensible do to specify a limitation of 2 rectangles, I thought it is sufficient without."

            Assignee:
            Patrick Durusau
            Reporter:
            Robert Weir (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: