3 # Compose each piece SVG with numbers
4 # https://travishorn.com/removing-parts-of-shapes-in-svg-b539a89e5649
5 # https://developer.mozilla.org/fr/docs/Web/SVG/Tutoriel/Paths
7 preamble
= """<?xml version="1.0" encoding="UTF-8" ?>
8 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
9 <svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="230" height="230">"""
11 black
= '<circle cx="115" cy="115" r="100" fill="black" stroke="orange"/>'
12 white
= '<circle cx="115" cy="115" r="100" fill="whitesmoke" stroke="orange"/>'
16 '<path d="M125,95 v40" stroke="red" fill="none" stroke-width="2"/>',
18 '<path d="M105,95 h20 v20 h-20 v20 h20" stroke="red" fill="none" stroke-width="2"/>',
20 '<path d="M105,95 h20 v20 h-20 M125,115 v20 h-20" stroke="red" fill="none" stroke-width="2"/>',
22 '<path d="M105,95 v20 h20 v20 M125,95 v20" stroke="red" fill="none" stroke-width="2"/>',
24 '<path d="M125,95 h-20 v20 h20 v20 h-20" stroke="red" fill="none" stroke-width="2"/>',
26 '<path d="M125,95 h-20 v40 h20 v-20 h-20" stroke="red" fill="none" stroke-width="2"/>',
28 '<path d="M105,95 h20 v40" stroke="red" fill="none" stroke-width="2"/>',
30 '<path d="M105,95 h20 v40 h-20 z M105,115 h20" stroke="red" fill="none" stroke-width="2"/>',
32 '<path d="M105,135 h20 v-40 h-20 v20 h20" stroke="red" fill="none" stroke-width="2"/>',
34 '<path d="M100,95 v40 M110,95 h20 v40 h-20 v-40" stroke="red" fill="none" stroke-width="2"/>',
36 '<path d="M100,95 v40 M130,95 v40" stroke="red" fill="none" stroke-width="2"/>',
38 '<path d="M100,95 v40 M110,95 h20 v20 h-20 M130,115 v20 h-20" stroke="red" fill="none" stroke-width="2"/>'
43 for color
in ["white", "black"]:
44 chrShift
= 0 if color
== "white" else 32
45 for number
in range(12):
46 filename
= chr(65 + number
+ chrShift
) + "_.svg"
47 f
= open(filename
, "w")
50 f
.write(white
if color
== "white" else black
)
52 f
.write(digits
[number
])