Commit | Line | Data |
---|---|---|
e0798172 BA |
1 | #!/usr/bin/env python |
2 | ||
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 | |
6 | ||
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">""" | |
10 | ||
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"/>' | |
13 | ||
14 | digits = [ | |
15 | # 1 | |
b27300c2 | 16 | '<path d="M125,95 v40"', |
e0798172 | 17 | # 2 |
b27300c2 | 18 | '<path d="M105,95 h20 v20 h-20 v20 h20"', |
e0798172 | 19 | # 3 |
b27300c2 | 20 | '<path d="M105,95 h20 v20 h-20 M125,115 v20 h-20"', |
e0798172 | 21 | # 4 |
b27300c2 | 22 | '<path d="M105,95 v20 h20 v20 M125,95 v20"', |
e0798172 | 23 | # 5 |
b27300c2 | 24 | '<path d="M125,95 h-20 v20 h20 v20 h-20"', |
e0798172 | 25 | # 6 |
b27300c2 | 26 | '<path d="M125,95 h-20 v40 h20 v-20 h-20"', |
e0798172 | 27 | # 7 |
b27300c2 | 28 | '<path d="M105,95 h20 v40"', |
e0798172 | 29 | # 8 |
b27300c2 | 30 | '<path d="M105,95 h20 v40 h-20 z M105,115 h20"', |
e0798172 | 31 | # 9 |
b27300c2 | 32 | '<path d="M105,135 h20 v-40 h-20 v20 h20"', |
e0798172 | 33 | # 10 |
b27300c2 | 34 | '<path d="M100,95 v40 M110,95 h20 v40 h-20 v-40"', |
e0798172 | 35 | # 11 |
b27300c2 | 36 | '<path d="M100,95 v40 M130,95 v40"', |
e0798172 | 37 | # 12 |
b27300c2 | 38 | '<path d="M100,95 v40 M110,95 h20 v20 h-20 M130,115 v20 h-20"' |
e0798172 BA |
39 | ] |
40 | ||
41 | final = "</svg>" | |
42 | ||
43 | for color in ["white", "black"]: | |
44 | chrShift = 0 if color == "white" else 32 | |
45 | for number in range(12): | |
d982fffc | 46 | filename = chr(65 + number + chrShift) + "@.svg" |
e0798172 BA |
47 | f = open(filename, "w") |
48 | f.write(preamble) | |
b27300c2 | 49 | f.write("\n") |
e0798172 | 50 | f.write(white if color == "white" else black) |
b27300c2 BA |
51 | f.write("\n") |
52 | f.write(digits[number] + ' fill="none" stroke-width="4" ' + ('stroke="red"' if color == "white" else 'stroke="orange"') + '/>') | |
53 | f.write("\n") | |
e0798172 BA |
54 | f.write(final) |
55 | f.close() |