Three families do the talking and a fourth only handles code. Anybody is a poster face with a width axis: near-normal and upright for page heads, stretched wide or squeezed condensed for a few words of poster. Schibsted Grotesk is the reading face, built for long text at small sizes. Shantell Sans letters the comic balloons in capitals, like a letterer's hand. Geist Mono stays inside code.
The rules keep the loud part loud and the reading part quiet: one display moment per view, the wide and condensed voices on three words or fewer, sentence case everywhere, and sizes that never drop under their floor on screen, on paper or on a slide. Display type prints twice, the second ink slightly off register, the way a two-colour press prints, and only where it is big enough to read as print and not as blur.
Rules#
| Id | Rule | Why | Checked by |
|---|---|---|---|
| BB-TYPE-01Must | Use Anybody for display, Schibsted Grotesk for text, Shantell Sans capitals only in balloons and captions, and Geist Mono only in code.Applies to: Site, Docs, MAX//OS, Print, Documents, Social, Slides | Each family has one job, so a reader learns the system in a page: posters shout in Anybody, reading happens in Schibsted, people talk in Shantell. | Lintmk/mono |
| BB-TYPE-02Must | Write in sentence case everywhere; capitals only in stamps, SFX and comic lettering.Applies to: Every channel | Sentence case reads fastest and keeps the capitals for the moments that should feel printed. | Lintmk/uppercase; check:docs headings |
| BB-TYPE-03Must | Meet the type floors of the type page for screen, print and slides.Applies to: Every channel | The floors are where text stops being comfortable to read: the APCA lookup on screen, the printer's minimums on paper, the back row of a room on slides. | Press checkrule 3; the press artwork and deck tests |
| BB-TYPE-04Must | Print one display moment per view at Studio and one per section at Press; set the wide, condensed and italic voices on three words or fewer, on one line.Applies to: Site, Docs, MAX//OS, Print, Documents, Social, Slides | One poster moment is a headline; three are a ransom note. The width extremes only read on a few words. | Press checkrule 11, type discipline |
| BB-TYPE-05Must | Print the second ink only on display type of 2 rem or more (section heads from Press), and never under more contrast.Applies to: Site, Docs, MAX//OS, Social, Slides | Below 2 rem the offset reads as blur (D-D6); readers who ask for more contrast get one clean print. | Lintmk/second-ink-role |
| BB-TYPE-06Must | Set numerals tabular and lining; use a slashed zero only in codes and ids.Applies to: Every channel | Tabular figures line up in tables, prices and dates; a slashed zero in prose looks like a typo. | Manual review |
| BB-TYPE-07Must | Keep running text to 70 characters a line with a leading of 1.5 or more, and balloons and captions to 35 words.Applies to: Site, Docs, MAX//OS, Documents, Slides | Long lines and tight leading tire the eye; long balloons belong on a words panel in Schibsted. | Press checkrule 11, type discipline |
| BB-TYPE-08Never | Use synthetic bold or italic, tracked body text or justified text.Applies to: Every channel | The families ship the weights and italics they need; faked styles, tracking and justification break the spacing the type was drawn with. | Manual review |
| BB-TYPE-09Never | Send an editable file that needs the fonts installed; PDFs and decks embed them.Applies to: Print, Documents, Slides | A file that falls back to a system font loses the brand on the client's machine. Embedded fonts print the same everywhere. | Testpdffonts on every press PDF, document and deck |
| BB-TYPE-10Must | In email, set text in Helvetica, Arial, sans-serif and the wordmark as an image; it is the only sanctioned fallback.Applies to: Email | Email clients strip web fonts, so the signature names a stack every client has and carries the wordmark as a picture. | Testthe signature tests |
Specs#
The families#
| Family | Its job | Specimen |
|---|---|---|
| Anybody | Display: page titles, section heads, SFX, splash titles, numerals and the wordmark. Its width axis gives the standard, wide and condensed voices. | Print it loud |
| Schibsted Grotesk | Text: body, labels, controls, tables, forms, documents. Everything a reader has to read. | Reads for hours without complaint |
| Shantell Sans | Comic lettering, in capitals, inside balloons and captions only. | Pow, it shipped |
| Geist Mono | Code only: code blocks and inline code, nowhere else. | pnpm brand:build |
All four are under the SIL Open Font License. Contractors get them from the fonts download: the upstream files, unmodified, with their licence texts. The site serves them from @maxgrits/overprint-fonts.
Display voices#
Anybody's width axis gives the display three voices: standard for page heads, wide italic and condensed for three words or fewer on one line (BB-TYPE-04).
Fresh by noon
Bread and websites
Fernlight, case 03
data-mk-voice="standard"Fresh by noon
Bread and websites
Fernlight, case 03
data-mk-voice="wide"Fresh by noon
Bread and websites
Fernlight, case 03
data-mk-voice="condensed"Screen roles#
Every piece of text uses a role, never a raw size. The text roles are fixed or fluid; the display roles grow with the screen and with the volume (shown here at Studio).
| Role | 390 | 768 | 1440 | 1920 | Weight | Leading |
|---|---|---|---|---|---|---|
lede | 20 | 21.4 | 24 | 24 | 450 | 1.4 |
statement | 22 | 24.2 | 28 | 30 | 600 | 1.3 |
body | 18 | 18 | 18 | 18 | 420 | 1.55 |
body-ui | 16 | 16 | 16 | 16 | 450 | 1.5 |
meta | 16 | 16 | 16 | 16 | 500 | 1.4 |
row-title | 18 | 18 | 18 | 18 | 600 | 1.3 |
field-label | 16 | 16 | 16 | 16 | 600 | 1.3 |
label | 14 | 14 | 14 | 14 | 600 | 1.3 |
control-sm | 16 | 16 | 16 | 16 | 700 | 1 |
control-md | 17 | 17 | 17 | 17 | 700 | 1 |
control-lg | 18 | 18 | 18 | 18 | 700 | 1 |
nav | 16 | 16 | 16 | 16 | 600 | 1 |
code | 16 | 16 | 16 | 16 | 450 | 1.6 |
| Role | 390 | 768 | 1440 | 1920 | Weight | Leading |
|---|---|---|---|---|---|---|
display | 48 | 62.4 | 88 | 104 | 830 | 0.9 |
head-section | 32 | 37 | 46 | 52 | 780 | 1 |
head-card | 24 | 26.2 | 30 | 32 | 740 | 1.05 |
kicker | 24 | 26.2 | 30 | 32 | 740 | 1.1 |
numeral-xl | 56 | 64.6 | 80 | 88 | 900 | 0.9 |
numeral-l | 44 | 47.6 | 54 | 58 | 880 | 0.9 |
numeral-m | 32 | 33.4 | 36 | 36 | 860 | 0.95 |
numeral-s | 24 | 24 | 24 | 24 | 820 | 1 |
sfx | 56 | 76.2 | 112 | 128 | 900 | 0.85 |
wordmark | 21 | 21 | 21 | 21 | 820 | 1 |
| Role | 390 | 768 | 1440 | 1920 | Weight | Leading |
|---|---|---|---|---|---|---|
letter-balloon | 16 | 16 | 16 | 16 | 560 | 1.42 |
letter-caption | 16 | 16 | 16 | 16 | 520 | 1.5 |
letter-shout | 21 | 21 | 21 | 21 | 780 | 1.1 |
letter-whisper | 16 | 16 | 16 | 16 | 500 | 1.42 |
letter-note | 16 | 16 | 16 | 16 | 540 | 1.4 |
Print roles#
Documents, business cards and the spec sheet print in points. Print roles never scale with the volume.
| Role | Family | Size | Weight | Leading | Use |
|---|---|---|---|---|---|
print-title | Anybody, width 106 | 28pt | 830 | 1 | a document's title, its one display moment |
print-head | Anybody, width 104 | 14pt | 780 | 1.15 | section heads in documents and the spec sheet |
print-body | Schibsted Grotesk | 10pt | 420 | 1.45 | running text |
print-table | Schibsted Grotesk | 9.5pt | 450 | 1.35 | line items, totals and spec tables |
print-meta | Schibsted Grotesk | 8.5pt | 500 | 1.35 | numbers, dates, client blocks |
print-label | Schibsted Grotesk | 8pt | 550 | 1.3 | table heads and field labels |
print-numeral | Anybody, width 100 | 12pt | 820 | 1.1 | totals and big figures |
print-footer | Schibsted Grotesk | 7.5pt | 450 | 1.3 | page footers and slugs |
print-card-name | Schibsted Grotesk | 9pt | 700 | 1.2 | the name on a business card, the line name on a sticker |
print-card-line | Schibsted Grotesk | 7.5pt | 450 | 1.35 | the role and contact lines on a business card |
Quote Q-2026-014
A website for Fernlight Bakery
Scope
A five-page site with online ordering for the morning bake, set up for local search, with a quote form that lands in the shop's inbox.
CAD 4,800.00
Slide roles#
Slides are a 1920 by 1080 canvas; the display and head roles scale with the volume like their screen twins.
| Role | Family | Size | Weight | Leading | Use |
|---|---|---|---|---|---|
slide-display | Anybody, width 106 | 104px | 830 | 0.9 | title and section slides, one per slide |
slide-head | Anybody, width 104 | 52px | 780 | 1 | content slide heads |
slide-body | Schibsted Grotesk | 32px | 420 | 1.4 | slide text: at most 40 words a slide |
slide-meta | Schibsted Grotesk | 24px | 500 | 1.35 | sources, dates and slide numbers |
Floors#
| Medium | Text | Floor |
|---|---|---|
| Screen | Body on the site | 18 px at 420 |
| Screen | Body in UI and forms | 16 px at 450 |
| Screen | Anything meaningful | 14 px or more |
| Screen | Anything at all | 12 px or more |
| Running text | 9.5 pt or more | |
| Meta and labels | 8 pt or more | |
| Contact lines and footers | 7.5 pt or more | |
| Anything at all | 7.5 pt or more | |
| Reversed text (paper on ink) | 8 pt or more, at weight 600 or heavier | |
| Slides | Body | 32 px or more on the 1920 px canvas |
| Slides | Anything at all | 24 px or more |
The second ink#
Display type of 2 rem or larger prints twice: the second ink lands off register and stays there at rest. Below that size the offset reads as blur, so smaller type never prints twice, and Quiet and more contrast turn it off (BB-TYPE-05).
Fernlight
Numerals and case#
Numerals are tabular and lining everywhere, so totals, dates and tables line up. A slashed zero appears only in codes and ids. Everything is in sentence case; capitals belong to stamps, SFX and comic lettering (BB-TYPE-02, BB-TYPE-06).
Fallbacks per medium#
| Medium | Fonts |
|---|---|
| Web | Self-hosted from @maxgrits/overprint-fonts; no fallback is ever seen once the fonts load |
| PDFs | Embedded subsets of the static instances |
| HTML decks | Embedded in the one file |
| Helvetica, Arial, sans-serif, with the wordmark as an image: the only sanctioned fallback | |
| Office apps | None: there are no office templates |
Do and don't#
Do
Don't
Do
Don't
Do
Don't
Files#
| File | What it is | Format and size | sha256 | Built by |
|---|---|---|---|---|
makr-labs-fonts.zip/brand/downloads/makr-labs-fonts.zip | The four type families, the upstream files unmodified, with their OFL texts | ZIP archive, 1.2 MB | 97779c8715405dd238b5a76a43c27f793680b18b2028e35d5b5e446e42888145 | overprint-gen brand --only fonts |
Related#
- Type and Display voices: every role and token.
- Fitted lines: display lines that fill their slot.