diff --git a/web/routes/temas/tipografia/+page.svelte b/web/routes/temas/tipografia/+page.svelte new file mode 100644 index 000000000..52ee73cfb --- /dev/null +++ b/web/routes/temas/tipografia/+page.svelte @@ -0,0 +1,457 @@ + + +Tipografía · Eidos + +
+
+
+

Eidos · sistema tipográfico

+ +
+

Tipografía que se construye sola

+

+ Escala fluida derivada de un ratio · familias config-driven · ejes ópticos en vivo. + Todo a través de los tokens del motor — mueve un control y mira recomponerse. +

+
+ + +
+
+

Escala

+

+ buildTypeScale · el motor de applyTypeScale. Un ratio modular + deriva los 8 pasos desde md; con fluido el ratio interpola entre 480 y 1280px. +

+
+ +
+ + +
+ presets +
+ {#each RATIOS as r} + + {/each} +
+
+ + {#if fluid} + + + {/if} +
+ +
+ {#each scale.sizes as s} +
+ {s.key} + Grumpy wizards + + {#if s.minPx === s.maxPx}{s.minPx}px{:else}{pxAt(s.minPx, s.maxPx)}px ·{s.minPx}–{s.maxPx}{/if} + +
+ {/each} +
+
+ + +
+
+

Estilos nombrados

+

+ hero · h1–h6 · body · caption referencian --font-size-* por + var() → re-escalan con el ratio de arriba. +

+
+
+ {#each STYLES as st} +
+ {st.label} + {#if st.style === 'body' || st.style === 'caption'} +

{st.sample}

+ {:else} +
{st.sample}
+ {/if} +
+ {/each} +
+
+ + +
+
+

Familias

+

@font-face config-driven · fallback con métricas (anti-CLS).

+
+
+ {#each FAMILIES as f} +
+
{f.label}{f.note}
+
+ Aa + Habría jugado · 0123456789 · ¿Qué? ¡Ya! +
+
+ {/each} +
+
+ + +
+
+

Ejes ópticos

+

tracking · leading · measure · wrap · numeric — vía los --_text-* que lee el recipe.

+
+
+
+ tracking +
{#each TRACKINGS as t}{/each}
+
+
+ leading +
{#each LEADINGS as l}{/each}
+
+
+ measure +
{#each MEASURES as m}{/each}
+
+
+ wrap +
{#each WRAPS as w}{/each}
+
+ +
+
+

+ La tipografía no es lo que ves, es lo que ocurre cuando lees: 1.250 palabras, 48px de + salto, 66ch de medida. El tracking se afina, el interlineado respira, la columna se + contiene — y el texto desaparece para dejar pasar el sentido. +

+
+
+
+ +