haux.studio

Section 06

Typography

Three families, one job each: Accia Flare for display, CC Timeline Var Low for text, JetBrains Mono for meta. Tracking is a function of case rather than a matter of taste, and two of the three families cannot be redistributed.

06 · Typography

Pick the family by the job, not by the look. Three families is already one more than most identities need, so none of them may do a second job.

One job each, and no overlap

Display is uppercase, text is sentence case, meta is uppercase and monospaced.

Accia Flare does display, uppercase only, at -0.04em tracking and 0.9 leading. CC Timeline Var Low does text, sentence case, at +0.02em with the ss01 stylistic set on. JetBrains Mono does meta, uppercase, at -0.04em with the case feature on so the punctuation lifts to cap height.

The boundaries are the point. Display set in sentence case is not a variant, it is a mistake, and body copy set in the display face at 0.9 leading is unreadable by the second line.

The three families

Rendered at real size from the same tokens the site uses, not screenshotted from a specimen sheet.

Display · Accia Flare, Mint Type

A flare serif, incised, with wedge terminals. Uppercase only, at 0.9 leading.

Accia Flare is set uppercase and nothing else. Leading is 0.9, which is tighter than the cap height and makes multi-line display type interlock as a block rather than read as separate lines. Tracking is -0.04em, tightening to -0.05em above about 120px.

Display specimens

  1. Ancient precision

    Role
    Display XL
    Size
    clamp(3rem, 9vw, 8rem)
    Weight
    400
    Tracking
    -0.05em
    Leading
    0.9

    Above about 120px the tracking tightens a further step, to -0.05em. This is the only size at which that applies.

  2. Modern speed

    Role
    Display L
    Size
    clamp(2.25rem, 5vw, 4rem)
    Weight
    400
    Tracking
    -0.04em
    Leading
    0.9

    The default display setting: section openers and statements.

  3. Heraldry, rendered in a systems typeface

    Role
    Display M
    Size
    clamp(1.5rem, 3vw, 2.25rem)
    Weight
    400
    Tracking
    -0.04em
    Leading
    0.9

    The smallest permitted display setting. Below this the flare terminals stop reading and the text face is the better choice.

Accia Flare is not self-hosted. If these three lines are rendering in a serif fallback, the Type Network stylesheet has not been wired up yet, which is an open item recorded in the licensing block below.

The sizes on those specimens are illustrative. The source specifies case, tracking and leading per family, and it does not specify a numbered type scale, so the steps shown here are the ones this site uses rather than a published scale. Fixing a scale is an open decision, listed at the foot of this page.

Tracking

Set the case first and the tracking follows from it. This is the rule that stops the two faces drifting towards each other.

Tracking is a function of case

Uppercase runs negative. Sentence case runs positive.

Capitals are drawn with more sidebearing than they need when set as a run, so uppercase settings close up: -0.04em for both display and meta. Lowercase running text has the opposite problem at screen sizes, so text opens out to +0.02em. There is no case in the system where a sentence-case setting takes negative tracking.

Uppercase also tightens as it grows. Above about 120px, display moves to -0.05em, because the same optical gap that needs opening at 16px needs closing at 120px.

An unresolved conflict: -0.04em or -0.06em

The artwork sets Accia at -0.04em. The internal spec slide says -0.06em. Those are not close enough to treat as the same value, and the difference is visible in a headline of any length.

This page states -0.04em because that is what the artwork does, which makes it the value that has actually been seen and approved. It needs resolving properly rather than settling by whichever document was opened last.

The variable axis

A variable body face is an unusual choice, so it is worth showing what it buys.

One file, six named instances

CC Timeline Var Low is a genuine variable font with a weight axis running 300 to 800. One 83 KB file replaces six static cuts, which would otherwise be six separate requests and roughly six times the bytes for the same coverage. The named instances run Light through ExtraBold.

The practical gain is that intermediate weights are free. A label that needs to sit between Medium and SemiBold can, without adding a file to the build.

The weight axis, 300 to 800

  1. Light 300. An ancient beast reduced to geometry.

    Role
    CC Timeline Light
    Size
    clamp(1.125rem, 2.2vw, 1.625rem)
    Weight
    300
    Tracking
    0.02em
    Leading
    1.3
  2. Regular 400. An ancient beast reduced to geometry.

    Role
    CC Timeline Regular
    Size
    clamp(1.125rem, 2.2vw, 1.625rem)
    Weight
    400
    Tracking
    0.02em
    Leading
    1.3
  3. Medium 500. An ancient beast reduced to geometry.

    Role
    CC Timeline Medium
    Size
    clamp(1.125rem, 2.2vw, 1.625rem)
    Weight
    500
    Tracking
    0.02em
    Leading
    1.3
  4. SemiBold 600. An ancient beast reduced to geometry.

    Role
    CC Timeline SemiBold
    Size
    clamp(1.125rem, 2.2vw, 1.625rem)
    Weight
    600
    Tracking
    0.02em
    Leading
    1.3
  5. Bold 700. An ancient beast reduced to geometry.

    Role
    CC Timeline Bold
    Size
    clamp(1.125rem, 2.2vw, 1.625rem)
    Weight
    700
    Tracking
    0.02em
    Leading
    1.3
  6. ExtraBold 800. An ancient beast reduced to geometry.

    Role
    CC Timeline ExtraBold
    Size
    clamp(1.125rem, 2.2vw, 1.625rem)
    Weight
    800
    Tracking
    0.02em
    Leading
    1.3

Each line is the same file at a different point on the axis. Nothing here is a separate font.

The pairing

The two faces are chosen against each other, and the tension between them is the same one the logo resolves.

Heraldry rendered in a systems typeface

Accia Flare does the griffin’s job

It is a flare serif: incised, with wedge terminals rather than bracketed slabs. That is carved lettering, and it reads as heraldic before anybody has read a word of it. It carries the same ancient half of the positioning that the griffin carries in the logo.

CC Timeline does the geometry’s job

It is a low-contrast neo-grotesk, drawn for screens and quietly technical. It makes no claim to history at all. That is the modern half, and it is what the griffin reduces into.

Heraldry, rendered in a systems typeface.

Which is the same sentence as ancient precision, modern speed.

Licensing

Read this before adding a font to a template, a download or a client handover. The constraints are contractual, not preferences.

Two of the three families cannot be redistributed

Accia Flare: hosted webfont only

The licence covers web use only as a Type Network hosted webfont, and clause 5A forbids converting the supplied OTF. Accia therefore cannot be self-hosted, cannot be converted to WOFF2, and is loaded from Type Network’s CDN through a stylesheet link in the root layout. It does not go through next/font, and it never will.

Their hosted fonts are domain-locked, so every origin that serves the site has to be listed in the Type Network dashboard, preview domains included. An unlisted origin does not error, it silently falls back, so a preview deploy can render every heading in Times without anyone noticing.

The project stylesheet URL is not wired up yet: ACCIA_STYLESHEET_URL in src/styles/fonts.ts is still null. Until it is set, display type on this site renders in the fallback stack.

CC Timeline: self-hosted, served exactly as supplied

CCType permits self-hosting, on the condition that the supplied WOFF2 is served as it was delivered. It must not be subsetted, converted or rebuilt, which rules out the usual optimisation of stripping unused glyphs. The file stays in the repository, and the repository stays private while it does.

JetBrains Mono: SIL Open Font License

JetBrains Mono is under the SIL Open Font License. It can be hosted, embedded and passed on freely, provided the licence travels with it. It is the only one of the three that can be handed to anyone outside the studio.

Consequence: the Downloads section cannot host either font

Neither Accia Flare nor CC Timeline may be offered as a public download, and that follows directly from the two licences above rather than from caution. Anyone outside the studio who needs to set Haux type needs their own licence, or a PDF and outlined artwork. Only JetBrains Mono can be distributed.

This constrains section 14. Any download listing that includes an OTF or WOFF2 of the display or text face is a licence breach, not a broken link.

Open decisions

Written as gaps rather than filled in, so nobody cites a rule that was never made.

Two things this section cannot yet settle

The Accia tracking value

Artwork says -0.04em, the internal spec slide says -0.06em, and the two have never been reconciled. This page follows the artwork as the more likely intent, but the decision is not made. Whichever value wins, the losing document has to be corrected rather than left to be found later.

The type scale itself

The source defines case, tracking and leading per family, and stops there. There is no numbered scale, no step ratio and no minimum text size, so the specimens above show the sizes this site happens to use. A scale needs setting before the system is applied to anything denser than a web page.