Typography Unit Converter
Converta unidades de tipografia: pt, px, em, rem, pica e mais com configurações de DPI.
| Unidade | 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 Referência Comuns
Sobre esta ferramenta
As unidades de tipografia são a base do design digital e impresso, mas converter entre elas—pontos, pixels, em, rem, paicas e muito mais—pode ser tedioso e propenso a erros. Seja você um designer traduzindo especificações de impressão para designs web, um desenvolvedor ajustando tamanhos de fonte em diferentes contextos de renderização, ou um criador de conteúdo gerenciando documentos em várias plataformas, a precisão é essencial. Este conversor elimina o trabalho de adivinhação ao traduzir instantaneamente qualquer unidade de tipografia em qualquer outra, levando em conta as configurações de DPI que afetam significativamente as conversões de pixels para pontos.
Para usar a ferramenta, basta selecionar suas unidades de origem e destino nos menus suspensos, digitar o valor que deseja converter e, opcionalmente, ajustar a configuração de DPI se estiver trabalhando com mídia de saída específica. O conversor lida com unidades relativas como em e rem, que são dimensionadas com base nos tamanhos de fonte dos elementos pai ou raiz, bem como com unidades absolutas como pontos e pixels. Por exemplo, converter 16 pixels para rem assumindo uma base de 16px resulta em 1rem, o que é útil ao construir designs web responsivos que se adaptam perfeitamente entre dispositivos.
Perguntas Frequentes
Implementação 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.