-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtable.py
94 lines (76 loc) · 3.07 KB
/
table.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
from shape import draw_broadleaved_symbol, draw_needleleaved_symbol, get_symbol_label
import svgwrite
BASE_CONVEXITY = 0.3
concavity = 3
dot1 = 1.4
dot2 = 1.8
dot3 = 2.2
DOTS = (None, [dot1], [dot1, dot2], [dot1, dot2, dot3])
b1 = 1.4
b2 = 1.8
b3 = 2.2
BRANCHES = (None, [b1], [b1, b2], [b1, b2, b3])
CENTRE = (None, "p", "o")
filename = "symbols-table.svg"
dwg = svgwrite.Drawing(filename, size=("6000", "5500"), profile="full")
dwg.embed_font(name="Alfphabet", filename="fonts/Alfphabet-III.otf")
dwg.embed_stylesheet(
"""
.label {
font-family: "Alfphabet";
font-size: 14;
font-weight: bold;
}"""
)
X = list(range(250, 6250, 500))
Y = list(range(250, 6250, 500))
ii = 0
ORIGINS = ((X[0], Y[0]), (X[4], Y[0]), (X[8], Y[0]))
for c in CENTRE:
dwg = draw_broadleaved_symbol(dwg, ORIGINS[ii], 1, "circular", 0, None, c, True)
ii = ii + 1
ii = 0
ORIGINS = (
(X[1], Y[0]), (X[2], Y[0]), (X[3], Y[0]), (X[5], Y[0]), (X[6], Y[0]), (X[7], Y[0]), (X[9], Y[0]), (X[10], Y[0]), (X[11], Y[0]),
(X[1], Y[1]), (X[2], Y[1]), (X[3], Y[1]), (X[5], Y[1]), (X[6], Y[1]), (X[7], Y[1]), (X[9], Y[1]), (X[10], Y[1]), (X[11], Y[1]),
)
for n in (3, 5):
for c in CENTRE:
for d in DOTS[1:4]:
dwg = draw_broadleaved_symbol(dwg, ORIGINS[ii], n, "circular", 0, d, c, True)
ii = ii + 1
for n in (3, 4, 5):
convexity = BASE_CONVEXITY + n / 10
dwg = draw_broadleaved_symbol(dwg, (X[0], Y[n-1]), n, "convex", convexity, None, None, True)
dwg = draw_broadleaved_symbol(dwg, (X[4], Y[n-1]), n, "convex", convexity, None, "p", True)
dwg = draw_broadleaved_symbol(dwg, (X[8], Y[n-1]), n, "convex", convexity, None, "o", True)
ii = 0
ORIGINS = (
(X[1], Y[n-1]), (X[2], Y[n-1]), (X[3], Y[n-1]), (X[5], Y[n-1]), (X[6], Y[n-1]), (X[7], Y[n-1]), (X[9], Y[n-1]), (X[10], Y[n-1]), (X[11], Y[n-1])
)
for c in CENTRE:
for d in DOTS[1:4]:
dwg = draw_broadleaved_symbol(dwg, ORIGINS[ii], n, "convex", convexity, d, c, True)
ii = ii + 1
for n in (3, 4, 5):
dwg = draw_broadleaved_symbol(dwg, (X[0], Y[n+2]), n, "concave", concavity, None, None, True)
dwg = draw_broadleaved_symbol(dwg, (X[4], Y[n+2]), n, "concave", concavity, None, "p", True)
dwg = draw_broadleaved_symbol(dwg, (X[8], Y[n+2]), n, "concave", concavity, None, "o", True)
ii = 0
ORIGINS = (
(X[1], Y[n+2]), (X[2], Y[n+2]), (X[3], Y[n+2]), (X[5], Y[n+2]), (X[6], Y[n+2]), (X[7], Y[n+2]), (X[9], Y[n+2]), (X[10], Y[n+2]), (X[11], Y[n+2])
)
for c in CENTRE:
for d in DOTS[1:4]:
dwg = draw_broadleaved_symbol(dwg, ORIGINS[ii], n, "concave", concavity, d, c, True)
ii = ii + 1
for n in (3, 4, 5):
ii = 0
ORIGINS = (
(X[0], Y[n+5]), (X[1], Y[n+5]), (X[2], Y[n+5]), (X[3], Y[n+5]), (X[4], Y[n+5]), (X[5], Y[n+5]), (X[6], Y[n+5]), (X[7], Y[n+5]), (X[8], Y[n+5]), (X[9], Y[n+5]), (X[10], Y[n+5]), (X[11], Y[n+5])
)
for c in CENTRE:
for branch in BRANCHES:
draw_needleleaved_symbol(dwg, ORIGINS[ii], n, branch, c, True)
ii = ii + 1
dwg.save(pretty=True)