Typography Unit Converter
Konversi unit tipografi: pt, px, em, rem, pica dan lainnya dengan pengaturan DPI.
| Satuan | Nilai yang Dikonversi |
|---|---|
| px | 16 |
| pt | 12 |
| em | 1 |
| rem | 1 |
| pica | 1 |
| mm | 4.2333 |
| cm | 0.42333 |
| in | 0.16667 |
| ex | 2 |
| ch | 2 |
Nilai Referensi Umum
Tentang alat ini
Unit tipografi merupakan fondasi desain digital dan cetak, namun mengonversi di antaranya—poin, piksel, em, rem, pika, dan banyak lagi—dapat menjadi membosankan dan rawan kesalahan. Baik Anda seorang desainer yang menerjemahkan spesifikasi cetak ke desain web, pengembang yang menyesuaikan ukuran font dalam konteks rendering yang berbeda, atau pembuat konten yang mengelola dokumen di berbagai platform, presisi sangat penting. Konverter ini menghilangkan keraguan dengan menerjemahkan secara instan unit tipografi apa pun ke unit lain, sambil mempertimbangkan pengaturan DPI yang memengaruhi konversi piksel-ke-poin secara signifikan.
Untuk menggunakan alat ini, cukup pilih unit sumber dan target Anda dari menu tarik-turun, masukkan nilai yang ingin Anda konversi, dan secara opsional sesuaikan pengaturan DPI jika Anda bekerja dengan media keluaran tertentu. Konverter menangani unit relatif seperti em dan rem, yang diskalakan berdasarkan ukuran font elemen induk atau akar, serta unit absolut seperti poin dan piksel. Misalnya, mengonversi 16 piksel ke rem dengan asumsi basis 16px menghasilkan 1rem, yang berguna ketika membangun desain web responsif yang diskalakan dengan elegan di berbagai perangkat.
Pertanyaan yang Sering Diajukan
Implementasi Kode
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.