Discussion of Bug 37759 - Pixel around Objects like ellipse

Papamatti matti_lx at mailbox.org
Mon Aug 18 14:22:08 PDT 2014


Hello list,

I investigate the problem of two pixels (top left and bottom right)
around predefined shapes (circle, smiley, ellipse...)

You can reproduce the bug by
- Open LibreOffice Draw
- Draw a ellipse or circle
- Select your object and convert it to a polygon
- change into the edit points mode
- now you can see the additional point top left and bottom right.

You can move these dots around, delete them and so on. Unfortunalely
they are visible on export into pdf or any other format.

This Bug does not exist in OOO3.20 and was fixed in AOO3.40.
It was Introduces during the development of OOo 3.30 and found it's way
during the fork into LibreOffice 3.3. This is the story so far.

I investigate the files, which OOo 3.20 and LO4.2.4 are creating with
the steps described above and with an simple ellipse.

OpenOffice 3.20 has created this structure:
(There are no additional dots, and, surprise if i open this file with
LO4.2.4 and save it into another file and reopen it with LO4.2.4 the bug
is not present! Conclusion: The bug has something to do with the
creation of these shapes!)

<office:body>
  <office:drawing>
    <draw:page draw:name="page1" draw:style-name="dp1"
draw:master-page-name="Standard">
      <draw:ellipse draw:style-name="gr1" draw:text-style-name="P1"
draw:layer="layout" svg:width="7cm" svg:height="5.5cm" svg:x="7cm"
svg:y="10.5cm">
       <text:p/>
     </draw:ellipse>
   </draw:page>
 </office:drawing>
</office:body>


LibreOffice 4.2.4 (Ubuntu 14.04) creates this structure after drawing a
ellipse:

<office:body>
  <office:drawing>
    <draw:page draw:name="page1" draw:style-name="dp1"
draw:master-page-name="Standard">
      <draw:custom-shape draw:style-name="gr1" draw:text-style-name="P1"
draw:layer="layout" svg:width="2cm" svg:height="2cm" svg:x="2cm"
svg:y="2cm">
        <text:p/>
        <draw:enhanced-geometry svg:viewBox="0 0 21600 21600"
draw:glue-points="10800 0 3163 3163 0 10800 3163 18437 10800 21600 18437
18437 21600 10800 18437 3163" draw:text-areas="3163 3163 18437 18437"
draw:type="ellipse" draw:enhanced-path="U 10800 10800 10800 10800 0 360
Z N"/>
      </draw:custom-shape>
    </draw:page>
  </office:drawing>
</office:body>

LibreOffice 4.2.4 (Ubuntu 14.04) creates this structure after convert
the ellipse into a polygon:
(But instead of a polygon, LO creates a path!!!)

<office:body>
  <office:drawing>
    <draw:page draw:name="page1" draw:style-name="dp1"
draw:master-page-name="Standard">
      <draw:path draw:style-name="gr1" draw:text-style-name="P1"
draw:layer="layout" svg:width="2cm" svg:height="2cm" svg:x="2cm"
svg:y="2cm" svg:viewBox="0 0 2001 2001" svg:d="M1000 0l105 5 101 15 97
24 92 33 88 41 83 49 76 57 71 63 63 71 57 76 49 83 41 88 33 92 24 97 15
101 5 105-5 105-15 101-24 97-33 92-41 88-49 83-57 76-63 71-71 63-76
57-83 49-88 41-92 33-97 24-101 15-105
5-105-5-101-15-97-24-92-33-88-41-83-49-76-57-71-63-63-71-57-76-49-83-41-88-33-92-24-97-15-101-5-105
5-105 15-101 24-97 33-92 41-88 49-83 57-76 63-71 71-63 76-57 83-49 88-41
92-33 97-24 101-15zM0 0zM2001 2001z">
        <text:p/>
      </draw:path>
    </draw:page>
  </office:drawing>
</office:body>

After deleting the two additional dots and save the file again it
changed to a polygon!!!:
(Also look at the svg width, hight and the svg:viewBox) ;-)

<office:body>
  <office:drawing>
    <draw:page draw:name="page1" draw:style-name="dp1"
draw:master-page-name="Standard">
      <draw:polygon draw:style-name="gr1" draw:text-style-name="P1"
draw:layer="layout" svg:width="1.999cm" svg:height="1.999cm" svg:x="2cm"
svg:y="2cm" svg:viewBox="0 0 2000 2000" draw:points="1000,0 1105,5
1206,20 1303,44 1395,77 1483,118 1566,167 1642,224 1713,287 1776,358
1833,434 1882,517 1923,605 1956,697 1980,794 1995,895 2000,1000
1995,1105 1980,1206 1956,1303 1923,1395 1882,1483 1833,1566 1776,1642
1713,1713 1642,1776 1566,1833 1483,1882 1395,1923 1303,1956 1206,1980
1105,1995 1000,2000 895,1995 794,1980 697,1956 605,1923 517,1882
434,1833 358,1776 287,1713 224,1642 167,1566 118,1483 77,1395 44,1303
20,1206 5,1105 0,1000 5,895 20,794 44,697 77,605 118,517 167,434 224,358
287,287 358,224 434,167 517,118 605,77 697,44 794,20 895,5">
        <text:p/>
      </draw:polygon>
    </draw:page>
  </office:drawing>
</office:body>

Alternatively I create this file, instead of deleting the two dots I
move them slightly away from the object. The result is:

<office:body>
  <office:drawing>
    <draw:page draw:name="page1" draw:style-name="dp1"
draw:master-page-name="Standard">
      <draw:path draw:style-name="gr1" draw:text-style-name="P1"
draw:layer="layout" svg:width="4.699cm" svg:height="4.899cm"
svg:x="0.7cm" svg:y="0.5cm" svg:viewBox="0 0 4700 4900" svg:d="M2300
1500l105 5 101 15 97 24 92 33 88 41 83 49 76 57 71 63 63 71 57 76 49 83
41 88 33 92 24 97 15 101 5 105-5 105-15 101-24 97-33 92-41 88-49 83-57
76-63 71-71 63-76 57-83 49-88 41-92 33-97 24-101 15-105
5-105-5-101-15-97-24-92-33-88-41-83-49-76-57-71-63-63-71-57-76-49-83-41-88-33-92-24-97-15-101-5-105
5-105 15-101 24-97 33-92 41-88 49-83 57-76 63-71 71-63 76-57 83-49 88-41
92-33 97-24 101-15zM0 0zM4700 4900z">
        <text:p/>
      </draw:path>
    </draw:page>
  </office:drawing>
</office:body>

Very strange.


More information about the LibreOffice mailing list