Process file; icons test drawing; new icons.

This commit is contained in:
Sergey Vartanov 2015-08-06 00:46:29 +03:00
parent f22f63e7c3
commit 4877a1fc28
4 changed files with 441 additions and 129 deletions

361
icons.svg
View file

@ -13,7 +13,7 @@
height="600px"
id="svg2987"
version="1.1"
inkscape:version="0.48.5 r10040"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="icons.svg">
<defs
id="defs2989" />
@ -24,9 +24,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.627417"
inkscape:cx="140.48624"
inkscape:cy="438.6732"
inkscape:zoom="8"
inkscape:cx="241.75393"
inkscape:cy="525.66607"
inkscape:current-layer="layer1"
inkscape:document-units="px"
showgrid="true"
@ -34,10 +34,10 @@
inkscape:guide-bbox="true"
inkscape:object-paths="true"
inkscape:snap-bbox="true"
inkscape:window-width="1440"
inkscape:window-width="1045"
inkscape:window-height="969"
inkscape:window-x="29"
inkscape:window-y="46"
inkscape:window-x="68"
inkscape:window-y="110"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
@ -384,7 +384,8 @@
inkscape:connector-curvature="0"
id="traffic_signals_2"
d="m 103,65 c -0.554,0 -1,0.446 -1,1 l 0,2 c 0,0.1879 0.0668,0.35013 0.15625,0.5 C 102.06682,68.64987 102,68.8121 102,69 l 0,2 c 0,0.1879 0.0668,0.35013 0.15625,0.5 C 102.06682,71.64987 102,71.8121 102,72 l 0,2 c 0,0.554 0.446,1 1,1 l 0.5,0 0,3 -1.5,0 0,1 4,0 0,-1 -1.5,0 0,-3 0.5,0 c 0.554,0 1,-0.446 1,-1 l 0,-2 c 0,-0.1879 -0.0668,-0.35013 -0.15625,-0.5 C 105.93318,71.35013 106,71.1879 106,71 l 0,-2 c 0,-0.1879 -0.0668,-0.35013 -0.15625,-0.5 C 105.93318,68.35013 106,68.1879 106,68 l 0,-2 c 0,-0.554 -0.446,-1 -1,-1 z m 0,1 2,0 0,2 -2,0 z m 0,3 2,0 0,2 -2,0 z m 0,3 2,0 0,2 -2,0 z"
inkscape:label="#d_traffic_signal" />
inkscape:label="#d_traffic_signal"
style="fill:#d40000" />
<path
inkscape:connector-curvature="0"
id="path3052"
@ -674,7 +675,7 @@
<path
style="fill:#000000;fill-opacity:1;stroke:none"
d="m 220,37 -1,0 0,1 1,0 0,-1 z m -1,1 -1,0 0,-1 -1,0 0,1 -1,0 0,-1 -1,0 0,1 -1,0 0,-1 -1,0 0,1 -1,0 0,1 -1,0 0,1 1,0 0,1 -1,0 0,1 1,0 0,1 1,0 0,1 1,0 0,-1 1,0 0,1 1,0 0,-1 1,0 0,1 1,0 0,-1 1,0 0,-1 1,0 0,-1 -1,0 0,-1 1,0 0,-1 -1,0 0,-1 z m 0,5 0,1 1,0 0,-1 -1,0 z m -7,0 -1,0 0,1 1,0 0,-1 z m 0,-5 0,-1 -1,0 0,1 1,0 z m 6,1 0,3 -5,0 0,-3 5,0 z"
id="picture"
id="picture_2"
inkscape:connector-curvature="0"
inkscape:label="#post_office" />
<path
@ -828,9 +829,9 @@
style="fill:#808080;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
<path
style="fill:#000000;fill-opacity:1;stroke:none"
style="fill:#d40000;fill-opacity:1;stroke:none"
d="m 119,67 c -0.554,0 -1,0.446 -1,1 l 0,2 c 0,0.1879 0.0668,0.35013 0.15625,0.5 C 118.06682,70.64987 118,70.8121 118,71 l 0,0.875 1.875,-1.875 -0.875,0 0,-2 2,0 0,0.875 0.96875,-0.96875 C 121.91681,67.401727 121.5187,67 121,67 l -2,0 z m 4.65625,0.65625 -8,8 0.6875,0.6875 8,-8 -0.6875,-0.6875 z M 122,72.125 120.125,74 121,74 l 0,2 -2,0 0,-0.875 -0.96875,0.96875 C 118.08319,76.59827 118.4813,77 119,77 l 2,0 c 0.554,0 1,-0.446 1,-1 l 0,-2 c 0,-0.1879 -0.0668,-0.35013 -0.15625,-0.5 C 121.93318,73.35013 122,73.1879 122,73 l 0,-0.875 z"
id="no_traffic_signals"
id="no_traffic_signals_2"
inkscape:label="#path3167"
inkscape:connector-curvature="0" />
<path
@ -1385,10 +1386,8 @@
inkscape:connector-curvature="0" />
<path
style="fill:#000000;fill-opacity:1;stroke:none"
d="m 131.5,102 c -0.277,0 -0.5,0.223 -0.5,0.5 l 0,6 c 0,0.277 0.223,0.5 0.5,0.5 0.277,0 0.5,-0.223 0.5,-0.5 l 0,-6 c 0,-0.277 -0.223,-0.5 -0.5,-0.5 z m 9,0 c -0.277,0 -0.5,0.223 -0.5,0.5 l 0,6 c 0,0.277 0.223,0.5 0.5,0.5 0.277,0 0.5,-0.223 0.5,-0.5 l 0,-6 c 0,-0.277 -0.223,-0.5 -0.5,-0.5 z m -7,1 c -0.277,0 -0.5,0.223 -0.5,0.5 l 0,2 0,2 c 0,0.277 0.223,0.5 0.5,0.5 0.277,0 0.5,-0.223 0.5,-0.5 l 0,-1.5 0.5,0 c 0.277,0 0.5,-0.223 0.5,-0.5 l 0,-2 c 0,-0.277 -0.223,-0.5 -0.5,-0.5 l -1,0 z m 4,0 c -0.277,0 -0.5,0.223 -0.5,0.5 l 0,2 c 0,0.277 0.223,0.5 0.5,0.5 l 0.5,0 0,1.5 c 0,0.277 0.223,0.5 0.5,0.5 0.277,0 0.5,-0.223 0.5,-0.5 l 0,-2 0,-2 c 0,-0.277 -0.223,-0.5 -0.5,-0.5 l -1,0 z"
id="turnstile"
inkscape:label="#rect4416"
inkscape:connector-curvature="0" />
d="M 129.5 101 C 129.223 101 129 101.223 129 101.5 L 129 108.5 C 129 108.777 129.223 109 129.5 109 L 130.5 109 C 130.777 109 131 108.777 131 108.5 L 131 101.5 C 131 101.223 130.777 101 130.5 101 L 129.5 101 z M 140.5 101 C 140.223 101 140 101.223 140 101.5 L 140 108.5 C 140 108.777 140.223 109 140.5 109 L 141.5 109 C 141.777 109 142 108.777 142 108.5 L 142 101.5 C 142 101.223 141.777 101 141.5 101 L 140.5 101 z M 132.5 102 C 132.223 102 132 102.223 132 102.5 L 132 105.5 L 132 107.5 C 132 107.777 132.223 108 132.5 108 C 132.777 108 133 107.777 133 107.5 L 133 106 L 134.5 106 C 134.777 106 135 105.777 135 105.5 L 135 102.5 C 135 102.223 134.777 102 134.5 102 L 132.5 102 z M 136.5 102 C 136.223 102 136 102.223 136 102.5 L 136 105.5 C 136 105.777 136.223 106 136.5 106 L 138 106 L 138 107.5 C 138 107.777 138.223 108 138.5 108 C 138.777 108 139 107.777 139 107.5 L 139 105.5 L 139 102.5 C 139 102.223 138.777 102 138.5 102 L 136.5 102 z "
id="turnstile" />
<rect
ry="0.5"
y="86"
@ -2208,7 +2207,7 @@
inkscape:connector-curvature="0" />
<path
style="fill:#000000;stroke:none"
d="m 246,99 c -0.554,0 -1,0.446 -1,1 l 0,5 c 0,0.554 0.446,1 1,1 l 1,2 0.5,3 1,0 0.5,-3 1,-2 c 0.554,0 1,-0.446 1,-1 l 0,-5 c 0,-0.554 -0.446,-1 -1,-1 l -4,0 z m 1,7 2,0 -1,1.5 -1,-1.5 z"
d="m 246,98 c -0.554,0 -1,0.446 -1,1 l 0,5 c 0,0.554 0.446,1 1,1 l 1,2 0.5,3 1,0 0.5,-3 1,-2 c 0.554,0 1,-0.446 1,-1 l 0,-5 c 0,-0.554 -0.446,-1 -1,-1 l -4,0 z m 1,7 2,0 -1,1.5 -1,-1.5 z"
id="tree"
inkscape:label="#rect4612"
inkscape:connector-curvature="0" />
@ -2316,7 +2315,7 @@
inkscape:label="#path3428" />
<path
style="fill:#000000;stroke:none"
d="m 200,69 c -0.554,0 -1,0.446 -1,1 l 2,0 c 0,-0.554 -0.446,-1 -1,-1 z m -1,2 0,5 2,0 0,-5 -2,0 z m -3,6 0,1 8,0 0,-1 -8,0 z"
d="m 200,133 c -0.554,0 -1,0.446 -1,1 l 2,0 c 0,-0.554 -0.446,-1 -1,-1 z m -1,2 0,5 2,0 0,-5 -2,0 z m -3,6 0,1 8,0 0,-1 -8,0 z"
id="bollard"
inkscape:label="#rect3445"
inkscape:connector-curvature="0" />
@ -2494,7 +2493,7 @@
rx="0.5" />
<path
style="color:#000000;fill:#000000;stroke:none;stroke-width:0.30000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="m 100,35 c -0.554,0 -1,0.446 -1,1 l 0,7 c 0,0.554 0.446,1 1,1 l 7,0 c 0.554,0 1,-0.446 1,-1 l 0,-7 c 0,-0.554 -0.446,-1 -1,-1 l -7,0 z m 3.5,1 c 1.933,0 3.5,1.567003 3.5,3.5 0,1.932997 -1.567,3.5 -3.5,3.5 -1.933,0 -3.5,-1.567003 -3.5,-3.5 0,-1.932997 1.567,-3.5 3.5,-3.5 z m 0,1 c -0.277,0 -0.5,0.223 -0.5,0.5 l 0,2 c 0,0.277 0.223,0.5 0.5,0.5 l 2,0 c 0.277,0 0.5,-0.223 0.5,-0.5 0,-0.277 -0.223,-0.5 -0.5,-0.5 l -1.5,0 0,-1.5 c 0,-0.277 -0.223,-0.5 -0.5,-0.5 z"
d="m 100,36 c -0.554,0 -1,0.446 -1,1 l 0,7 c 0,0.554 0.446,1 1,1 l 7,0 c 0.554,0 1,-0.446 1,-1 l 0,-7 c 0,-0.554 -0.446,-1 -1,-1 l -7,0 z m 3.5,1 c 1.933,0 3.5,1.567003 3.5,3.5 0,1.932997 -1.567,3.5 -3.5,3.5 -1.933,0 -3.5,-1.567003 -3.5,-3.5 0,-1.932997 1.567,-3.5 3.5,-3.5 z m 0,1 c -0.277,0 -0.5,0.223 -0.5,0.5 l 0,2 c 0,0.277 0.223,0.5 0.5,0.5 l 2,0 c 0.277,0 0.5,-0.223 0.5,-0.5 0,-0.277 -0.223,-0.5 -0.5,-0.5 l -1.5,0 0,-1.5 c 0,-0.277 -0.223,-0.5 -0.5,-0.5 z"
id="clock"
inkscape:label="#rect4444"
inkscape:connector-curvature="0" />
@ -2532,7 +2531,7 @@
inkscape:label="#path3411" />
<path
style="fill:#000000;stroke:none"
d="m 184,74 c -4,0 -3,3 -6.5,3 -0.27614,0 -0.5,0.223858 -0.5,0.5 0,0.276142 0.22386,0.5 0.5,0.5 l 13,0 c 0.27614,0 0.5,-0.223858 0.5,-0.5 0,-0.276142 -0.22386,-0.5 -0.5,-0.5 -3.5,0 -2.5,-3 -6.5,-3 z"
d="m 184,138 c -4,0 -3,3 -6.5,3 -0.27614,0 -0.5,0.22386 -0.5,0.5 0,0.27614 0.22386,0.5 0.5,0.5 l 13,0 c 0.27614,0 0.5,-0.22386 0.5,-0.5 0,-0.27614 -0.22386,-0.5 -0.5,-0.5 -3.5,0 -2.5,-3 -6.5,-3 z"
id="bump"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsssscc" />
@ -2813,7 +2812,8 @@
<path
style="fill:#000000;fill-opacity:1;stroke:none"
d="M 72 290 C 71.834211 290 71.66239 290.01806 71.5 290.03125 C 74.02128 290.2873 76 292.41117 76 295 C 76 297.76142 73.761424 300 71 300 C 68.411165 300 66.2873 298.02128 66.03125 295.5 C 66.01806 295.66239 66 295.83421 66 296 C 66 299.31371 68.686292 302 72 302 C 75.313708 302 78 299.31371 78 296 C 78 292.68629 75.313708 290 72 290 z "
id="path4443" />
id="muslim"
inkscape:label="#path4443" />
<path
sodipodi:type="arc"
style="fill:none;stroke:#d4aa00;stroke-linecap:round"
@ -3199,14 +3199,15 @@
style="color:#000000;fill:#ffd5d5;stroke:none;stroke-width:0.30000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
style="fill:#000000;fill-opacity:1;stroke:none"
d="M 247 65 L 247 67 L 245 67 L 245 68 C 246.10457 68 247 68.895431 247 70 L 247 71 L 245 71 L 245 72 C 246.10457 72 247 72.895431 247 74 L 247 75 L 245 75 L 245 76 C 246.10457 76 247 76.895431 247 78 L 247 79 L 251 79 L 251 78 C 251 76.895431 251.89543 76 253 76 L 253 75 L 251 75 L 251 74 C 251 72.895431 251.89543 72 253 72 L 253 71 L 251 71 L 251 70 C 251 68.895431 251.89543 68 253 68 L 253 67 L 251 67 L 251 65 L 247 65 z M 248 67 L 250 67 L 250 69 L 248 69 L 248 67 z M 248 71 L 250 71 L 250 73 L 248 73 L 248 71 z M 248 75 L 250 75 L 250 77 L 248 77 L 248 75 z "
id="traffic_signals" />
d="m 246,65 0,2 -2,0 0,1 c 1.10457,0 2,0.895431 2,2 l 0,1 -2,0 0,1 c 1.10457,0 2,0.895431 2,2 l 0,1 -2,0 0,1 c 1.10457,0 2,0.895431 2,2 l 0,1 4,0 0,-1 c 0,-1.104569 0.89543,-2 2,-2 l 0,-1 -2,0 0,-1 c 0,-1.104569 0.89543,-2 2,-2 l 0,-1 -2,0 0,-1 c 0,-1.104569 0.89543,-2 2,-2 l 0,-1 -2,0 0,-2 -4,0 z m 1,2 2,0 0,2 -2,0 0,-2 z m 0,4 2,0 0,2 -2,0 0,-2 z m 0,4 2,0 0,2 -2,0 0,-2 z"
id="traffic_signals"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccc"
inkscape:connector-curvature="0"
inkscape:label="#path3621"
id="path3631"
d="m 222,65 0,2 -2,0 0,1 2,2 0,1 -2,0 0,1 2,2 0,1 -2,0 0,1 2,2 0,1 4,0 0,-1 2,-2 0,-1 -2,0 0,-1 2,-2 0,-1 -2,0 0,-1 2,-2 0,-1 -2,0 0,-2 z m 1,2 2,0 0,2 -2,0 z m 0,4 2,0 0,2 -2,0 z m 0,4 2,0 0,2 -2,0 z"
d="m 198,49 0,2 -2,0 0,1 2,2 0,1 -2,0 0,1 2,2 0,1 -2,0 0,1 2,2 0,1 4,0 0,-1 2,-2 0,-1 -2,0 0,-1 2,-2 0,-1 -2,0 0,-1 2,-2 0,-1 -2,0 0,-2 z m 1,2 2,0 0,2 -2,0 z m 0,4 2,0 0,2 -2,0 z m 0,4 2,0 0,2 -2,0 z"
style="fill:#000000;fill-opacity:1;stroke:none" />
<path
sodipodi:type="arc"
@ -3586,5 +3587,319 @@
d="M 145.5 161 C 145.223 161 145 161.223 145 161.5 C 145 161.777 145.223 162 145.5 162 L 157 162 L 157 174.5 C 157 174.777 157.223 175 157.5 175 C 157.777 175 158 174.777 158 174.5 L 158 162 L 158.5 162 C 158.777 162 159 161.777 159 161.5 C 159 161.223 158.777 161 158.5 161 L 157.5 161 L 145.5 161 z "
id="bus_stop_shelter"
inkscape:label="#rect4620" />
<path
sodipodi:nodetypes="cccccc"
inkscape:connector-curvature="0"
id="path3536"
d="m 216,125 c -4,0 -2.5,-2 -6,-2 0,2 0,3 0,3 l 12,0 c 0,0 0,-1 0,-3 -3.5,0 -2,2 -6,2 z"
style="fill:#000000;stroke:none" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3542"
width="2"
height="3"
x="209"
y="123"
ry="0.5" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3544"
width="2"
height="3"
x="221"
y="123"
ry="0.5" />
<path
style="fill:#000000;stroke:none"
d="M 209.5 139 C 209.223 139 209 139.223 209 139.5 L 209 141.5 C 209 141.777 209.223 142 209.5 142 L 210.5 142 L 221.5 142 L 222 142 L 222.5 142 C 222.777 142 223 141.777 223 141.5 L 223 139.5 C 223 139.223 222.777 139 222.5 139 L 222 139 L 221.5 139 C 221.46444 139 221.43967 139.02426 221.40625 139.03125 C 221.36665 139.03954 221.31675 139.01424 221.28125 139.03125 C 218.7133 139.29615 219.68846 141 216 141 C 212.29615 141 213.29609 139.28517 210.6875 139.03125 C 210.62764 139.00602 210.56925 139 210.5 139 L 209.5 139 z "
id="lowered_kerb"
inkscape:label="#path3546" />
<path
sodipodi:nodetypes="ccsssscc"
inkscape:connector-curvature="0"
id="traffic_cushion"
d="m 168,140 c -4,0 -3,1 -6.5,1 -0.27614,0 -0.5,0.22386 -0.5,0.5 0,0.27614 0.22386,0.5 0.5,0.5 l 13,0 c 0.27614,0 0.5,-0.22386 0.5,-0.5 0,-0.27614 -0.22386,-0.5 -0.5,-0.5 -3.5,0 -2.5,-1 -6.5,-1 z"
style="fill:#000000;stroke:none"
inkscape:label="#path3553" />
<path
style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 183 193 L 178 196 L 178 197 L 181.8125 197 L 180 206 L 181 206 L 181.625 203 L 186.375 203 L 187 206 L 188 206 L 186.1875 197 L 190 197 L 190 196 L 185 193 L 183 193 z M 183 194 L 185 194 L 188.34375 196 L 179.65625 196 L 183 194 z M 182.8125 197 L 185.1875 197 L 185.59375 199 L 182.40625 199 L 182.8125 197 z M 177 198 L 177 199 L 179 199 L 179 198 L 177 198 z M 189 198 L 189 199 L 191 199 L 191 198 L 189 198 z M 177 200 L 177 201 L 179 201 L 179 200 L 177 200 z M 182.21875 200 L 185.78125 200 L 186.1875 202 L 181.8125 202 L 182.21875 200 z M 189 200 L 189 201 L 191 201 L 191 200 L 189 200 z "
id="power_tower"
inkscape:label="#path3555" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3585"
width="1"
height="11"
x="199"
y="179"
ry="0.5"
rx="0.5" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3587"
width="1"
height="11"
x="202"
y="179"
ry="0.5"
rx="0.5" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3589"
width="1"
height="11"
x="196"
y="179"
ry="0.5"
rx="0.5" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3591"
width="11"
height="1"
x="194"
y="180"
ry="0.5"
rx="0.5" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3593"
width="11"
height="1"
x="194"
y="188"
ry="0.5"
rx="0.5" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3606"
width="11"
height="1"
x="194"
y="184"
ry="0.5"
rx="0.5" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 196.5 195 C 196.223 195 196 195.223 196 195.5 L 196 196 L 194.5 196 C 194.223 196 194 196.223 194 196.5 C 194 196.777 194.223 197 194.5 197 L 196 197 L 196 200 L 194.5 200 C 194.223 200 194 200.223 194 200.5 C 194 200.777 194.223 201 194.5 201 L 196 201 L 196 204 L 194.5 204 C 194.223 204 194 204.223 194 204.5 C 194 204.777 194.223 205 194.5 205 L 196 205 L 196 205.5 C 196 205.777 196.223 206 196.5 206 C 196.777 206 197 205.777 197 205.5 L 197 205 L 199 205 L 199 205.5 C 199 205.777 199.223 206 199.5 206 C 199.777 206 200 205.777 200 205.5 L 200 205 L 202 205 L 202 205.5 C 202 205.777 202.223 206 202.5 206 C 202.777 206 203 205.777 203 205.5 L 203 205 L 204.5 205 C 204.777 205 205 204.777 205 204.5 C 205 204.223 204.777 204 204.5 204 L 203 204 L 203 201 L 204.5 201 C 204.777 201 205 200.777 205 200.5 C 205 200.223 204.777 200 204.5 200 L 203 200 L 203 197 L 204.5 197 C 204.777 197 205 196.777 205 196.5 C 205 196.223 204.777 196 204.5 196 L 203 196 L 203 195.5 C 203 195.223 202.777 195 202.5 195 C 202.223 195 202 195.223 202 195.5 L 202 196 L 200 196 L 200 195.5 C 200 195.223 199.777 195 199.5 195 C 199.223 195 199 195.223 199 195.5 L 199 196 L 197 196 L 197 195.5 C 197 195.223 196.777 195 196.5 195 z M 197 197 L 199 197 L 199 200 L 197 200 L 197 197 z M 200 197 L 202 197 L 202 200 L 200 200 L 200 197 z M 197 201 L 199 201 L 199 204 L 197 204 L 197 201 z M 200 201 L 202 201 L 202 204 L 200 204 L 200 201 z "
id="prison"
inkscape:label="#rect3608" />
<rect
style="color:#000000;fill:#808080;stroke:none;stroke-width:0.29999998000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3621"
width="9.7000055"
height="9"
x="211.14998"
y="179"
ry="0.5"
rx="0.5" />
<rect
style="color:#000000;fill:#ffd5d5;stroke:none;stroke-width:0.30000000999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3623"
width="1"
height="1.9999934"
x="219"
y="178"
ry="0.49999997"
rx="0.5" />
<rect
rx="0.5"
ry="0.49999997"
y="181"
x="219"
height="1.9999934"
width="1"
id="rect3629"
style="color:#000000;fill:#ffd5d5;stroke:none;stroke-width:0.30000000999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
style="color:#000000;fill:#ffd5d5;stroke:none;stroke-width:0.30000000999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3631"
width="1"
height="1.9999934"
x="219"
y="184"
ry="0.49999997"
rx="0.5" />
<rect
rx="0.5"
ry="0.49999997"
y="187"
x="219"
height="1.9999934"
width="1"
id="rect3633"
style="color:#000000;fill:#ffd5d5;stroke:none;stroke-width:0.30000000999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
rx="0.5"
ry="0.49999997"
y="178"
x="212"
height="1.9999934"
width="1"
id="rect3635"
style="color:#000000;fill:#ffd5d5;stroke:none;stroke-width:0.30000000999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
style="color:#000000;fill:#ffd5d5;stroke:none;stroke-width:0.30000000999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3637"
width="1"
height="1.9999934"
x="212"
y="181"
ry="0.49999997"
rx="0.5" />
<rect
rx="0.5"
ry="0.49999997"
y="184"
x="212"
height="1.9999934"
width="1"
id="rect3639"
style="color:#000000;fill:#ffd5d5;stroke:none;stroke-width:0.30000000999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
style="color:#000000;fill:#ffd5d5;stroke:none;stroke-width:0.30000000999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3641"
width="1"
height="1.9999934"
x="212"
y="187"
ry="0.49999997"
rx="0.5" />
<rect
style="color:#000000;fill:#ffd5d5;stroke:none;stroke-width:0.30000000999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3643"
width="3.8499999"
height="7"
x="214"
y="180"
rx="0.49999997"
ry="0.5" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.29999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 211.65625 196 C 211.37925 196 211.15625 196.223 211.15625 196.5 L 211.15625 204.5 C 211.15625 204.777 211.37925 205 211.65625 205 L 212 205 L 212 204.5 C 212 204.223 212.223 204 212.5 204 C 212.777 204 213 204.223 213 204.5 L 213 205 L 219 205 L 219 204.5 C 219 204.223 219.223 204 219.5 204 C 219.777 204 220 204.223 220 204.5 L 220 205 L 220.34375 205 C 220.62075 205 220.84375 204.777 220.84375 204.5 L 220.84375 196.5 C 220.84375 196.223 220.62075 196 220.34375 196 L 220 196 L 220 196.5 C 220 196.777 219.777 197 219.5 197 C 219.223 197 219 196.777 219 196.5 L 219 196 L 213 196 L 213 196.5 C 213 196.777 212.777 197 212.5 197 C 212.223 197 212 196.777 212 196.5 L 212 196 L 211.65625 196 z M 214.5 197 L 217.34375 197 C 217.62075 197 217.84375 197.223 217.84375 197.5 L 217.84375 203.5 C 217.84375 203.777 217.62075 204 217.34375 204 L 214.5 204 C 214.223 204 214 203.777 214 203.5 L 214 197.5 C 214 197.223 214.223 197 214.5 197 z M 212.5 198 C 212.777 198 213 198.223 213 198.5 L 213 199.5 C 213 199.777 212.777 200 212.5 200 C 212.223 200 212 199.777 212 199.5 L 212 198.5 C 212 198.223 212.223 198 212.5 198 z M 219.5 198 C 219.777 198 220 198.223 220 198.5 L 220 199.5 C 220 199.777 219.777 200 219.5 200 C 219.223 200 219 199.777 219 199.5 L 219 198.5 C 219 198.223 219.223 198 219.5 198 z M 212.5 201 C 212.777 201 213 201.223 213 201.5 L 213 202.5 C 213 202.777 212.777 203 212.5 203 C 212.223 203 212 202.777 212 202.5 L 212 201.5 C 212 201.223 212.223 201 212.5 201 z M 219.5 201 C 219.777 201 220 201.223 220 201.5 L 220 202.5 C 220 202.777 219.777 203 219.5 203 C 219.223 203 219 202.777 219 202.5 L 219 201.5 C 219 201.223 219.223 201 219.5 201 z "
id="film"
inkscape:label="#rect3645">
<title
id="title3667">film</title>
</path>
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3674"
width="12"
height="10"
x="146"
y="115"
rx="0.5"
ry="0.5" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3676"
width="8"
height="6"
x="148"
y="117"
rx="0.5"
ry="0.5" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3680"
width="2"
height="2"
x="147"
y="114"
rx="0.5"
ry="0.5" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3682"
width="2"
height="2"
x="151"
y="114"
rx="0.5"
ry="0.5" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3684"
width="2"
height="2"
x="155"
y="114"
rx="0.5"
ry="0.5" />
<rect
ry="0.5"
rx="0.5"
y="124"
x="147"
height="2"
width="2"
id="rect3686"
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
ry="0.5"
rx="0.5"
y="124"
x="151"
height="2"
width="2"
id="rect3688"
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
ry="0.5"
rx="0.5"
y="124"
x="155"
height="2"
width="2"
id="rect3690"
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
ry="0.5"
rx="0.5"
y="117"
x="157"
height="2"
width="2"
id="rect3692"
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3694"
width="2"
height="2"
x="157"
y="121"
rx="0.5"
ry="0.5" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3696"
width="2"
height="2"
x="145"
y="117"
rx="0.5"
ry="0.5" />
<rect
ry="0.5"
rx="0.5"
y="121"
x="145"
height="2"
width="2"
id="rect3698"
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 146.5 131 C 146.223 131 146 131.223 146 131.5 L 146 133 L 146.5 133 C 146.777 133 147 133.223 147 133.5 L 147 134.5 C 147 134.777 146.777 135 146.5 135 L 146 135 L 146 137 L 146.5 137 C 146.777 137 147 137.223 147 137.5 L 147 138.5 C 147 138.777 146.777 139 146.5 139 L 146 139 L 146 140.5 C 146 140.777 146.223 141 146.5 141 L 147 141 L 147 140.5 C 147 140.223 147.223 140 147.5 140 L 148.5 140 C 148.777 140 149 140.223 149 140.5 L 149 141 L 151 141 L 151 140.5 C 151 140.223 151.223 140 151.5 140 L 152.5 140 C 152.777 140 153 140.223 153 140.5 L 153 141 L 155 141 L 155 140.5 C 155 140.223 155.223 140 155.5 140 L 156.5 140 C 156.777 140 157 140.223 157 140.5 L 157 141 L 157.5 141 C 157.777 141 158 140.777 158 140.5 L 158 139 L 157.5 139 C 157.223 139 157 138.777 157 138.5 L 157 137.5 C 157 137.223 157.223 137 157.5 137 L 158 137 L 158 135 L 157.5 135 C 157.223 135 157 134.777 157 134.5 L 157 133.5 C 157 133.223 157.223 133 157.5 133 L 158 133 L 158 131.5 C 158 131.223 157.777 131 157.5 131 L 157 131 L 157 131.5 C 157 131.777 156.777 132 156.5 132 L 155.5 132 C 155.223 132 155 131.777 155 131.5 L 155 131 L 153 131 L 153 131.5 C 153 131.777 152.777 132 152.5 132 L 151.5 132 C 151.223 132 151 131.777 151 131.5 L 151 131 L 149 131 L 149 131.5 C 149 131.777 148.777 132 148.5 132 L 147.5 132 C 147.223 132 147 131.777 147 131.5 L 147 131 L 146.5 131 z M 148.5 133 L 155.5 133 C 155.777 133 156 133.223 156 133.5 L 156 138.5 C 156 138.777 155.777 139 155.5 139 L 148.5 139 C 148.223 139 148 138.777 148 138.5 L 148 133.5 C 148 133.223 148.223 133 148.5 133 z "
id="picture"
inkscape:label="#rect3700" />
<path
id="path3726"
d="m 262,65 0,2 -2,0 0,1 c 1.10457,0 2,0.895431 2,2 l 0,1 -2,0 0,1 c 1.10457,0 2,0.895431 2,2 l 0,1 -2,0 0,1 c 1.10457,0 2,0.895431 2,2 l 0,1 4,0 0,-1 c 0,-1.104569 0.89543,-2 2,-2 l 0,-1 -2,0 0,-1 c 0,-1.104569 0.89543,-2 2,-2 l 0,-1 -2,0 0,-1 c 0,-1.104569 0.89543,-2 2,-2 l 0,-1 -2,0 0,-2 -4,0 z m 1,2 2,0 0,2 -2,0 0,-2 z m 0,4 2,0 0,2 -2,0 0,-2 z m 0,4 2,0 0,2 -2,0 0,-2 z"
style="fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 182 KiB

After

Width:  |  Height:  |  Size: 203 KiB

Before After
Before After

View file

@ -10,6 +10,7 @@ Author: Sergey Vartanov (me@enzet.ru).
import copy
import datetime
import os
import process
import re
import sys
import xml.dom.minidom
@ -82,7 +83,7 @@ def get_d_from_file(file_name):
if path:
return path, x, y
else:
print 'No such icon: ' + file_name
# print 'No such icon: ' + file_name
# TODO: add to missed icons
return 'M 4,4 L 4,10 10,10 10,4 z', 0, 0
@ -395,7 +396,7 @@ def draw_ways(show_missed_tags=False):
#floors = float(way['tags']['building:levels'])
draw_path(way['nodes'], 'fill:#' + building_color + ';stroke:#' + building_border_color + ';opacity:1.0;')
c = line_center(way['nodes'])
shapes, fill, processed = get_icon(way['tags'], scheme, '444444')
shapes, fill, processed = process.get_icon(way['tags'], scheme, '444444')
draw_shapes(shapes, True, points, c.x, c.y, fill, show_missed_tags, way['tags'], processed)
icons_to_draw.append({'shapes': shapes, 'x': c.x, 'y': c.y, 'fill': fill, 'priority': 1})
for way in layer['le']:
@ -446,73 +447,6 @@ def to_write(key):
return True
return False
def get_color(color, scheme):
if color in scheme['colors']:
return scheme['colors'][color]
else:
m = re.match('^(\\#)?(?P<color1>[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f])' + \
'(?P<color2>[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f])?$', color)
if m:
if 'color2' in m.groups():
return m.group('color1') + m.group('color2')
else:
return ''.join(map(lambda x: x + x, m.group('color1')))
return '444444'
def get_icon(tags, scheme, fill='444444'):
tags_hash = ','.join(tags.keys()) + ':' + \
','.join(map(lambda x: str(x), tags.values()))
if tags_hash in scheme['cache']:
return scheme['cache'][tags_hash]
main_icon = None
extra_icons = []
processed = set()
for element in scheme['tags']:
matched = True
for tag in element['tags']:
if not tag in tags:
matched = False
break
if element['tags'][tag] != '*' and element['tags'][tag] != tags[tag]:
matched = False
break
if 'no_tags' in element:
for no_tag in element['no_tags']:
if no_tag in tags.keys():
matched = False
break
if matched:
if 'draw' in element and not element['draw']:
processed = set(element['tags'].keys())
if 'icon' in element:
main_icon = copy.deepcopy(element['icon'])
processed = set(element['tags'].keys())
if 'over_icon' in element:
main_icon += element['over_icon']
for key in element['tags'].keys():
processed.add(key)
if 'add_icon' in element:
extra_icons += element['add_icon']
for key in element['tags'].keys():
processed.add(key)
if 'color' in element:
fill = scheme['colors'][element['color']]
for key in element['tags'].keys():
processed.add(key)
for color_name in ['color', 'colour', 'building:colour']:
if color_name in tags:
fill = get_color(tags[color_name], scheme)
if fill != '444444':
processed.add(color_name)
else:
print 'No color ' + tags[color_name] + '.'
if main_icon:
returned = [main_icon] + extra_icons, fill, processed
else:
returned = [], fill, processed
scheme['cache'][tags_hash] = returned
return returned
def draw_shapes(shapes, overlap, points, x, y, fill, show_missed_tags, tags, processed):
text_y = 0
xxx = -(len(shapes) - 1) * 8
@ -563,7 +497,7 @@ def draw_nodes(show_missed_tags=False, overlap=14, draw=True):
else:
tags = {}
shapes, fill, processed = get_icon(tags, scheme)
shapes, fill, processed = process.get_icon(tags, scheme)
for k in tags:
if k in processed or no_draw(k):
@ -661,8 +595,8 @@ draw_nodes(show_missed_tags=options['show_missed_tags'],
overlap=options['overlap'], draw=options['draw_nodes'])
if flinger.space.x == 0:
output_file.rect(0, 0, w, flinger.space.y, color='AAAAAA')
output_file.rect(0, h - flinger.space.y, w, flinger.space.y, color='AAAAAA')
output_file.rect(0, 0, w, flinger.space.y, color='FFFFFF')
output_file.rect(0, h - flinger.space.y, w, flinger.space.y, color='FFFFFF')
output_file.end()

69
process.py Normal file
View file

@ -0,0 +1,69 @@
import copy
def get_color(color, scheme):
if color in scheme['colors']:
return scheme['colors'][color]
else:
m = re.match('^(\\#)?(?P<color1>[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f])' + \
'(?P<color2>[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f])?$', color)
if m:
if 'color2' in m.groups():
return m.group('color1') + m.group('color2')
else:
return ''.join(map(lambda x: x + x, m.group('color1')))
return '444444'
def get_icon(tags, scheme, fill='444444'):
tags_hash = ','.join(tags.keys()) + ':' + \
','.join(map(lambda x: str(x), tags.values()))
if tags_hash in scheme['cache']:
return scheme['cache'][tags_hash]
main_icon = None
extra_icons = []
processed = set()
for matcher in scheme['tags']:
matched = True
for key in matcher['tags']:
if not key in tags:
matched = False
break
if matcher['tags'][key] != '*' and matcher['tags'][key] != tags[key]:
matched = False
break
if 'no_tags' in matcher:
for no_tag in matcher['no_tags']:
if no_tag in tags.keys():
matched = False
break
if matched:
if 'draw' in matcher and not matcher['draw']:
processed = set(matcher['tags'].keys())
if 'icon' in matcher:
main_icon = copy.deepcopy(matcher['icon'])
processed = set(matcher['tags'].keys())
if 'over_icon' in matcher:
main_icon += matcher['over_icon']
for key in matcher['tags'].keys():
processed.add(key)
if 'add_icon' in matcher:
extra_icons += matcher['add_icon']
for key in matcher['tags'].keys():
processed.add(key)
if 'color' in matcher:
fill = scheme['colors'][matcher['color']]
for key in matcher['tags'].keys():
processed.add(key)
for color_name in ['color', 'colour', 'building:colour']:
if color_name in tags:
fill = get_color(tags[color_name], scheme)
if fill != '444444':
processed.add(color_name)
else:
print 'No color ' + tags[color_name] + '.'
if main_icon:
returned = [main_icon] + extra_icons, fill, processed
else:
returned = [], fill, processed
scheme['cache'][tags_hash] = returned
return returned

60
test.py
View file

@ -4,6 +4,8 @@ Author: Sergey Vartanov (me@enzet.ru).
import copy
import extract_icon
import process
import os
import sys
import yaml
@ -13,38 +15,13 @@ sys.path.append('lib')
import svg
def get_icon(tags):
main_icon = None
extra_icons = []
for element in scheme['tags']:
matched = True
for tag in element['tags']:
if not tag in tags:
matched = False
break
if element['tags'][tag] != '*' and \
element['tags'][tag] != tags[tag]:
matched = False
break
if matched:
print 'matched', element
if 'icon' in element:
main_icon = copy.deepcopy(element['icon'])
if 'over_icon' in element:
main_icon += element['over_icon']
if 'add_icon' in element:
extra_icons += element['add_icon']
if main_icon:
return [main_icon] + extra_icons
else:
return []
def draw_icon(icon):
output_file.write('<path d="' + icon['path'] + '" ' + \
'style="fill:#444444;stroke:none;' + \
'stroke-width:3;stroke-linejoin:round;" ' + \
'transform="translate(' + icon['x'] + ',' + icon['y'] + ')" />\n')
# Actions
step = 24
@ -56,23 +33,37 @@ extracter = extract_icon.IconExtractor('icons.svg')
x = step / 2
y = step / 2
to_draw = {}
to_draw = []
for element in scheme['tags']:
if 'icon' in element:
to_draw[','.join(element['icon'])] = element['icon']
if not (set(element['icon']) in to_draw):
to_draw.append(set(element['icon']))
if 'add_icon' in element:
to_draw[','.join(element['add_icon'])] = element['add_icon']
if not (set(element['add_icon']) in to_draw):
to_draw.append(set(element['add_icon']))
if 'over_icon' in element:
with_icons = []
if 'under_icon' in element:
for icon in element['under_icon']:
to_draw[','.join([icon] + element['over_icon'])] = [icon] + \
element['over_icon']
if not (set([icon] + element['over_icon']) in to_draw):
to_draw.append(set([icon] + element['over_icon']))
if 'under_icon' in element and 'with_icon' in element:
for icon in element['under_icon']:
for icon2 in element['with_icon']:
if not (set([icon] + [icon2] + element['over_icon']) in to_draw):
to_draw.append(set([icon] + [icon2] + element['over_icon']))
for icon2 in element['with_icon']:
for icon3 in element['with_icon']:
if icon2 != icon3 and icon2 != icon and icon3 != icon:
if not (set([icon] + [icon2] + [icon3] + element['over_icon']) in to_draw):
to_draw.append(set([icon] + [icon2] + [icon3] + element['over_icon']))
icons = []
height = 24
number = 0
for icon_key in to_draw.keys():
icons_to_draw = to_draw[icon_key]
for icons_to_draw in to_draw:
drawed = False
for icon in icons_to_draw:
path, xx, yy = extracter.get_path(icon)
@ -84,6 +75,7 @@ for icon_key in to_draw.keys():
else:
print '\033[31m' + icon + '\033[0m'
if drawed:
number += 1
x += step
if x > width - 8:
x = step / 2
@ -96,4 +88,6 @@ output_file.begin(width, height)
for icon in icons:
draw_icon(icon)
print 'Icons: ' + str(number) + '.'
output_file.end()