|
|
|
@ -26,66 +26,66 @@ import sys
|
|
|
|
|
inkscape = os.path.abspath(os.path.join(os.path.dirname(__file__), 'inkscape_wrapper.py'))
|
|
|
|
|
|
|
|
|
|
names = {
|
|
|
|
|
'02': 'famille',
|
|
|
|
|
'03': 'papiers',
|
|
|
|
|
'04': 'sante',
|
|
|
|
|
'05': 'travail',
|
|
|
|
|
'06': 'logement',
|
|
|
|
|
'07': 'transport',
|
|
|
|
|
'08': 'sport',
|
|
|
|
|
'09': 'securite',
|
|
|
|
|
'10': 'signalements',
|
|
|
|
|
'11': 'dechets'
|
|
|
|
|
'02': 'famille',
|
|
|
|
|
'03': 'papiers',
|
|
|
|
|
'04': 'sante',
|
|
|
|
|
'05': 'travail',
|
|
|
|
|
'06': 'logement',
|
|
|
|
|
'07': 'transport',
|
|
|
|
|
'08': 'sport',
|
|
|
|
|
'09': 'securite',
|
|
|
|
|
'10': 'signalements',
|
|
|
|
|
'11': 'dechets',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
filenames = [
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_02.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_03.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_04.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_05.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_06.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_07.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_08.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_09.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_10.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_11.svg',
|
|
|
|
|
]
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_02.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_03.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_04.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_05.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_06.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_07.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_08.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_09.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_10.svg',
|
|
|
|
|
'EO_CONNECTVILLE_PUBLIK_PICTO_11.svg',
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
whitelist = [
|
|
|
|
|
'M38.354,88.859l-3.', # papiers/shirt
|
|
|
|
|
'M96.213,42.521c-0.', # signalements/1st wave
|
|
|
|
|
'M101.516,45.251c-0', # signalements/2nd wave
|
|
|
|
|
'M111.558,47.581c-0', # signalements/3rd wave
|
|
|
|
|
'M118.346,102.92c-0', # transport/cadre velo
|
|
|
|
|
'M92.644,102.92c-0.', # "
|
|
|
|
|
'M92.643,102.92H70', # "
|
|
|
|
|
'M63.625,95.128c-7.', # sante/wheelchair
|
|
|
|
|
'M69.187,64.57c-0.3', # sante/kid
|
|
|
|
|
'M66.882,52.466c-0.', # "
|
|
|
|
|
'M90.321,95.128c-0.', # "
|
|
|
|
|
'M94.035,85.527c-0.', # "
|
|
|
|
|
'M68.871,60.921c-4.', # "
|
|
|
|
|
'M71.663,53.41c-0.2', # "
|
|
|
|
|
'M73.875,52.752c-0.', # "
|
|
|
|
|
'M114.493,43.283c-0', # sante/stetho
|
|
|
|
|
'M137.485,76.615c-0', # "
|
|
|
|
|
'M141.604,77.302c0,', # "
|
|
|
|
|
'M108.574,71.064L', # logement/house
|
|
|
|
|
'M96.33,80.938H84.', # travail/briefcase outline
|
|
|
|
|
]
|
|
|
|
|
'M38.354,88.859l-3.', # papiers/shirt
|
|
|
|
|
'M96.213,42.521c-0.', # signalements/1st wave
|
|
|
|
|
'M101.516,45.251c-0', # signalements/2nd wave
|
|
|
|
|
'M111.558,47.581c-0', # signalements/3rd wave
|
|
|
|
|
'M118.346,102.92c-0', # transport/cadre velo
|
|
|
|
|
'M92.644,102.92c-0.', # "
|
|
|
|
|
'M92.643,102.92H70', # "
|
|
|
|
|
'M63.625,95.128c-7.', # sante/wheelchair
|
|
|
|
|
'M69.187,64.57c-0.3', # sante/kid
|
|
|
|
|
'M66.882,52.466c-0.', # "
|
|
|
|
|
'M90.321,95.128c-0.', # "
|
|
|
|
|
'M94.035,85.527c-0.', # "
|
|
|
|
|
'M68.871,60.921c-4.', # "
|
|
|
|
|
'M71.663,53.41c-0.2', # "
|
|
|
|
|
'M73.875,52.752c-0.', # "
|
|
|
|
|
'M114.493,43.283c-0', # sante/stetho
|
|
|
|
|
'M137.485,76.615c-0', # "
|
|
|
|
|
'M141.604,77.302c0,', # "
|
|
|
|
|
'M108.574,71.064L', # logement/house
|
|
|
|
|
'M96.33,80.938H84.', # travail/briefcase outline
|
|
|
|
|
]
|
|
|
|
|
blacklist = [
|
|
|
|
|
'M104.125,87.167H', # famille/border
|
|
|
|
|
'M83.83,46.362l0.4', # papiers/i
|
|
|
|
|
'M85.544,35.605l-0', # papiers/d
|
|
|
|
|
'M96.618,36.592l-0', # papiers/e
|
|
|
|
|
'M105.127,26.812l1', # papiers/n
|
|
|
|
|
'M111.078,28.917l0', # papiers/t
|
|
|
|
|
'M119.033,40.591l0', # papiers/i
|
|
|
|
|
'M123.222,26.927l0', # papiers/t
|
|
|
|
|
'M131.074,39.075l0', # papiers/e
|
|
|
|
|
'M92.208,95.872H59', # travail/briefcase parts
|
|
|
|
|
'M81.853,95.268c0,', # "
|
|
|
|
|
]
|
|
|
|
|
'M104.125,87.167H', # famille/border
|
|
|
|
|
'M83.83,46.362l0.4', # papiers/i
|
|
|
|
|
'M85.544,35.605l-0', # papiers/d
|
|
|
|
|
'M96.618,36.592l-0', # papiers/e
|
|
|
|
|
'M105.127,26.812l1', # papiers/n
|
|
|
|
|
'M111.078,28.917l0', # papiers/t
|
|
|
|
|
'M119.033,40.591l0', # papiers/i
|
|
|
|
|
'M123.222,26.927l0', # papiers/t
|
|
|
|
|
'M131.074,39.075l0', # papiers/e
|
|
|
|
|
'M92.208,95.872H59', # travail/briefcase parts
|
|
|
|
|
'M81.853,95.268c0,', # "
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
parser = argparse.ArgumentParser()
|
|
|
|
|
parser.add_argument('path', help='out path')
|
|
|
|
@ -102,24 +102,35 @@ for filename in filenames:
|
|
|
|
|
outname = names.get(re.search(r'\d+', filename).group())
|
|
|
|
|
|
|
|
|
|
fd = open('tmp-%s.svg' % outname, 'w')
|
|
|
|
|
fd.write(open(os.path.join('pictos', filename)).read().replace(
|
|
|
|
|
'E0037A', args.primary).replace(
|
|
|
|
|
'6D1F80', args.secondary))
|
|
|
|
|
fd.write(
|
|
|
|
|
open(os.path.join('pictos', filename))
|
|
|
|
|
.read()
|
|
|
|
|
.replace('E0037A', args.primary)
|
|
|
|
|
.replace('6D1F80', args.secondary)
|
|
|
|
|
)
|
|
|
|
|
fd.close()
|
|
|
|
|
subprocess.call([inkscape, '--without-gui',
|
|
|
|
|
'--file', 'tmp-%s.svg' % outname,
|
|
|
|
|
subprocess.call(
|
|
|
|
|
[
|
|
|
|
|
inkscape,
|
|
|
|
|
'--without-gui',
|
|
|
|
|
'--file',
|
|
|
|
|
'tmp-%s.svg' % outname,
|
|
|
|
|
'--export-area-page',
|
|
|
|
|
'--export-png', os.path.join(path_out, '%s.png' % outname),
|
|
|
|
|
'--export-width', '128'])
|
|
|
|
|
'--export-png',
|
|
|
|
|
os.path.join(path_out, '%s.png' % outname),
|
|
|
|
|
'--export-width',
|
|
|
|
|
'128',
|
|
|
|
|
]
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
tree = ET.parse(open(os.path.join('pictos', filename)))
|
|
|
|
|
parent_map = {c:p for p in tree.iter() for c in p}
|
|
|
|
|
parent_map = {c: p for p in tree.iter() for c in p}
|
|
|
|
|
for i in range(10):
|
|
|
|
|
for node in tree.iter():
|
|
|
|
|
tag_name = node.tag.split('}')[-1]
|
|
|
|
|
if tag_name == 'svg':
|
|
|
|
|
continue
|
|
|
|
|
if tag_name == 'g': # keep groups
|
|
|
|
|
if tag_name == 'g': # keep groups
|
|
|
|
|
continue
|
|
|
|
|
if tag_name in ('linearGradient', 'polygon', 'rect', 'clipPath', 'polyline', 'circle'):
|
|
|
|
|
if tag_name == 'circle' and outname == 'transport':
|
|
|
|
@ -166,12 +177,14 @@ for filename in filenames:
|
|
|
|
|
del node.attrib['style']
|
|
|
|
|
if tag_name == 'path':
|
|
|
|
|
if node.attrib.get('fill') == '#FFFFFF' or (
|
|
|
|
|
node.attrib['d'].startswith('M120.281,98.383c-1') or # travail/skirt
|
|
|
|
|
node.attrib['d'].startswith('M108.574,71.064L') or # logement/house
|
|
|
|
|
node.attrib['d'].startswith('M37.523,66.207c0,5') or # transport/wheel
|
|
|
|
|
node.attrib['d'].startswith('M-9.2,66.207c0,5.2') or # transport/other wheel
|
|
|
|
|
node.attrib['d'].startswith('M96.33,80.938H84.') # travail/briefcase outline
|
|
|
|
|
):
|
|
|
|
|
node.attrib['d'].startswith('M120.281,98.383c-1')
|
|
|
|
|
or node.attrib['d'].startswith('M108.574,71.064L') # travail/skirt
|
|
|
|
|
or node.attrib['d'].startswith('M37.523,66.207c0,5') # logement/house
|
|
|
|
|
or node.attrib['d'].startswith('M-9.2,66.207c0,5.2') # transport/wheel
|
|
|
|
|
or node.attrib['d'].startswith( # transport/other wheel
|
|
|
|
|
'M96.33,80.938H84.'
|
|
|
|
|
) # travail/briefcase outline
|
|
|
|
|
):
|
|
|
|
|
node.attrib['fill'] = 'none'
|
|
|
|
|
node.attrib['stroke'] = '#FFFFFF'
|
|
|
|
|
else:
|
|
|
|
@ -180,8 +193,16 @@ for filename in filenames:
|
|
|
|
|
node.attrib['fill'] = 'none'
|
|
|
|
|
node.attrib['stroke'] = '#FFFFFF'
|
|
|
|
|
tree.write('tmp-%s.svg' % outname)
|
|
|
|
|
subprocess.call([inkscape, '--without-gui',
|
|
|
|
|
'--file', 'tmp-%s.svg' % outname,
|
|
|
|
|
'--export-area-page',
|
|
|
|
|
'--export-png', os.path.join(path_out, '%s-on.png' % outname),
|
|
|
|
|
'--export-width', '128'])
|
|
|
|
|
subprocess.call(
|
|
|
|
|
[
|
|
|
|
|
inkscape,
|
|
|
|
|
'--without-gui',
|
|
|
|
|
'--file',
|
|
|
|
|
'tmp-%s.svg' % outname,
|
|
|
|
|
'--export-area-page',
|
|
|
|
|
'--export-png',
|
|
|
|
|
os.path.join(path_out, '%s-on.png' % outname),
|
|
|
|
|
'--export-width',
|
|
|
|
|
'128',
|
|
|
|
|
]
|
|
|
|
|
)
|
|
|
|
|