Foundations

Typography

Two families and one semantic type scale for every surface.

Gerstner carries display, headings, and body. It ships Regular and Bold, each with an italic; bold is Text’s only weight switch. Diatype Mono carries labels, buttons, pills, and meta. It has one face, is always uppercase and tracked looser, and ignores bold and italic.

Gerstner Programm
'gerstner', 'gerstner Fallback'
Aa
ABCDEFGHIJKLMNOPQRSTUVWXYZ · 0123456789
Share the whole night
Regular · 400
Share the whole night
Bold · 700
Share the whole night
Italic · 400
Share the whole night
Bold italic · 700
ABC Diatype Mono
'diatypeMono', 'diatypeMono Fallback'
AG
ABCDEFGHIJKLMNOPQRSTUVWXYZ · 0123456789
One physical face
Always uppercase · tracked looser than sans

Fourteen semantic variants pair size, line height, weight, tracking, and family. The specimen keeps each row at its real Text variant.

Display
Share the whole night
display-lg · 48/52 · 700 · -0.5
Share the whole night
display-md · 40/44 · 700 · -0.5
Share the whole night
display-sm · 32/38 · 700 · -0.25
Page
Share the whole night
page-title · 36/42 · 700 · -0.25
Heading
Share the whole night
heading-1 · 28/34 · 700 · -0.25
Share the whole night
heading-2 · 24/30 · 700 · -0.25
Share the whole night
heading-3 · 20/26 · 700 · 0
Share the whole night
heading-4 · 17/24 · 700 · 0
Body
Share the whole night
body-lg · 17/26 · 400 · 0
Share the whole night
body-md · 15/22 · 400 · 0
Share the whole night
body-sm · 13/20 · 400 · 0
Label (mono, uppercase)
Share the whole night
label-lg · 15/20 · 400 · 0.6
Share the whole night
label-md · 13/18 · 400 · 0.8
Share the whole night
label-sm · 11/16 · 400 · 1
Caption (mono, uppercase)
Share the whole night
caption · 11/16 · 400 · 0.6

A composed album header shows how a small set of variants carries a page.

Marker 1
YOUR SHARED ALBUM
Marker 2
Every moment, together.
Marker 3
Bring your favorite people into the story. Add a photo, leave a note, and keep the weekend close.
Marker 4
Maya and friends
Marker 5
PHOTO COLLECTION · UPDATED TODAY
Marker 1label-smeyebrow
Marker 2heading-1title
Marker 3body-lgreading copy
Marker 4body-smsupporting meta
Marker 5captionquiet metadata

Prefer a semantic variant. It sets size, line height, weight, tracking, and family together; override with font="sans" or font="mono" only when needed.

Share the whole night
Do

Choose a semantic variant for its role.

Share the whole night
Don't

Do not set raw font styles for a text role.

import { useSwshdTheme } from "swshd/ThemeProvider";
import Text from "swshd/Text";

const { colors } = useSwshdTheme();
<Text variant="heading-2" color={colors.text.primary}>
  Share the whole night
</Text>
VariantFamilySize / lineWeightTrackingUppercase
display-lgGerstner Programm48 / 52700-0.5No
display-mdGerstner Programm40 / 44700-0.5No
display-smGerstner Programm32 / 38700-0.25No
page-titleGerstner Programm36 / 42700-0.25No
heading-1Gerstner Programm28 / 34700-0.25No
heading-2Gerstner Programm24 / 30700-0.25No
heading-3Gerstner Programm20 / 267000No
heading-4Gerstner Programm17 / 247000No
body-lgGerstner Programm17 / 264000No
body-mdGerstner Programm15 / 224000No
body-smGerstner Programm13 / 204000No
label-lgDiatype Mono15 / 204000.6Yes
label-mdDiatype Mono13 / 184000.8Yes
label-smDiatype Mono11 / 164001Yes
captionDiatype Mono11 / 164000.6Yes