From WOFF2 compression and subsetting to variable font axes, OpenType features, and typography scales. Deep-dive guides for every web font workflow.
Compress any TTF or OTF font to WOFF2 in your browser using Google's WASM Brotli encoder. Typically 30–50% smaller than WOFF. Zero upload, zero cost.
Read guide TTF → WOFFWrap any TTF or OTF font in the WOFF 1.0 container with zlib compression. Wider browser support than WOFF2 for legacy environments. Browser-only, zero upload.
Read guide WOFF2 → TTFExtract the underlying TrueType font from any WOFF2 file. Useful for desktop installation, font-editor inspection, and licensing audits. Browser-only.
Read guide Font → Base64Convert TTF, OTF, WOFF, or WOFF2 fonts to base64 data URIs for direct embedding in CSS, HTML email templates, and offline kiosk apps. Browser-based.
Read guide Format IdentifierDrop any font file and reveal its true format from the first 4 bytes. Detects TTF, OTF (CFF), WOFF, WOFF2, and TrueType collections. Browser-only.
Read guide Font → SVG FontConvert TTF or OTF files to the deprecated SVG Font format. Useful for some PDF generators, e-readers, and engines that consume SVG Fonts but not modern WOFF2.
Read guide Variable FreezerStrip the variable axis tables from any variable font to produce a static TTF. Useful for legacy browsers, smaller bundles, and pipelines that don't accept fvar.
Read guide Google Fonts CSSConvert any fonts.googleapis.com URL into self-hostable @font-face CSS. Eliminates IP-leak to Google, satisfies GDPR, and improves TTFB. Includes a curl script to download every WOFF2.
Read guide Font SubsetterDrop unused glyphs from any font to slash WOFF2 file size. Choose a named charset (latin, latin-ext, cyrillic, greek) or define a custom set. Browser-based.
Read guide Latin FilterOne-click subset to U+0020–U+00FF (Basic Latin + Latin-1 Supplement). Covers English, French, German, Spanish, Italian, and most Western European content.
Read guide Emoji RemoverDrop emoji and pictograph glyphs (U+1F300–U+1FAFF, U+2600–U+27BF, U+E000–U+F8FF) from a font. Useful when system fonts already provide colour emoji at the OS level.
Read guide Hinting StripperDrop the fpgm, prep, cvt, gasp, hdmx, VDMX, and LTSH tables. Reduces font size by 5–20%. Modern OSes ignore hints anyway — pure waste on macOS and iOS.
Read guide Colour StripperDrop COLR, CPAL, sbix, SVG, CBDT, and CBLC tables from chromatic fonts. Result is a regular monochrome outline font — typically 70–95% smaller.
Read guide Whitelist BuilderPaste an exact character set and get a custom subset of any font. Perfect for logos, headlines, and branded marks where you need 5–30 specific glyphs.
Read guide Name Table CleanerStrip duplicate Mac platform records and unused localised strings from the OpenType name table. Saves 1–10 KB per font with no functional impact on browsers.
Read guide Ligature TogglerPreview ligature on/off rendering for any font, then export the CSS to control liga/calt/dlig via font-feature-settings without modifying the binary.
Read guide Glyph InspectorDrop a font and browse every glyph with name, Unicode codepoint, advance width, and live thumbnail preview. Search by character, codepoint, or glyph name.
Read guide Metadata ExtractorDump the full name, OS/2, head, post, and hhea tables from any font. See family, designer, manufacturer, version, licence, vendor ID, and more.
Read guide Font FingerprinterHash any font file with SHA-256 to create a stable identifier for cache-busting, integrity verification, and version tracking. Browser-native Web Crypto API.
Read guide Kerning AuditorInspect every kerning pair in the kern and GPOS tables. See which letter pairs adjust and by how many font units. Catch missing pairs and unintended kerning.
Read guide Coverage MapSee which Unicode blocks a font supports. Visual matrix of every Unicode block with covered-glyph counts and percentage coverage. Browser-only.
Read guide Metrics AnalyserExtract every vertical metric from a font's OS/2, hhea, and head tables. Get a recommended line-height plus copy-paste CSS for perfectly aligned typography.
Read guide OT FeaturesList every GSUB/GPOS feature tag (liga, calt, smcp, ss01, swsh, kern) with human-readable labels and the font-feature-settings CSS to enable each one.
Read guide Glyph CountCount total glyphs and project the file size after subsetting to common charsets (Latin, Latin Extended, Cyrillic, Greek, custom). Pick the right subset before you commit.
Read guide @font-face GenBuild a complete @font-face declaration with WOFF2/WOFF/TTF fallbacks, font-display, unicode-range, and proper format() hints. Copy-paste ready.
Read guide Type CSS VariablesBuild a typography token system: --font-family, --font-size-{xs,sm,base,lg,xl}, --font-weight-{light,regular,bold}, --line-height-{tight,normal,relaxed}.
Read guide Type ScaleGenerate a full type scale (xs–4xl) using a chosen modular ratio. Output is fluid clamp() CSS that scales smoothly between two viewport widths.
Read guide System StackBuild a font-family declaration that uses the best native font on each OS — San Francisco on Apple, Segoe UI on Windows, Roboto on Android. Zero web fonts, instant rendering.
Read guide Preload BuilderGenerate the right <link rel="preload"> tags for above-the-fold web fonts. Cuts LCP by 100–500 ms by starting the font fetch alongside the HTML parse.
Read guide font-displayFive font-display values, three real choices: swap, fallback, optional. Which to use per surface, with rationale and CSS snippets.
Read guide Clamp GeneratorPick a min and max font size plus a viewport range and get a clamp() expression that interpolates smoothly between them. Single field — copy-paste ready.
Read guide Dark ModeReduce font weight by 50–100, increase letter-spacing by 0.01em, and bump line-height by 0.05 in dark mode. Auto-generates a prefers-color-scheme media query.
Read guideSide-by-side comparison of TTF, WOFF, and WOFF2 web font formats. Compression ratio, browser support, file size, and the recommended @font-face src ordering.
Read guide TTF → WOFFDecision guide for shipping WOFF, WOFF2, or both. Browser support reality, file size deltas, and the @font-face src ordering that gracefully falls back across every browser.
Read guide Font → Base64When base64 fonts help and when they hurt. Comparison of base64-inlined fonts vs external woff2 files: HTTP overhead, parallel loading, caching, and CSS parse time.
Read guide Format IdentifierTTF and OTF look identical in file managers but differ at byte zero. Learn which outline format each magic value indicates, and what that means for hinting, file size, and renderer support.
Read guide WOFF2 → TTFTTF and WOFF2 wrap the same OpenType data. The difference is wire format. Comparison of file size, browser support, desktop installability, and the workflows where each format wins.
Read guide Font → SVG FontWhy SVG Fonts existed, why they died, and where they still live in 2026. Historical context for tooling authors and font librarians dealing with legacy assets.
Read guide Variable FreezerVariable fonts are smaller when you ship 3+ weights from one family. Static fonts are smaller when you ship 1–2. Decision guide with real-world file size deltas.
Read guide Google Fonts CSSReal-world performance comparison of Google Fonts CDN vs self-hosting. DNS, TLS, TTFB, LCP impact, and the cases where the CDN actually wins.
Read guide Font SubsetterTwo ways to ship lighter fonts: bake the subset into the file, or split the file by unicode-range. Comparison of the two strategies and when each wins.
Read guide Latin FilterDecide between Latin Basic, Latin-1 Supplement, Latin Extended-A, and Latin Extended-B for your target audience. Coverage map by language with file size implications.
Read guide Emoji RemoverWhy your web font's emoji glyphs almost never render. Browser font fallback chain, OS emoji fonts, and the strategy for shipping the smallest emoji-aware payload.
Read guide Hinting StripperWhy TrueType hinting was essential in 1995 and why it's mostly obsolete in 2026. Comparison of GDI/ClearType vs DirectWrite vs CoreText rendering pipelines.
Read guide Colour StripperFour ways colour fonts encode chromatic glyphs: COLRv0/v1 (Microsoft), sbix (Apple), CBDT/CBLC (Google), and OpenType-SVG. Browser support and file-size implications.
Read guide Whitelist BuilderTwo ways to subset a font: keep an exact character list (whitelist) or keep a Unicode range (charset). Comparison of when each strategy wins for specific use cases.
Read guide Name Table CleanerReference for the OpenType name table's platform/encoding/language structure. Why fonts ship 50+ records for one piece of data and which records browsers actually read.
Read guide Ligature TogglerHow ligatures evolved from typographic necessity to OpenType feature flag. Standard, discretionary, contextual ligatures — what each means and when to use them.
Read guide Font FingerprinterThree patterns for cache-busting fonts using SHA-256 fingerprints: filename hashing, query-string hashing, and Subresource Integrity. Pros and cons of each.
Read guide Kerning AuditorThree ways fonts store kerning: legacy kern table (simple pairs), GPOS pair-pos lookups, and GPOS class-based lookups. What each is, when each wins, and how browsers read them.
Read guide Coverage MapGlyph Count tells you how many glyphs a font has. Coverage Map tells you which languages they cover. Use both for complete font selection decisions.
Read guide OT FeaturesStylistic sets (ss01–ss20), stylistic alternates (salt), and swashes (swsh) — three feature categories that change letter shapes. When and how to use each.
Read guide Glyph CountGlyph Count tells you size; Coverage Map tells you language fitness. Used together they answer 'will this font work and at what cost?' in one minute.
Read guide @font-face Genformat() hints tell browsers which src files to attempt. Wrong hints waste bandwidth; missing hints break legacy browsers. Reference for every supported format hint.
Read guide Type CSS VariablesThree preprocessor approaches to typography tokens: native CSS variables, Sass, Less. Tradeoffs in build complexity, runtime mutation, and theming.
Read guide Type ScaleModular scales produce harmonious typography; arbitrary sizes give finer control. When each wins for design system maturity and brand expression.
Read guide System StackPerformance-first sites use system stacks; brand-first sites use custom web fonts. Decision framework with real-world examples and the hybrid approach most sites land on.
Read guide Preload BuilderThree resource-hint directives — preload, prefetch, preconnect. Each has a different role in font loading. Reference for picking the right hint per scenario.
Read guide font-displayFlash of Unstyled Text (FOUT) vs Flash of Invisible Text (FOIT). Which font-display values produce which behaviour, and which is the lesser evil.
Read guide Clamp GeneratorTwo approaches to responsive typography: clamp() fluid scaling vs media-query stepped sizes. Comparison of design quality, complexity, and browser support.
Read guide Dark ModeHalation is the visual blooming of light pixels on dark backgrounds. Why it makes text look bolder, how to compensate, and what Apple HIG and Material Design recommend.
Read guideWire WOFF2 conversion into your Webpack, Vite, Next.js, or GitHub Actions pipeline. Convert font assets at build time so every deploy ships the smallest possible bytes.
Read guide TTF → WOFFConvert every TTF in your design system to WOFF in one command. Node script using the JAD WOFF logic — pako compression, spec-compliant output, idempotent reruns.
Read guide Format IdentifierAdd a format-check step to your CI pipeline. Catch corrupt downloads, mislabeled files, and accidental TTC commits before they reach production. Pure JS, zero dependencies.
Read guide WOFF2 → TTFRun WOFF2 → TTF extraction across hundreds of files in a single CI step. Useful for design system migrations, licensing audits, and PDF pipeline preparation.
Read guide Font → Base64Inline fonts as base64 only at build time, never at runtime. Node script for converting WOFF2 fonts to data URIs and injecting them into CSS or HTML email templates.
Read guide Variable FreezerWire variable-to-static freezing into your build pipeline. Modern browsers get the variable font; legacy browsers fall back to static via @font-face src lists.
Read guide Google Fonts CSSScript the Google Fonts → self-host conversion in your CI pipeline. Re-fetch on demand, pin to specific versions, and ensure GDPR compliance ships on every deploy.
Read guide Font → SVG FontGenerate SVG Fonts in CI for downstream PDF generation libraries that prefer them. Pure-JS Node script using the JAD logic — no Python, no native binaries.
Read guide Font SubsetterWire font subsetting into your build script so every deploy ships the smallest possible WOFF2. Node script using opentype.js for browser-parity output.
Read guide Latin FilterRun Latin Filter across every weight of your font family in one CI command. Pure JS Node script using opentype.js for browser-parity output.
Read guide Emoji RemoverWire emoji-glyph removal into CI. Every deploy ships emoji-free brand fonts that delegate to the OS emoji renderer. Pure-JS Node script.
Read guide Hinting StripperWire hinting removal into your build pipeline. Every deploy ships hint-free fonts that save 5–20% file size with no rendering loss on modern devices.
Read guide Colour StripperWire colour-table removal into CI for cases where you need monochrome outputs. Pure-JS Node script using binary table-directory surgery.
Read guide Whitelist BuilderWire whitelist subsetting into your marketing site build. Hero text changes weekly? Re-derive the whitelist from the page and regenerate the font automatically.
Read guide Name Table CleanerWire name table cleanup into your build script for compounding savings. Pure-JS Node port of the JAD logic — handles the binary table rewrite without external tools.
Read guide Ligature TogglerWire the JAD Ligature Toggler logic into your build script to auto-generate per-component ligature CSS based on font features detected.
Read guide Glyph InspectorWire the JAD Glyph Inspector logic into a Node script. Auto-generate icon design tokens from custom icon fonts on every CI run.
Read guide Metadata ExtractorWire metadata extraction into CI to capture font version, licence, and vendor info on every build. Pure-JS script using opentype.js.
Read guide Font FingerprinterWire SHA-256 fingerprinting into CI. Auto-rename fonts with content hashes, generate SRI attributes, and detect silent third-party font updates.
Read guide Kerning AuditorCatch kerning regressions automatically. Node script reads kern + GPOS tables and warns when kerning pair counts drop unexpectedly.
Read guide Coverage MapWire the Coverage Map into CI for automated multi-font audits. Catch foundry updates that drop language support before they ship.
Read guide Metrics AnalyserWire the Metrics Analyser into a CI script that emits design tokens — line-height, x-height ratio, cap-height ratio — per font in your system.
Read guide OT FeaturesWire the Features Inspector into a CI script. Catch feature regressions when foundries update fonts and verify your design system's feature requirements.
Read guide Glyph CountWire Glyph Count Analyser into CI to fail builds when fonts exceed budget. Catches regressions when foundry updates inadvertently grow the glyph set.
Read guide @font-face GenWire the @font-face Generator into CI. Auto-emit @font-face blocks based on your fonts directory, with content-hashed URLs and matching format() hints.
Read guide Type CSS VariablesWire the JAD Typography CSS Variables output into Style Dictionary for cross-platform tokens. Same tokens emit CSS for web + Swift for iOS + XML for Android.
Read guide Type ScaleWire the Type Scale Builder into CI for cross-platform token generation. Same scale emits CSS for web, Swift type sizes for iOS, dimens.xml for Android.
Read guide System StackWire system stack generation into design tokens. Sans, serif, monospace stacks emitted per OS scope from a single source — drop into Style Dictionary or component libraries.
Read guide Preload BuilderWire preload tag generation into CI. Auto-emit <link rel=preload> for content-hashed font URLs. Drops directly into your HTML head template.
Read guide font-displayWire font-display strategy decisions into your build script. Per-surface strategies (swap for hero, optional for body) emitted automatically.
Read guide Clamp GeneratorWire clamp() expressions into design tokens. Per-role tokens (display, heading, body) emit fluid scaling automatically — drop into Style Dictionary or CSS variables.
Read guide Dark ModeWire dark-mode font adjustments into design tokens. Per-mode token sets (light, dark) emit prefers-color-scheme media queries automatically.
Read guideWOFF2 cuts font payload by 30–50%, which directly improves Largest Contentful Paint (LCP), reduces Cumulative Layout Shift (CLS), and lowers Total Blocking Time. Real-world impact, measured.
Read guide TTF → WOFFWhen supporting IE11, locked-down enterprise browsers, or embedded WebKit views, WOFF is the right format. Compatibility matrix, deployment patterns, and the cost-benefit case.
Read guide Format IdentifierRun an audit across every font in your design system to catch extension/format mismatches, mystery TTCs, and corrupt files. Real-world workflow for inheriting a 5-year-old codebase.
Read guide WOFF2 → TTFCompliance teams need TTF copies of every web font in production to verify EULA terms. Decompress WOFF2 → TTF in your browser, then run the Metadata Extractor for the licence string.
Read guide Font → Base64HTML email clients strip external resources but most accept base64-inlined @font-face. Practical guide to embedding brand fonts in transactional and marketing emails.
Read guide Font → SVG FontWire SVG Fonts into headless PDF generation with PrinceXML, WeasyPrint, or wkhtmltopdf. When SVG Font is preferred over PDF's native font embedding, and when it isn't.
Read guide Variable FreezerShould your design system standardise on variable, static, or both? Policy framework covering bandwidth, browser support, designer tooling, and migration paths.
Read guide Google Fonts CSSStep-by-step migration from Google Fonts CDN to self-hosted: audit, rewrite, validate, deploy. Real-world workflow with rollback safety nets.
Read guide Font SubsetterStrategy for serving the right glyphs to the right audience. Per-language subsets via unicode-range, fallback chains, and the patterns top SaaS uses for global sites.
Read guide Latin FilterUse Latin Filter as the default base font in multilingual deployments, with extended charsets loaded on demand via unicode-range. Reduces 95% of traffic's bandwidth.
Read guide Emoji RemoverBrand-consistent emoji across platforms is hard. Strategy framework: OS-native (smallest), branded chromatic (largest, prettiest), or a hybrid for marketing surfaces.
Read guide Hinting StripperWhen and why to standardise on unhinted fonts across your design system. Performance gains, audience considerations, and the migration path from hinted to unhinted.
Read guide Colour StripperModern browsers render chromatic brand fonts beautifully; older ones render tofu. Ship a monochrome fallback derived from the same source for graceful degradation.
Read guide Whitelist BuilderPremium brand sites ship custom typography for headlines but want it under 3 KB. Whitelist subsetting delivers branded type at near-zero bandwidth cost.
Read guide Name Table CleanerWhy name table cleanup belongs in every design system's font pipeline. Compounding bandwidth savings, deploy hygiene, and the case against keeping unused localised records.
Read guide Ligature TogglerDefault ligature settings for design systems. Where to enable discretionary ligatures, where to disable standard ones, and how to write the CSS for clean defaults.
Read guide Glyph InspectorWhen users report missing characters or tofu boxes, the Glyph Inspector confirms whether the glyph exists in the font. Catch coverage gaps before users do.
Read guide Glyph InspectorDocument every icon in a custom icon font. Export glyph names, Unicode codepoints, and CSS escape sequences for design system reference docs.
Read guide Metadata ExtractorCompliance teams need licence data from production fonts. The Metadata Extractor surfaces nameID 13 (licence) and nameID 14 (licence URL) from any font — TTF, OTF, WOFF, WOFF2.
Read guide Metadata ExtractorEvery font has a version string in nameID 5. Extracting it on every build keeps your design system pinned to specific font versions — no silent updates.
Read guide Font FingerprinterThird-party fonts (Google Fonts, fontshare, Adobe Fonts CDN) can change without notice. SHA-256 fingerprinting detects supply-chain swaps before they ship to users.
Read guide Kerning AuditorBrand fonts ship with foundry-defined kerning. Auditing the pair table catches gaps before they affect headline legibility. Workflow for typography QA teams.
Read guide Coverage MapConfirm a font supports every language in your i18n matrix before adopting it. The Coverage Map shows Latin, Cyrillic, Greek, CJK, Arabic, Devanagari, and 300 more blocks.
Read guide Metrics AnalyserSet line-height that respects every font's metrics. Match cap-height across fonts for perfect baseline alignment. Practical guide using the Metrics Analyser output.
Read guide Metrics AnalyserReduce CLS during font swap by picking fallback fonts with matching metrics. Practical workflow using ascent-override, descent-override, and size-adjust CSS descriptors.
Read guide OT FeaturesPin the features your design system uses (kern, liga, calt, smcp, tnum) and document them. Prevents inconsistent typography across components and teams.
Read guide Glyph CountWeb Vitals budgets cap font weight at 100 KB. The Glyph Count Analyser tells you which subsets fit. Practical glyph-budget planning workflow.
Read guide @font-face GenModern @font-face checklist: WOFF2-only delivery, font-display: swap, preload critical fonts, size-adjust for fallback matching, unicode-range for subsets.
Read guide Type CSS VariablesStandardise typography across product, marketing, and email surfaces. CSS variable system with semantic role tokens (heading-display, body, code) instead of raw size names.
Read guide Type ScaleDifferent ratios convey different brand tones. Soft and reading-focused (Minor Third) vs dramatic and headline-driven (Golden Ratio). Match the ratio to your audience.
Read guide System StackMost modern design systems use system stacks for body text and reserve custom web fonts for display surfaces. Policy framework for adoption.
Read guide Preload BuilderPreloading the LCP-element font cuts LCP by 100–500 ms on slow connections. Strategy guide for picking which fonts to preload, how many, and when.
Read guide font-displayDifferent sites have different priorities. Branding sites pick swap (visible brand identity ASAP). Performance sites pick optional (no late surprises).
Read guide Clamp GeneratorModern sites that use fluid clamp() typography. Patterns, ratios, and CSS snippets from sites like Stripe, Linear, Vercel, and Apple.
Read guide Dark ModeHow major sites handle dark-mode typography adjustments. GitHub, Linear, Apple — each takes a different approach. Practical patterns and CSS snippets.
Read guideReference guide for unusual TTF-to-WOFF2 conversion cases: huge CJK fonts, embedded bitmaps, sbix Apple colour fonts, COLRv1 chromatic emoji, and TTC font collections.
Read guide TTF → WOFFReference guide to the WOFF 1.0 file format: header bytes, table directory, per-table zlib compression, and the differences from a raw sfnt. Useful for tooling authors.
Read guide WOFF2 → TTFReference for unusual WOFF2 decompression cases: corrupt files, version mismatches, missing tables, and output format detection (TTF vs OTF/CFF).
Read guide Format IdentifierReference table of every font format's magic bytes, plus the historical context for each. Useful for tooling authors, font librarians, and anyone debugging file-format issues.
Read guide Font → Base64Real measured numbers for base64-inlining web fonts: 1.333× raw inflation, gzip recovers within 1% for WOFF2 but inflates TTF by 17%, lightningcss silently drops @font-face rules with whitespace in base64, and atob rejects URL-safe alphabets. Includes a paste-in @font-face validator.
Read guide Font → SVG FontReference for the deprecated SVG Font spec: glyph element layout, coordinate system, font-face attributes, and the gotchas that made consistent rendering impossible.
Read guide Variable FreezerReference for unusual freezing scenarios: multi-axis fonts, custom axes, MVAR-only metrics, and fonts where freezing alone doesn't fully strip variable behaviour.
Read guide Font SubsetterReference for what survives and what breaks during font subsetting: kerning, ligatures, OpenType features, variable axes, and CFF-specific quirks.
Read guide Latin FilterReference for unusual Latin Filter cases: fonts with locked metrics, missing Latin coverage, hybrid scripts, and the silent failures of misconfigured subsets.
Read guide Emoji RemoverReference for unusual emoji-removal scenarios: ZWJ sequences, skin-tone modifiers, regional indicator pairs, and the Private Use Area trap.
Read guide Hinting StripperReference for every TrueType hinting table: fpgm, prep, cvt, gasp, hdmx, VDMX, LTSH. What each does, when it matters, and what happens after stripping.
Read guide Colour StripperReference for OpenType colour tables. Field layouts, browser support matrix, and the order of operations renderers use to pick which colour format to render.
Read guide Whitelist BuilderReference for whitelist subsetting edge cases: combining characters, ligatures across glyphs, kerning loss, and the silent failure when text doesn't match the whitelist.
Read guide Name Table CleanerReference table for every standard OpenType name record ID (0–25 + extras). What each ID means, which browsers read which IDs, and which can be safely stripped.
Read guide Ligature TogglerReference for every OpenType ligature feature tag (liga, calt, dlig, hlig, rlig). What each does, browser support, and the CSS to control them.
Read guide Glyph InspectorReference for OpenType glyph metadata: glyph index, post-table names, cmap-encoded Unicode, hmtx advance widths. What each field means and how the inspector surfaces it.
Read guide Metadata ExtractorReference for every standard OpenType name table record (0–25). What each ID means, whether browsers read it, and how the Metadata Extractor surfaces it.
Read guide Font FingerprinterReference for unusual fingerprinting scenarios: multi-version fonts, locale-encoded fonts, identical-rendering different bytes, and the deterministic-build trap.
Read guide Kerning AuditorReference of the 50 most commonly-kerned letter pairs in Latin typography, with typical kerning values. Useful for evaluating font quality and debugging spacing issues.
Read guide Coverage MapReference of the most font-relevant Unicode blocks, their codepoint ranges, and the languages they support. Useful when matching fonts to audiences.
Read guide Metrics AnalyserReference for OpenType vertical metrics: head, hhea, OS/2 (typo + win), post. What each table contains, which browsers prefer which, and how the analyser presents them.
Read guide OT FeaturesReference for the most common OpenType feature tags. What each does, when to use it, and the CSS to enable it. Covers Latin, CJK, Arabic, and complex scripts.
Read guide Glyph CountCJK fonts ship 5,000–50,000 glyphs by default. Subsetting to commonly-used codepoints saves 70–95%. Reference for CJK-specific glyph budget decisions.
Read guide @font-face GenReference for every @font-face descriptor: src, font-family, font-weight, font-style, font-display, unicode-range, ascent-override, descent-override, line-gap-override, size-adjust.
Read guide Type CSS VariablesNaming convention reference for typography tokens. Tailwind, Material Design, IBM Carbon, Atlassian — what each system calls its tokens and when.
Read guide Type ScaleReference of every named modular ratio used in typography. Numeric value, design tone, and example sites that use each one.
Read guide System StackReference for the default UI font on each major OS. San Francisco, Segoe UI, Roboto, and friends — what's available where, with version requirements.
Read guide Preload BuilderReference for every <link rel=preload> attribute: as, type, href, crossorigin, media, fetchpriority, integrity. What each does and when to use it.
Read guide font-displayComplete font-display spec reference: timeline phases (block, swap, failure), all five values, browser support, and the precise behaviour per phase.
Read guide Clamp GeneratorReference for CSS clamp(). Three-argument signature (min, preferred, max), how the preferred value is computed, browser support, and the math for fluid typography.
Read guide Dark ModeReference checklist for implementing dark mode typography correctly. Weight reductions, contrast ratios, off-white text, OLED considerations.
Read guide