Uploaded image for project: 'OASIS Open Document Format for Office Applications (OpenDocument) TC'
  1. OASIS Open Document Format for Office Applications (OpenDocument) TC
  2. OFFICE-3824

Which coordinate system is used in draw:enhanced-geometry, when svg:viewBox is missing

    XMLWordPrintable

    Details

    • Proposal:
      Hide

      Get a solution together with OIC for ODF1.3.

      Show
      Get a solution together with OIC for ODF1.3.
    • Resolution:
      Hide

      19.576 svg:viewBox

      The svg:viewBox attribute specifies a rectangle in a local coordinate system of a shape. The syntax for using this attribute is the same as the [SVG] syntax. The value of the attribute are four numbers separated by white spaces, which define the left, top, width, and height of the rectangle. Such local coordinate system is used by the draw:points 19.206 and svg:d 19.532 attributes, as well as by the attributes of <draw:enhanced-geometry> 10.6.2 element and its child elements which specify coordinates. The svg:viewBox attribute and its value shall be present in case of the draw:points 19.206 and svg:d 19.532 attributes. The svg:viewBox attribute and its value shall be present in case of <draw:enhanced-geometry> 10.6.2, if there exists any position or length value without unit in its attributes or child elements.

      The rectangle specified be the svg:viewBox attribute is mapped to the rectangle in the outer coordinate system, specified by the position and size attributes of the shape.

      Show
      19.576 svg:viewBox The svg:viewBox attribute specifies a rectangle in a local coordinate system of a shape. The syntax for using this attribute is the same as the [SVG] syntax. The value of the attribute are four numbers separated by white spaces, which define the left, top, width, and height of the rectangle. Such local coordinate system is used by the draw:points 19.206 and svg:d 19.532 attributes, as well as by the attributes of <draw:enhanced-geometry> 10.6.2 element and its child elements which specify coordinates. The svg:viewBox attribute and its value shall be present in case of the draw:points 19.206 and svg:d 19.532 attributes. The svg:viewBox attribute and its value shall be present in case of <draw:enhanced-geometry> 10.6.2, if there exists any position or length value without unit in its attributes or child elements. The rectangle specified be the svg:viewBox attribute is mapped to the rectangle in the outer coordinate system, specified by the position and size attributes of the shape.

      Description

      In schema v1.2 in <define name="draw-enhanced-geometry-attlist"> the attribute <attribute name="svg:viewBox"> is optional. But the element draw:enhanced-geometry has a lot of attributes and child elements, which use coordinates or length without unit. To determine their values with unit, the values of svg:viewBox are mapped to the position and size of the shape.

      In case the attribute svg:viewBox is missing, current implementations act different. This was discussed in thread https://www.oasis-open.org/apps/org/workgroup/office/email/archives/201303/msg00036.html. The thread has an example document attached.

      There are several solutions imaginable:
      (1) Define a default viewBox, for example svg.viewBox="0 0 21600 21600". This solution is used in AOO.
      (2) Define, that the viewBox is calculated from maximal and minimal values actually used. Calligra seems to do something of this kind
      (3) Add, that the attribute svg:viewBox may not be missing, if there exists any position or length value without unit in the attributes and child elements.
      (4) Add, that for interoperability the attribute svg:viewBox should not be missing, and missing attribute svg:viewBox gives implementation dependent results.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              regina.henschel Regina Henschel
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: