Remove empty m0,0 segments
This commit is contained in:
parent
5f8139a6e3
commit
b68f8483c7
3 changed files with 19 additions and 1 deletions
9
scour.py
9
scour.py
|
|
@ -1670,7 +1670,14 @@ def cleanPath(element, options) :
|
||||||
cmd, data = path[pathIndex]
|
cmd, data = path[pathIndex]
|
||||||
i = 0
|
i = 0
|
||||||
if cmd in ['m','l','t']:
|
if cmd in ['m','l','t']:
|
||||||
if cmd == 'm': i = 2
|
if cmd == 'm':
|
||||||
|
# remove m0,0 segments
|
||||||
|
if data[0] == data[i+1] == 0:
|
||||||
|
# 'm0,0 x,y' can be replaces with 'lx,y'
|
||||||
|
path[pathIndex] = ('l', data[2:])
|
||||||
|
numPathSegmentsReduced += 1
|
||||||
|
else: # else skip move coordinate
|
||||||
|
i = 2
|
||||||
while i < len(data):
|
while i < len(data):
|
||||||
if data[i] == data[i+1] == 0:
|
if data[i] == data[i+1] == 0:
|
||||||
del data[i:i+2]
|
del data[i:i+2]
|
||||||
|
|
|
||||||
|
|
@ -1145,6 +1145,12 @@ class StyleToAttr(unittest.TestCase):
|
||||||
self.assertEquals(line.getAttribute('marker-mid'), 'url(#m)')
|
self.assertEquals(line.getAttribute('marker-mid'), 'url(#m)')
|
||||||
self.assertEquals(line.getAttribute('marker-end'), 'url(#m)')
|
self.assertEquals(line.getAttribute('marker-end'), 'url(#m)')
|
||||||
|
|
||||||
|
class PathEmptyMove(unittest.TestCase):
|
||||||
|
def runTest(self):
|
||||||
|
doc = scour.scourXmlFile('unittests/path-empty-move.svg')
|
||||||
|
self.assertEquals(doc.getElementsByTagName('path')[0].getAttribute('d'), 'm100 100l200 100z');
|
||||||
|
self.assertEquals(doc.getElementsByTagName('path')[1].getAttribute('d'), 'm100 100v200l100 100z');
|
||||||
|
|
||||||
# TODO: write tests for --enable-viewboxing
|
# TODO: write tests for --enable-viewboxing
|
||||||
# TODO; write a test for embedding rasters
|
# TODO; write a test for embedding rasters
|
||||||
# TODO: write a test for --disable-embed-rasters
|
# TODO: write a test for --disable-embed-rasters
|
||||||
|
|
|
||||||
5
unittests/path-empty-move.svg
Normal file
5
unittests/path-empty-move.svg
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="m100 100 l200 100 m0 0z" />
|
||||||
|
<path d="m100 100 v200 m0 0 100 100z" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 151 B |
Loading…
Add table
Add a link
Reference in a new issue