Prevent fonts from being removed inside a <defs>

This commit is contained in:
JSCHILL1 2009-04-19 08:08:37 -05:00
parent 72363ec24b
commit 8d0bb8fe55
4 changed files with 47 additions and 1 deletions

View file

@ -215,12 +215,13 @@ def removeUnreferencedIDs(referencedIDs, identifiedElements):
# returns the number of unreferenced children removed from defs elements
def vacuumDefs(doc):
global numElemsRemoved
keepTags = ['font', 'style', 'metadata' ]
num = 0
defs = doc.documentElement.getElementsByTagNameNS(NS['SVG'], 'defs')
for aDef in defs:
elemsToRemove = []
for elem in aDef.childNodes:
if elem.nodeType == 1 and elem.getAttribute('id') == '' :
if elem.nodeType == 1 and elem.getAttribute('id') == '' and not elem.nodeName in keepTags:
elemsToRemove.append(elem)
for elem in elemsToRemove:
aDef.removeChild(elem)