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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
#! /bin/sh
makearrow()
{
cat <<EOT
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="64px"
height="64px">
<g>
<path
d="M 32,63 L 32,$ya C $xg,$yd $xi,$yc $xe,$yb"
style="fill:none;stroke:#${colval};stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
<path
transform="translate($xe,$yb) scale(3) rotate($angle)"
d="M -4,1 L 0,-7 L 4,1 C 2,-1 -2,-1 -4,1"
style="fill:#${colval};stroke:#${colval};stroke-linejoin:round"
/>
</g>
</svg>
EOT
}
for col in bk wh
do
case $col in
bk)
colval="000000"
;;
wh)
colval="ffffff"
;;
esac
for dir in left right
do
case $dir in
left)
angle=360
step=-45
xa=33.5
xb=26
xc=16
xd=22
xf=32
xh=28
;;
right)
angle=0
step=45
xa=30
xb=38
xc=48
xd=42
xf=32
xh=36
;;
esac
for st in 1 2 3
do
case $st in
1)
ya=42
yb=20
yc=31
yd=31
xe=$xd
xg=$xf
xi=$xf
;;
2)
ya=25
yb=20
yc=20
yd=22
xe=$xd
xg=$xf
xi=$xh
;;
3)
ya=32
yb=26
yc=16
yd=10
xe=$xc
xg=$xa
xi=$xb
;;
esac
angle=$((angle+step))
filename="nav_${dir}_${st}_$col.svg"
makearrow >$filename
done
done
filename="nav_straight_$col.svg"
xa=32
xb=32
xc=32
xd=32
xe=32
xf=32
xg=32
xh=32
xi=32
angle=0
makearrow >$filename
done
|