Faro: la torre en espiral negra y roja
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
@ -257,7 +257,7 @@ Tres piezas, cada una con su uso:
|
|||
|
||||

|
||||
|
||||
- **Símbolo** (`docs/marca/simbolo*.svg`): un faro dentro de un aro grueso, como un emblema de tienda de graffiti (en la línea del sello de Writers Madrid). La luz es amarilla: un haz horizontal que se abre hacia los dos lados y ondas en círculo alrededor de la linterna. La torre, en negro, con dos franjas. Plano y rotundo, para que se lea en un favicon, una pegatina o un avatar. Versiones: positivo, negativo, sobre naranja y pegatina (círculo amarillo). Se genera con `python3 tools/faro.py docs/marca` y se copia a `sites/<web>/img/simbolo.svg` y a `favicon.svg`.
|
||||
- **Símbolo** (`docs/marca/simbolo*.svg`): un faro dentro de un aro grueso, como un emblema de tienda de graffiti (en la línea del sello de Writers Madrid). La luz es amarilla: un haz horizontal que se abre hacia los dos lados y ondas en círculo alrededor de la linterna. La torre va en espiral negra y roja, con franjas en diagonal, y el tejado en rojo. Plano y rotundo, para que se lea en un favicon, una pegatina o un avatar. Versiones: positivo, negativo, sobre naranja y pegatina (círculo amarillo). Se genera con `python3 tools/faro.py docs/marca` y se copia a `sites/<web>/img/simbolo.svg` y a `favicon.svg`.
|
||||
- **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 +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"/><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#fff" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#fff" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#fff" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#fff"/><circle cx="50" cy="36" r="6.5" fill="#ffe2a8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#f04e23"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#f04e23"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g><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"/><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#fff" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#fff" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#fff" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#fff"/><circle cx="50" cy="36" r="6.5" fill="#ffe2a8"/><clipPath id="ct"><path d="M42,46 H58 L65,100 H35 Z"/></clipPath><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><g clip-path="url(#ct)"><path d="M30,59 L70,47 V56 L30,68 Z" fill="#fff"/><path d="M30,77 L70,65 V74 L30,86 Z" fill="#fff"/><path d="M30,95 L70,83 V92 L30,104 Z" fill="#fff"/></g><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 988 B After Width: | Height: | Size: 1.1 KiB |
|
|
@ -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"/><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#fff"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#111"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#111"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#fff"/><path d="M44,43 V31 M56,43 V31" stroke="#fff" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#fff"/></g><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"/><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><clipPath id="ct"><path d="M42,46 H58 L65,100 H35 Z"/></clipPath><path d="M42,46 H58 L65,100 H35 Z" fill="#fff"/><g clip-path="url(#ct)"><path d="M30,59 L70,47 V56 L30,68 Z" fill="#e3141b"/><path d="M30,77 L70,65 V74 L30,86 Z" fill="#e3141b"/><path d="M30,95 L70,83 V92 L30,104 Z" fill="#e3141b"/></g><rect x="39" y="43" width="22" height="4" rx="1" fill="#fff"/><path d="M44,43 V31 M56,43 V31" stroke="#fff" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#e3141b"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#fff" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 991 B After Width: | Height: | Size: 1.1 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><clipPath id="c"><circle cx="50" cy="50" r="48"/></clipPath><circle cx="50" cy="50" r="48" fill="#ffc21a"/><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#fff" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#fff" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#fff" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#fff"/><circle cx="50" cy="36" r="6.5" fill="#fff"/><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#ffc21a"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#ffc21a"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><clipPath id="c"><circle cx="50" cy="50" r="48"/></clipPath><circle cx="50" cy="50" r="48" fill="#ffc21a"/><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#fff" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#fff" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#fff" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#fff"/><circle cx="50" cy="36" r="6.5" fill="#fff"/><clipPath id="ct"><path d="M42,46 H58 L65,100 H35 Z"/></clipPath><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><g clip-path="url(#ct)"><path d="M30,59 L70,47 V56 L30,68 Z" fill="#e3141b"/><path d="M30,77 L70,65 V74 L30,86 Z" fill="#e3141b"/><path d="M30,95 L70,83 V92 L30,104 Z" fill="#e3141b"/></g><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#e3141b"/></g></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 910 B After Width: | Height: | Size: 1 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#fff"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#fff"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g><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"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><clipPath id="ct"><path d="M42,46 H58 L65,100 H35 Z"/></clipPath><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><g clip-path="url(#ct)"><path d="M30,59 L70,47 V56 L30,68 Z" fill="#e3141b"/><path d="M30,77 L70,65 V74 L30,86 Z" fill="#e3141b"/><path d="M30,95 L70,83 V92 L30,104 Z" fill="#e3141b"/></g><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#e3141b"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 947 B After Width: | Height: | Size: 1.1 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#fff"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#fff"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g><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"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><clipPath id="ct"><path d="M42,46 H58 L65,100 H35 Z"/></clipPath><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><g clip-path="url(#ct)"><path d="M30,59 L70,47 V56 L30,68 Z" fill="#e3141b"/><path d="M30,77 L70,65 V74 L30,86 Z" fill="#e3141b"/><path d="M30,95 L70,83 V92 L30,104 Z" fill="#e3141b"/></g><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#e3141b"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 947 B After Width: | Height: | Size: 1.1 KiB |
|
|
@ -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"/><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#fff"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#111"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#111"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#fff"/><path d="M44,43 V31 M56,43 V31" stroke="#fff" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#fff"/></g><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"/><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><clipPath id="ct"><path d="M42,46 H58 L65,100 H35 Z"/></clipPath><path d="M42,46 H58 L65,100 H35 Z" fill="#fff"/><g clip-path="url(#ct)"><path d="M30,59 L70,47 V56 L30,68 Z" fill="#e3141b"/><path d="M30,77 L70,65 V74 L30,86 Z" fill="#e3141b"/><path d="M30,95 L70,83 V92 L30,104 Z" fill="#e3141b"/></g><rect x="39" y="43" width="22" height="4" rx="1" fill="#fff"/><path d="M44,43 V31 M56,43 V31" stroke="#fff" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#e3141b"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#fff" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 991 B After Width: | Height: | Size: 1.1 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#fff"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#fff"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g><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"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><clipPath id="ct"><path d="M42,46 H58 L65,100 H35 Z"/></clipPath><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><g clip-path="url(#ct)"><path d="M30,59 L70,47 V56 L30,68 Z" fill="#e3141b"/><path d="M30,77 L70,65 V74 L30,86 Z" fill="#e3141b"/><path d="M30,95 L70,83 V92 L30,104 Z" fill="#e3141b"/></g><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#e3141b"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 947 B After Width: | Height: | Size: 1.1 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#fff"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#fff"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g><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"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><clipPath id="ct"><path d="M42,46 H58 L65,100 H35 Z"/></clipPath><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><g clip-path="url(#ct)"><path d="M30,59 L70,47 V56 L30,68 Z" fill="#e3141b"/><path d="M30,77 L70,65 V74 L30,86 Z" fill="#e3141b"/><path d="M30,95 L70,83 V92 L30,104 Z" fill="#e3141b"/></g><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#e3141b"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 947 B After Width: | Height: | Size: 1.1 KiB |
|
|
@ -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"/><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#fff"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#111"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#111"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#fff"/><path d="M44,43 V31 M56,43 V31" stroke="#fff" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#fff"/></g><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"/><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><clipPath id="ct"><path d="M42,46 H58 L65,100 H35 Z"/></clipPath><path d="M42,46 H58 L65,100 H35 Z" fill="#fff"/><g clip-path="url(#ct)"><path d="M30,59 L70,47 V56 L30,68 Z" fill="#e3141b"/><path d="M30,77 L70,65 V74 L30,86 Z" fill="#e3141b"/><path d="M30,95 L70,83 V92 L30,104 Z" fill="#e3141b"/></g><rect x="39" y="43" width="22" height="4" rx="1" fill="#fff"/><path d="M44,43 V31 M56,43 V31" stroke="#fff" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#e3141b"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#fff" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 991 B After Width: | Height: | Size: 1.1 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><path d="M42.0,56 H58.0 L59.4,62 H40.6 Z" fill="#fff"/><path d="M39.9,72 H60.1 L61.4,78 H38.6 Z" fill="#fff"/><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#111"/></g><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"><clipPath id="c"><circle cx="50" cy="50" r="42"/></clipPath><g clip-path="url(#c)"><path d="M50,33 L0,19 V53 L50,39 L100,53 V19 Z" fill="#ffc21a" opacity=".9"/><circle cx="50" cy="36" r="19" fill="none" stroke="#ffc21a" stroke-width="3" opacity="0.9"/><circle cx="50" cy="36" r="27" fill="none" stroke="#ffc21a" stroke-width="2.2" opacity="0.55"/><circle cx="50" cy="36" r="12" fill="#ffc21a"/><circle cx="50" cy="36" r="6.5" fill="#fff4b8"/><clipPath id="ct"><path d="M42,46 H58 L65,100 H35 Z"/></clipPath><path d="M42,46 H58 L65,100 H35 Z" fill="#111"/><g clip-path="url(#ct)"><path d="M30,59 L70,47 V56 L30,68 Z" fill="#e3141b"/><path d="M30,77 L70,65 V74 L30,86 Z" fill="#e3141b"/><path d="M30,95 L70,83 V92 L30,104 Z" fill="#e3141b"/></g><rect x="39" y="43" width="22" height="4" rx="1" fill="#111"/><path d="M44,43 V31 M56,43 V31" stroke="#111" stroke-width="2.6"/><path d="M41,31 L50,21 L59,31 Z" fill="#e3141b"/></g><circle cx="50" cy="50" r="45" fill="none" stroke="#111" stroke-width="7"/></svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 947 B After Width: | Height: | Size: 1.1 KiB |
|
|
@ -1,7 +1,7 @@
|
|||
# Genera el símbolo: un faro dentro de un aro grueso, como un emblema de tienda de graffiti.
|
||||
# La luz es amarilla: un haz horizontal que se abre hacia los dos lados y un halo en círculo.
|
||||
import sys
|
||||
INK, BL, NAR = "#111", "#fff", "#f04e23"
|
||||
INK, BL, NAR, ROJO = "#111", "#fff", "#f04e23", "#e3141b"
|
||||
LUZ, CLARA = "#ffc21a", "#fff4b8"
|
||||
CX, CY = 50, 36 # centro de la linterna
|
||||
|
||||
|
|
@ -13,26 +13,26 @@ def luz_(luz, clara):
|
|||
halo = f'<circle cx="{CX}" cy="{CY}" r="12" fill="{luz}"/><circle cx="{CX}" cy="{CY}" r="6.5" fill="{clara}"/>'
|
||||
return haz + ondas + halo
|
||||
|
||||
def torre(ink, papel):
|
||||
# Torre que se estrecha hacia arriba, con dos franjas, la linterna y el tejado en punta.
|
||||
cuerpo = f'<path d="M42,46 H58 L65,100 H35 Z" fill="{ink}"/>'
|
||||
franjas = "".join(f'<path d="M{43.3 - (y - 46) * 7 / 54:.1f},{y} H{56.7 + (y - 46) * 7 / 54:.1f} L{57.3 + (y + 6 - 46) * 7 / 54:.1f},{y + 6} H{42.7 - (y + 6 - 46) * 7 / 54:.1f} Z" fill="{papel}"/>'
|
||||
for y in (56, 72))
|
||||
def torre(ink, raya, clip):
|
||||
# Torre que se estrecha hacia arriba, en espiral negra y roja (franjas en diagonal), la linterna y el tejado en punta.
|
||||
forma = "M42,46 H58 L65,100 H35 Z"
|
||||
cuerpo = f'<clipPath id="{clip}t"><path d="{forma}"/></clipPath><path d="{forma}" fill="{ink}"/>'
|
||||
franjas = "".join(f'<path d="M30,{y + 9} L70,{y - 3} V{y + 6} L30,{y + 18} Z" fill="{raya}"/>' for y in (50, 68, 86))
|
||||
balcon = f'<rect x="39" y="43" width="22" height="4" rx="1" fill="{ink}"/>'
|
||||
linterna = f'<path d="M44,43 V31 M56,43 V31" stroke="{ink}" stroke-width="2.6"/>'
|
||||
tejado = f'<path d="M41,31 L50,21 L59,31 Z" fill="{ink}"/>'
|
||||
return cuerpo + franjas + balcon + linterna + tejado
|
||||
tejado = f'<path d="M41,31 L50,21 L59,31 Z" fill="{ink if raya == BL else raya}"/>'
|
||||
return cuerpo + f'<g clip-path="url(#{clip}t)">{franjas}</g>' + balcon + linterna + tejado
|
||||
|
||||
def faro(estilo="aro", ink=INK, luz=LUZ, papel=BL, clara=CLARA, clip="c", grueso=7, fondo_aro=None):
|
||||
def faro(estilo="aro", ink=INK, luz=LUZ, raya=ROJO, clara=CLARA, clip="c", grueso=7, fondo_aro=None):
|
||||
if estilo == "aro":
|
||||
defs = f'<clipPath id="{clip}"><circle cx="50" cy="50" r="42"/></clipPath>'
|
||||
fondo = f'<circle cx="50" cy="50" r="47" fill="{fondo_aro}"/>' if fondo_aro else ""
|
||||
dentro = f'<g clip-path="url(#{clip})">{luz_(luz, clara)}{torre(ink, papel)}</g>'
|
||||
dentro = f'<g clip-path="url(#{clip})">{luz_(luz, clara)}{torre(ink, raya, clip)}</g>'
|
||||
aro = f'<circle cx="50" cy="50" r="45" fill="none" stroke="{ink}" stroke-width="{grueso}"/>'
|
||||
return defs + fondo + dentro + aro
|
||||
# Pegatina: círculo amarillo, la luz en blanco
|
||||
defs = f'<clipPath id="{clip}"><circle cx="50" cy="50" r="48"/></clipPath>'
|
||||
return defs + f'<circle cx="50" cy="50" r="48" fill="{luz}"/><g clip-path="url(#{clip})">{luz_(papel, BL)}{torre(ink, luz)}</g>'
|
||||
return defs + f'<circle cx="50" cy="50" r="48" fill="{luz}"/><g clip-path="url(#{clip})">{luz_(BL, BL)}{torre(ink, raya, clip)}</g>'
|
||||
|
||||
def svg(cuerpo, fondo=None):
|
||||
bg = f'<rect width="100" height="100" fill="{fondo}"/>' if fondo else ""
|
||||
|
|
@ -45,6 +45,6 @@ def simbolo_mapa():
|
|||
if __name__ == "__main__":
|
||||
d = sys.argv[1]
|
||||
open(f"{d}/simbolo.svg", "w").write(svg(faro()))
|
||||
open(f"{d}/simbolo-negativo.svg", "w").write(svg(faro(ink=BL, papel=INK), INK))
|
||||
open(f"{d}/simbolo-naranja.svg", "w").write(svg(faro(luz=BL, papel=NAR, clara="#ffe2a8"), NAR))
|
||||
open(f"{d}/simbolo-negativo.svg", "w").write(svg(faro(ink=BL), INK))
|
||||
open(f"{d}/simbolo-naranja.svg", "w").write(svg(faro(luz=BL, raya=BL, ink=INK, clara="#ffe2a8"), NAR))
|
||||
open(f"{d}/simbolo-pegatina.svg", "w").write(svg(faro("pegatina")))
|
||||
|
|
|
|||