Farola: la luz en campana que llega al suelo y se abre en un charco; propuestas en docs/marca/propuestas
|
|
@ -257,7 +257,7 @@ Tres piezas, cada una con su uso:
|
|||
|
||||

|
||||
|
||||
- **Símbolo** (`docs/marca/simbolo*.svg`): una farola moderna dentro de un aro grueso, como un emblema de tienda de graffiti (en la línea del sello de Writers Madrid), con la luz en naranja, ondeando como las banderas del logo antifa. Plano y rotundo, para que se lea en un favicon, una pegatina o un avatar. Versiones: positivo, negativo, sobre naranja y pegatina (círculo naranja). Se genera con `python3 tools/farola.py docs/marca`.
|
||||
- **Símbolo** (`docs/marca/simbolo*.svg`): una farola moderna dentro de un aro grueso, como un emblema de tienda de graffiti (en la línea del sello de Writers Madrid), con la luz en naranja: baja de la cabeza en forma de campana, llega al suelo y se abre en un charco con el centro más claro. Las otras propuestas (onda suave, onda marcada, campana con línea de suelo y la recta) están en `docs/marca/propuestas/`. Plano y rotundo, para que se lea en un favicon, una pegatina o un avatar. Versiones: positivo, negativo, sobre naranja y pegatina (círculo naranja). Se genera con `python3 tools/farola.py docs/marca`.
|
||||
- **Logotipo** (`docs/marca/logotipo*.svg`): «TAKE THE STREET» en **Grindy Brush**, todo en negro (o en blanco sobre negro). Va convertido a trazados, así que no hace falta la fuente. Hay versión en una línea y en dos.
|
||||
- **Firma**: símbolo + logotipo. Es lo que va arriba a la izquierda de la web.
|
||||
- **Ilustración** (`docs/calle.svg`): la imagen principal de la portada, nunca en la cabecera. Ver el apartado 6.
|
||||
|
|
|
|||
1
docs/marca/propuestas/farola-1-onda-suave.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C82,46 85,55 85,62 C85,69 88,73 89,76 H41 C42,72 45,69 45,62 C45,54 51,45 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="24" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="14.9" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
After Width: | Height: | Size: 678 B |
1
docs/marca/propuestas/farola-2-campana.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C78,52 82,66 92,76 H38 C48,66 56,52 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="27" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.7" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
After Width: | Height: | Size: 640 B |
1
docs/marca/propuestas/farola-3-onda.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C86,42 80,52 86,61 C90,67 91,72 90,76 H40 C39,72 41,67 44,61 C48,52 44,42 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="25" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="15.5" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
After Width: | Height: | Size: 678 B |
1
docs/marca/propuestas/farola-4-campana-suelo.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C78,52 82,66 92,76 H38 C48,66 56,52 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="27" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.7" ry="3.0" fill="#ffb03a"/><path d="M8,84 H92" stroke="#111" stroke-width="3"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
After Width: | Height: | Size: 692 B |
1
docs/marca/propuestas/farola-recta.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 L98,92 H36 Z" fill="#f45a1c"/><ellipse cx="67" cy="86" rx="22" ry="5" fill="#111" opacity=".25"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
After Width: | Height: | Size: 558 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><rect width="100" height="100" fill="#f04e23"/><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><path d="M57,33 H77 C89.3,47.8 81.7,69.2 94,84 C76.7,79.0 59.3,89.0 42,84 C40.3,65.0 58.7,52.0 57,33 Z" fill="#fff" clip-path="url(#c)"/><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><rect width="100" height="100" fill="#f04e23"/><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C78,52 82,66 92,76 H38 C48,66 56,52 57,33 Z" fill="#fff"/><ellipse cx="65" cy="76" rx="27" ry="5.5" fill="#fff"/><ellipse cx="65" cy="76" rx="16.7" ry="3.0" fill="#ffe2a8"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 598 B After Width: | Height: | Size: 681 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><rect width="100" height="100" fill="#111"/><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><path d="M57,33 H77 C89.3,47.8 81.7,69.2 94,84 C76.7,79.0 59.3,89.0 42,84 C40.3,65.0 58.7,52.0 57,33 Z" fill="#f45a1c" clip-path="url(#c)"/><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#fff" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#fff"/><circle cx="50" cy="50" r="45" fill="none" stroke="#fff" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><rect width="100" height="100" fill="#111"/><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C78,52 82,66 92,76 H38 C48,66 56,52 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="27" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.7" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#fff" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#fff"/><circle cx="50" cy="50" r="45" fill="none" stroke="#fff" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 598 B After Width: | Height: | Size: 684 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><path d="M57,33 H77 C89.3,47.8 81.7,69.2 94,84 C76.7,79.0 59.3,89.0 42,84 C40.3,65.0 58.7,52.0 57,33 Z" fill="#f45a1c" clip-path="url(#c)"/><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C78,52 82,66 92,76 H38 C48,66 56,52 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="27" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.7" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 554 B After Width: | Height: | Size: 640 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><path d="M57,33 H77 C89.3,47.8 81.7,69.2 94,84 C76.7,79.0 59.3,89.0 42,84 C40.3,65.0 58.7,52.0 57,33 Z" fill="#f45a1c" clip-path="url(#c)"/><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C78,52 82,66 92,76 H38 C48,66 56,52 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="27" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.7" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 554 B After Width: | Height: | Size: 640 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><path d="M57,33 H77 C89.3,47.8 81.7,69.2 94,84 C76.7,79.0 59.3,89.0 42,84 C40.3,65.0 58.7,52.0 57,33 Z" fill="#f45a1c" clip-path="url(#c)"/><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C78,52 82,66 92,76 H38 C48,66 56,52 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="27" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.7" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 554 B After Width: | Height: | Size: 640 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><path d="M57,33 H77 C89.3,47.8 81.7,69.2 94,84 C76.7,79.0 59.3,89.0 42,84 C40.3,65.0 58.7,52.0 57,33 Z" fill="#f45a1c" clip-path="url(#c)"/><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C78,52 82,66 92,76 H38 C48,66 56,52 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="27" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.7" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 554 B After Width: | Height: | Size: 640 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><path d="M57,33 H77 C89.3,47.8 81.7,69.2 94,84 C76.7,79.0 59.3,89.0 42,84 C40.3,65.0 58.7,52.0 57,33 Z" fill="#f45a1c" clip-path="url(#c)"/><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs><g clip-path="url(#c)"><path d="M57,33 H77 C78,52 82,66 92,76 H38 C48,66 56,52 57,33 Z" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="27" ry="5.5" fill="#f45a1c"/><ellipse cx="65" cy="76" rx="16.7" ry="3.0" fill="#ffb03a"/></g><g clip-path="url(#c)"><path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="#111" stroke-width="8"/></g><rect x="55" y="21" width="27" height="11" rx="3" fill="#111"/><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 554 B After Width: | Height: | Size: 640 B |
|
|
@ -1,33 +1,36 @@
|
|||
import sys
|
||||
NAR, LUZ, INK, BL = "#f04e23", "#f45a1c", "#111", "#fff"
|
||||
NAR, LUZ, CLARA, INK, BL = "#f04e23", "#f45a1c", "#ffb03a", "#111", "#fff"
|
||||
|
||||
def ctrl(a, b, amp):
|
||||
(x0, y0), (x1, y1) = a, b
|
||||
dx, dy = x1 - x0, y1 - y0
|
||||
L = (dx * dx + dy * dy) ** .5
|
||||
px, py = -dy / L * amp, dx / L * amp
|
||||
return (x0 + dx / 3 + px, y0 + dy / 3 + py), (x0 + dx * 2 / 3 - px, y0 + dy * 2 / 3 - py)
|
||||
# La luz baja de la cabeza, llega al suelo y se abre en un charco (naranja por fuera, claro en el centro).
|
||||
CONOS = {
|
||||
"recta": "M57,33 H77 L98,92 H36 Z",
|
||||
"onda-suave": "M57,33 H77 C82,46 85,55 85,62 C85,69 88,73 89,76 H41 C42,72 45,69 45,62 C45,54 51,45 57,33 Z",
|
||||
"campana": "M57,33 H77 C78,52 82,66 92,76 H38 C48,66 56,52 57,33 Z",
|
||||
"onda": "M57,33 H77 C86,42 80,52 86,61 C90,67 91,72 90,76 H40 C39,72 41,67 44,61 C48,52 44,42 57,33 Z",
|
||||
}
|
||||
CHARCO = {"onda-suave": 24, "campana": 27, "onda": 25}
|
||||
|
||||
def c(p1, p2, fin):
|
||||
return f"C{p1[0]:.1f},{p1[1]:.1f} {p2[0]:.1f},{p2[1]:.1f} {fin[0]},{fin[1]}"
|
||||
def luz_(cono, luz, clara, ink, suelo=False):
|
||||
out = f'<path d="{CONOS[cono]}" fill="{luz}"/>'
|
||||
if cono in CHARCO:
|
||||
rx, ry = CHARCO[cono], 5.5
|
||||
out += (f'<ellipse cx="65" cy="76" rx="{rx}" ry="{ry}" fill="{luz}"/>'
|
||||
f'<ellipse cx="65" cy="76" rx="{rx * .62:.1f}" ry="{ry * .55:.1f}" fill="{clara}"/>')
|
||||
if cono == "recta":
|
||||
out += f'<ellipse cx="67" cy="86" rx="22" ry="5" fill="{ink}" opacity=".25"/>'
|
||||
if suelo:
|
||||
out += f'<path d="M8,84 H92" stroke="{ink}" stroke-width="3"/>'
|
||||
return out
|
||||
|
||||
def bandera(a, b, cc, d, amp, amp_b):
|
||||
der = ctrl(b, cc, amp)
|
||||
izq = ctrl(a, d, amp)
|
||||
abajo = ctrl(cc, d, amp_b)
|
||||
return (f"M{a[0]},{a[1]} H{b[0]} {c(der[0], der[1], cc)} {c(abajo[0], abajo[1], d)} "
|
||||
f"{c(izq[1], izq[0], a)} Z")
|
||||
|
||||
def farola(estilo="aro", ink=INK, luz=LUZ, fondo=None, papel=BL):
|
||||
def farola(estilo="aro", ink=INK, luz=LUZ, fondo=None, papel=BL, clara=CLARA, cono="campana", suelo=False):
|
||||
bg = f'<rect width="100" height="100" fill="{fondo}"/>' if fondo else ""
|
||||
if estilo == "aro":
|
||||
defs = '<defs><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath></defs>'
|
||||
cono = f'<path d="{bandera((57, 33), (77, 33), (94, 84), (42, 84), -7, 5)}" fill="{luz}" clip-path="url(#c)"/>'
|
||||
suelo = ""
|
||||
cono = f'<g clip-path="url(#c)">{luz_(cono, luz, clara, ink, suelo)}</g>'
|
||||
poste = f'<path d="M37,96 V40 Q37,25 52,25 H60" fill="none" stroke="{ink}" stroke-width="8"/>'
|
||||
cabeza = f'<rect x="55" y="21" width="27" height="11" rx="3" fill="{ink}"/>'
|
||||
aro = f'<circle cx="50" cy="50" r="45" fill="none" stroke="{ink}" stroke-width="7"/>'
|
||||
return defs + cono + suelo + f'<g clip-path="url(#c)">{poste}</g>' + cabeza + aro
|
||||
return defs + cono + f'<g clip-path="url(#c)">{poste}</g>' + cabeza + aro
|
||||
pegatina = f'<circle cx="50" cy="50" r="48" fill="{luz}"/>'
|
||||
poste = f'<path d="M33,99 V38 Q33,22 49,22 H58" fill="none" stroke="{ink}" stroke-width="9"/>'
|
||||
cabeza = f'<rect x="52" y="17" width="30" height="11" rx="3" fill="{ink}"/>'
|
||||
|
|
@ -43,5 +46,11 @@ if __name__ == "__main__":
|
|||
d = sys.argv[1]
|
||||
open(f"{d}/simbolo.svg", "w").write(svg(farola()))
|
||||
open(f"{d}/simbolo-negativo.svg", "w").write(svg(farola(ink=BL, papel=INK), INK))
|
||||
open(f"{d}/simbolo-naranja.svg", "w").write(svg(farola(luz=BL, papel=NAR), NAR))
|
||||
open(f"{d}/simbolo-naranja.svg", "w").write(svg(farola(luz=BL, papel=NAR, clara="#ffe2a8"), NAR))
|
||||
open(f"{d}/simbolo-pegatina.svg", "w").write(svg(farola("pegatina")))
|
||||
# Propuestas que no se usan, para tenerlas a mano
|
||||
import os
|
||||
os.makedirs(f"{d}/propuestas", exist_ok=True)
|
||||
for n, (cono, suelo) in enumerate((("onda-suave", False), ("campana", False), ("onda", False), ("campana", True)), 1):
|
||||
open(f"{d}/propuestas/farola-{n}-{cono}{'-suelo' if suelo else ''}.svg", "w").write(svg(farola(cono=cono, suelo=suelo)))
|
||||
open(f"{d}/propuestas/farola-recta.svg", "w").write(svg(farola(cono="recta")))
|
||||
|
|
|
|||