Typography engineering atelier

We build the infrastructure of reading itself.

Complete Chinese typefaces drawn from the stroke skeleton up. Western kerning resolved to the subpixel. Variable font code that keeps its shape in motion. Not graphic design — the invisible architecture between glyphs.

Type specimen sheets of Chinese and Latin letterforms pinned to a studio wall

Most type is broken

A typeface fails in the spaces, not the shapes.

Uneven sidebearings, a component reused at the wrong optical size, a weight axis that pinches at 480 — these are engineering defects, and they are measurable. We audit, document, and correct them, then lock the result behind a regression suite so it stays corrected.

  • Written specification before the first contour
  • Proof sheets at reading sizes, on real devices
  • Source files, build scripts, and licence handed over

Capabilities

Six disciplines, one pipeline.

Stroke skeleton construction

Every Hanzi begins as a skeleton: stroke order, joint pressure, and component proportion resolved before a single outline is drawn.

Subpixel kerning

Latin, Cyrillic, and Greek pairs tuned at 12px through 96px, verified on LCD subpixel and grayscale rasterizers.

Variable font engineering

Designspace authoring, axis mapping, avar2 corrections, and instance QA so interpolation never collapses mid-axis.

CJK coverage planning

GB 18030, Big5, and JIS coverage staged into buildable milestones with component reuse budgets per release.

Hinting and rasterization

TrueType and PostScript hinting, gasp tables, and per-platform screenshot regression at real reading sizes.

Production toolchain

fontmake and fontTools pipelines wired to CI, so a corrected contour ships as a versioned binary the same day.

Variable axes

Motion is a build problem.

An animated weight axis exposes every interpolation error at once. We build designspaces with explicit intermediate masters, then test every 5 units of travel so a headline can move from Thin to Black without a stem wobbling.

See how we scope a family
Printed variable font weight axis showing a letterform interpolating from thin to black

27,533

Glyphs drawn in our largest CJK release

18,400

Kerning pairs verified across scripts

6

Axes shipped in a single variable family

11

Years engineering type systems

Stroke skeleton drawing of a Chinese character with control points on tracing paper

How a project runs

  1. 01

    Audit

    We measure what exists: metrics, coverage gaps, failing pairs, axis behaviour. You get a written defect list.

  2. 02

    Skeleton

    Stroke systems and Latin proportions are fixed first, reviewed on paper and screen before outlining begins.

  3. 03

    Build

    Sources move into a versioned pipeline. Each milestone ships a testable binary, not a screenshot.

  4. 04

    Handover

    Fonts, sources, build scripts, and documentation transfer to your team with a licence that matches your use.

Tell us which glyphs are failing.

Send a sample, a coverage target, or a broken build. We reply with a scope and a defect list within two working days.