85726d57257438bcd3fd9df5d3a060d6c96b3229
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">
12 <rect x="0" y="0" width="230" height="230" fill="white"/>
13 <rect x="0" y="115" width="230" height="115"/>
17 black_top
= '<circle cx="115" cy="115" r="100" fill="black" mask="url(#stripe)"/>'
18 white_bottom
= '<circle cx="115" cy="115" r="100" fill="whitesmoke" stroke="saddlebrown"/>'
19 white_top
= '<circle cx="115" cy="115" r="100" fill="whitesmoke" stroke="saddlebrown" mask="url(#stripe)"/>'
20 black_bottom
= '<circle cx="115" cy="115" r="100" fill="black"/>'
25 '<path d="M130,35 v60"',
27 '<path d="M100,35 h30 v30 h-30 v30 h30"',
29 '<path d="M100,35 h30 v30 h-30 M130,65 v30 h-30"',
31 '<path d="M100,35 v30 h30 v30 M130,35 v30"',
33 '<path d="M130,35 h-30 v30 h30 v30 h-30"',
35 '<path d="M130,35 h-30 v60 h30 v-30 h-30"',
37 '<path d="M100,35 h30 v60"',
39 '<path d="M100,35 h30 v60 h-30 z M100,65 h30"',
41 '<path d="M100,95 h30 v-60 h-30 v30 h30"',
43 '<path d="M90,35 v60 M100,35 h30 v60 h-30 v-60"',
45 '<path d="M90,35 v60 M130,35 v60"',
47 '<path d="M90,35 v60 M100,35 h30 v30 h-30 v30 h30"'
51 '<path d="M130,135 v60"',
53 '<path d="M100,135 h30 v30 h-30 v30 h30"',
55 '<path d="M100,135 h30 v30 h-30 M130,165 v30 h-30"',
57 '<path d="M100,135 v30 h30 v30 M130,135 v30"',
59 '<path d="M130,135 h-30 v30 h30 v30 h-30"',
61 '<path d="M130,135 h-30 v60 h30 v-30 h-30"',
63 '<path d="M100,135 h30 v60"',
65 '<path d="M100,135 h30 v60 h-30 z M100,165 h30"',
67 '<path d="M100,195 h30 v-60 h-30 v30 h30"',
69 '<path d="M90,135 v60 M100,135 h30 v60 h-30 v-60"',
71 '<path d="M90,135 v60 M130,135 v60"',
73 '<path d="M90,135 v60 M100,135 h30 v30 h-30 v30 h30"'
79 for colorTop
in ["white", "black"]:
80 chrShift
= 0 if colorTop
== "white" else 32
82 for bottom
in range(12):
83 filename
= chr(65 + top
+ chrShift
) + chr(65 + bottom
+ chrShift
) + ".svg"
84 f
= open(filename
, "w")
87 f
.write(black_bottom
if colorTop
== "white" else white_bottom
)
89 f
.write(white_top
if colorTop
== "white" else black_top
)
92 f
.write(digits
["top"][top
] + ' fill="none" stroke-width="5" ' + ('stroke="red"' if colorTop
== "white" else 'stroke="orange"') + '/>')
95 f
.write(digits
["bottom"][bottom
] + ' fill="none" stroke-width="5" ' + ('stroke="red"' if colorTop
== "black" else 'stroke="orange"') + '/>')