Aller au contenu
🛠️ToolsShed

Typography Unit Converter

Convertir les unités typographiques : pt, px, em, rem, pica et bien plus avec paramètres DPI.

UnitéValeur convertie
px16
pt12
em1
rem1
pica1
mm4.2333
cm0.42333
in0.16667
ex2
ch2

Valeurs de référence courantes

12pt = 16px @ 96dpi1in = 96px @ 96dpi1pica = 16.0px1rem = 16px1em = 16px72pt = 1in

À propos de cet outil

Les unités de typographie constituent la base du design numérique et imprimé, mais convertir entre elles—points, pixels, em, rem, picas et bien d'autres—peut être fastidieux et sujet aux erreurs. Que vous soyez un designer traduisant des spécifications d'impression en designs web, un développeur ajustant les tailles de police dans différents contextes de rendu, ou un créateur de contenu gérant des documents sur plusieurs plates-formes, la précision est primordiale. Ce convertisseur élimine l'incertitude en traduisant instantanément n'importe quelle unité de typographie en une autre, tout en tenant compte des paramètres DPI qui affectent considérablement les conversions de pixels en points.

Pour utiliser l'outil, sélectionnez simplement vos unités source et cible dans les menus déroulants, entrez la valeur que vous souhaitez convertir et, le cas échéant, ajustez le paramètre DPI si vous travaillez avec un support de sortie spécifique. Le convertisseur gère les unités relatives comme em et rem, qui s'adaptent en fonction des tailles de police des éléments parents ou racine, ainsi que les unités absolues comme les points et les pixels. Par exemple, convertir 16 pixels en rem en supposant une base de 16px donne 1rem, ce qui est utile pour créer des designs web réactifs qui se redimensionnent gracieusement sur tous les appareils.

Questions Fréquentes

Implémentation du Code

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.