Typography Unit Converter
Convierte unidades tipográficas: pt, px, em, rem, pica y más con configuración DPI.
| Unidad | Valor Convertido |
|---|---|
| px | 16 |
| pt | 12 |
| em | 1 |
| rem | 1 |
| pica | 1 |
| mm | 4.2333 |
| cm | 0.42333 |
| in | 0.16667 |
| ex | 2 |
| ch | 2 |
Valores de Referencia Comunes
Acerca de esta herramienta
Las unidades de tipografía son la base del diseño digital e impreso, pero convertir entre ellas—puntos, píxeles, em, rem, picas y más—puede ser tedioso y propenso a errores. Ya seas un diseñador que traduce especificaciones de impresión a diseños web, un desarrollador que ajusta tamaños de fuente en diferentes contextos de renderizado, o un creador de contenido que gestiona documentos en múltiples plataformas, la precisión es fundamental. Este convertidor elimina la incertidumbre al traducir instantáneamente cualquier unidad de tipografía a cualquier otra, mientras tiene en cuenta la configuración de DPI que afecta significativamente las conversiones de píxeles a puntos.
Para usar la herramienta, simplemente selecciona tus unidades de origen y destino en los menús desplegables, ingresa el valor que deseas convertir y, opcionalmente, ajusta la configuración de DPI si estás trabajando con medios de salida específicos. El convertidor maneja unidades relativas como em y rem, que se escalan según los tamaños de fuente de los elementos padres o raíz, así como unidades absolutas como puntos y píxeles. Por ejemplo, convertir 16 píxeles a rem asumiendo una base de 16px da como resultado 1rem, lo que es útil al construir diseños web responsivos que se adaptan elegantemente en diferentes dispositivos.
Preguntas Frecuentes
Implementación de Código
def typography_converter(value: float, from_unit: str, to_unit: str,
dpi: float = 96, base_font_px: float = 16) -> float:
"""Convert between typography units. Returns converted value."""
# Convert to px first
to_px = {
'px': lambda v: v,
'pt': lambda v: v * dpi / 72,
'pc': lambda v: v * dpi / 6,
'em': lambda v: v * base_font_px,
'rem': lambda v: v * base_font_px,
'mm': lambda v: v * dpi / 25.4,
'cm': lambda v: v * dpi / 2.54,
'in': lambda v: v * dpi,
'ex': lambda v: v * base_font_px * 0.5,
'ch': lambda v: v * base_font_px * 0.5,
}
from_px = {
'px': lambda v: v,
'pt': lambda v: v * 72 / dpi,
'pc': lambda v: v * 6 / dpi,
'em': lambda v: v / base_font_px,
'rem': lambda v: v / base_font_px,
'mm': lambda v: v * 25.4 / dpi,
'cm': lambda v: v * 2.54 / dpi,
'in': lambda v: v / dpi,
'ex': lambda v: v / (base_font_px * 0.5),
'ch': lambda v: v / (base_font_px * 0.5),
}
px = to_px[from_unit](value)
return from_px[to_unit](px)
# Examples
print(f"16px = {typography_converter(16, 'px', 'pt'):.4f}pt at 96dpi")
print(f"1em = {typography_converter(1, 'em', 'px'):.4f}px at base 16px")
print(f"12pt = {typography_converter(12, 'pt', 'px'):.4f}px at 96dpi")
print(f"1in = {typography_converter(1, 'in', 'pt'):.4f}pt")
Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.