Knowledge base

Font and webfont guides

Practical material about OpenType, WOFF2, subsetting, CSS, performance and licensing.

OpenType · Webfont

How to check Polish characters in a font

checking ą, ć, ę, ł, ń, ó, ś, ź and ż

OpenType · Webfont

TTF, OTF, WOFF and WOFF2 — key differences

choosing a format for desktop, print and the web

OpenType · Webfont

How to prepare a font for the web

conversion, subsetting, CSS and performance testing

OpenType · Webfont

How to generate correct @font-face rules

WOFF2 sources, weights, styles and paths

OpenType · Webfont

How font-display works

swap, fallback, optional and their UX impact

OpenType · Webfont

How to reduce font file size

WOFF2 compression and removing unused characters

OpenType · Webfont

What is a font subset

safely limiting the glyph set

OpenType · Webfont

How to create a subset from used characters

extracting text and preserving layout features

OpenType · Webfont

How to prepare a Polish font subset

Polish letters, punctuation and quotation marks

OpenType · Webfont

How to check a font license

metadata, the license document and webfont terms

OpenType · Webfont

What does fsType mean in a font

technical embedding flags and their limits

OpenType · Webfont

How to identify a variable font

fvar, STAT and variation axes

OpenType · Webfont

How to use the wght axis

weight ranges and correct CSS

OpenType · Webfont

How to use the wdth axis

font width without synthetic scaling

OpenType · Webfont

How to use font-variation-settings

standard and custom CSS axes

OpenType · Webfont

How to test font ligatures

liga, dlig, clig and shaping comparison

OpenType · Webfont

What is kerning and how to test it

letter pairs, GPOS and text readability

OpenType · Webfont

GPOS and GSUB in plain language

positioning, substitutions and OpenType features

OpenType · Webfont

How to inspect OpenType features

feature tags, scripts and practical previews

OpenType · Webfont

How to check for real small caps

smcp, c2sc and the difference from scaling

OpenType · Webfont

Tabular and proportional figures

tnum, pnum and use in tables

OpenType · Webfont

How to compare two fonts reliably

shared text, optical size and metrics

OpenType · Webfont

How to choose a font for long-form text

readability, rhythm, width and languages

OpenType · Webfont

How to check whether a font is monospaced

glyph metrics and the fixed-pitch declaration

OpenType · Webfont

How to read font metrics

units per em, x-height, cap height and widths

OpenType · Webfont

Ascender, descender and line gap

vertical metrics and line spacing

OpenType · Webfont

How to reduce layout shift when a font loads

fallbacks, size-adjust and metric overrides

OpenType · Webfont

When to preload fonts

resource priority and avoiding excessive preloads

OpenType · Webfont

How unicode-range works in @font-face

splitting fonts by language and character range

OpenType · Webfont

How to test a multilingual font

character coverage, localized forms and shaping

OpenType · Webfont

What are glyphs without Unicode values

alternates, ligatures and the private use area

OpenType · Webfont

How to create a font specimen

alphabets, paragraphs, figures and typographic features

OpenType · Webfont

How to analyze many fonts at once

duplicates, versions and family consistency

OpenType · Webfont

Why a font does not work in the browser

CORS, MIME, paths, format and CSS errors

OpenType · Webfont

Common webfont deployment mistakes

family names, weights, caching and unnecessary files

OpenType · Webfont

Can you convert a purchased font

license scope, modification and publication

OpenType · Webfont

How color fonts work

COLR, CPAL, SVG and bitmap formats

OpenType · Webfont

CFF vs TrueType outlines

outline differences and safe webfont compression

OpenType · Webfont

How to optimize a family with many weights

choosing required styles and variable fonts

OpenType · Webfont

How to store font files safely

backups, licenses, versions and team access