Literata
Handgloves Handgloves Handgloves 0O Il1 äöüß
serif default 104 KB per view OFL-1.1
The default serif.
fonts: {serif: Literata}
psi-slides · typefaces
A lecture sets its text in three typefaces – a serif, a sans and a mono – and may give its cover and section dividers a fourth. Nine text faces and 32 display faces come with psi-slides, each drawn here the way a lecture draws it.
The faces a lecture uses are embedded into its views, so a deck sent by mail keeps its type, and naming one is a line in the frontmatter. The text faces come first, the display faces after them.
Nine faces in three roles: five serifs, two sans faces and two monos. Literata, IBM Plex Sans and JetBrains Mono are the default and need no line in the frontmatter. A deck embeds one face per role, 279 KB in each view for the default three. Pick one per role to see the pairing on a slide and on a page of the handout.
Each one fills a role. On a slide the serif sets the heading and the
prose, the mono sets code, and the sans sets the slide number and the labels
in a figure; on the printed page the sans also sets the type word and the
caption. During a talk, F switches the slide text between the
deck’s serif, its sans and its mono, and Shift F
back again – the three faces the deck already carries, in the projection
and the speaker view at once. font: sans in the frontmatter says
which of the three a lecture opens in.
In the frontmatter: nothing,
the default three need no line · 279 KB of type in each view.
example
A graphics card tries a billion guesses per second against a fast hash. Against a leaked list of short passwords that is an afternoon’s work, and a salt only keeps the attacker from reusing one table for every account.
So the password goes through bcrypt, which is slow on purpose: each step of
its cost factor doubles the work, for the attacker on every guess as much as for the server
once per login.
import bcrypt
salt = bcrypt.gensalt(rounds=12)
digest = bcrypt.hashpw(pw, salt)
assert digest != pw # -> keep only this
Handgloves Handgloves Handgloves 0O Il1 äöüß
serif default 104 KB per view OFL-1.1
The default serif.
fonts: {serif: Literata}
Handgloves Handgloves Handgloves 0O Il1 äöüß
serif 100 KB per view OFL-1.1
Finer hairlines than Literata, and the bold sits closest to the regular of the five.
fonts: {serif: Source Serif 4}
Handgloves Handgloves Handgloves 0O Il1 äöüß
serif 66 KB per view OFL-1.1
A slab with the lowest stroke contrast of the five, and the smallest file.
fonts: {serif: Bitter}
Handgloves Handgloves Handgloves 0O Il1 äöüß
serif 83 KB per view OFL-1.1
The highest stroke contrast of the five.
fonts: {serif: Noto Serif}
Handgloves Handgloves Handgloves 0O Il1 äöüß
serif 136 KB per view OFL-1.1
8 % wider than Literata, so a finished deck re-wraps; the widest step from regular to bold.
fonts: {serif: Roboto Serif}
Handgloves Handgloves Handgloves 0O Il1 äöüß
sans default 94 KB per view OFL-1.1
The default sans. Figure label widths are measured against it.
fonts: {sans: IBM Plex Sans}
Handgloves Handgloves Handgloves 0O Il1 äöüß
sans 91 KB per view OFL-1.1
The sans up to 1.0.0: condensed, narrower than Plex.
fonts: {sans: Inter Tight}
Handgloves Handgloves Handgloves 0O Il1 äöüß
mono default 81 KB per view OFL-1.1
The default mono. Its code ligatures stay off unless the deck says ligatures: all.
fonts: {mono: JetBrains Mono}
Handgloves Handgloves 0O Il1 äöüß
mono 55 KB per view OFL-1.1
0.50 em a character where JetBrains Mono takes 0.60, so a long listing fits. Upright only.
fonts: {mono: Noto Sans Mono Condensed}
A cover, a closing slide and the section dividers are the one place in a lecture where a loud typeface is not a mistake. These are the faces that ship with the tool for that job, each one drawn into a real cover and a real divider, with the title you type into it.
fonts: {display: Anton} in the frontmatter is the whole of it,
and it reaches those three slides and nothing else – an ordinary heading, a
card lead, a figure label all keep the body type.
What the role does is on the
decoration page.
They come in three kinds: 6 hand, 8 machine and 18 graphic. Median 21 KB each, 824 KB for the whole set, but a deck embeds one of them: the figure on a card is what naming that face costs a lecture in every view.
Four numbers decide most of these, and they are on every
card. The kind is the pairing rule: a display serif is drawn
here over a sans body and a display sans over a serif body, because a display
serif over the deck's own serif reads as one typeface set badly rather than as
two – lint.js warns when a deck does the opposite. The
percentage is that face's measured advance width against the body
serif, emitted as a size-adjust descriptor: these faces disagree
about width by a factor of three, and without it Press Start 2P simply ran off
the slide. The KB is the payload. A no ß badge means
the face has no eszett and a German title gets a fallback glyph mid-word;
exactly one face here does.
hand over either 139 % 73 KB OFL-1.1 wght 400 700
A ballpoint note. The one hand face with a weight axis, so a heading can be pressed harder than a subtitle.
fonts: {display: Caveat}
hand over either 88 % 77 KB OFL-1.1 wght 300 800
Marker-drawn but built as a text face: it holds a two-line title where the looser hands fall apart.
fonts: {display: Shantell Sans}
hand over either 134 % 66 KB OFL-1.1
The loud hand of the set – a brush pen at speed. One volume only, and the volume is high.
fonts: {display: Caveat Brush}
hand over either 133 % 23 KB OFL-1.1
The tidiest hand here – a neat person writing on a whiteboard, not a scrawl.
fonts: {display: Patrick Hand}
hand over either 106 % 22 KB OFL-1.1
A brush-pen hand with real weight – the bold cut, because 400 is too thin to carry a divider.
fonts: {display: Kalam}
hand over either 145 % 27 KB OFL-1.1
Very tall, very narrow capitals. Fits a long title where no other hand does, and is nearly weightless.
fonts: {display: Amatic SC}
machine over either 55 % 12 KB OFL-1.1
An arcade cabinet. Twice the width of anything else here – three words is a full line.
fonts: {display: Press Start 2P}
machine over either 62 % 7 KB OFL-1.1
A finer pixel grid than Press Start, and it sets far shorter – the bitmap face a real title fits in.
fonts: {display: Silkscreen}
machine over a serif 96 % 12 KB OFL-1.1 wght 400 700
Pixels with a weight axis, and proportional rather than gridded. The readable end of the pixel idea.
fonts: {display: Pixelify Sans}
machine over either 119 % 18 KB OFL-1.1
A DEC VT320 terminal, phosphor and all. Pairs with the terminal-amber and terminal-green themes.
fonts: {display: VT323}
machine over either 78 % 16 KB OFL-1.1
A monospace with an attitude – the bold cut is a display face rather than a code face.
fonts: {display: Space Mono}
machine over either 56 % 12 KB OFL-1.1
A monospace at poster weight, and the one face here with NO ß – a German title gets a fallback glyph mid-word. Lowercase draws as capitals.
fonts: {display: Rubik Mono One}
machine over a serif 101 % 10 KB OFL-1.1
Cut corners and squared bowls: technical without being a terminal. Sets tighter than any mono here.
fonts: {display: Chakra Petch}
machine over a serif 87 % 12 KB OFL-1.1 wght 400 900
Geometric and square – the one that reads as a machine rather than as a computer.
fonts: {display: Orbitron}
graphic over a sans 92 % 25 KB OFL-1.1 wght 400 900
A true didone with a weight axis: a hairline eyebrow over a black headline out of one family.
fonts: {display: Bodoni Moda}
graphic over a sans 100 % 19 KB OFL-1.1
A quiet didone – the restrained answer where Bodoni is the theatrical one.
fonts: {display: Prata}
graphic over a sans 108 % 24 KB OFL-1.1
The dependable display serif: high contrast, tight fit, no mannerisms. Start here if unsure.
fonts: {display: DM Serif Display}
graphic over a sans 103 % 13 KB OFL-1.1
A fat didone: hairlines against very thick stems. Handsome on paper; watch the hairlines on a weak lamp.
fonts: {display: Abril Fatface}
graphic over a sans 89 % 19 KB OFL-1.1
A heavy slab serif – a fairground poster. Reads at the back of any room.
fonts: {display: Alfa Slab One}
graphic over a sans 95 % 26 KB OFL-1.1
Chunky, low-contrast, slightly odd. The warm one, and the one that survives a bad projector best.
fonts: {display: Young Serif}
graphic over a sans 142 % 21 KB OFL-1.1
Tall, narrow, editorial. The quietest of the graphic set – a magazine opener, not a poster.
fonts: {display: Instrument Serif}
graphic over a sans 93 % 17 KB OFL-1.1
Art-nouveau flare in the terminals. Decorative in a way none of the others are; use it or do not.
fonts: {display: Yeseva One}
graphic over a serif 120 % 18 KB OFL-1.1
Condensed, black, no alternatives. Three words fill a slide and that is the point.
fonts: {display: Anton}
graphic over a serif 116 % 28 KB OFL-1.1 wght 200 700
Anton with a weight axis and better manners. The condensed face to reach for when the title is long.
fonts: {display: Oswald}
graphic over a serif 87 % 18 KB OFL-1.1
A grotesque at maximum weight, not condensed. The least mannered way to be loud.
fonts: {display: Archivo Black}
graphic over a serif 142 % 13 KB OFL-1.1
Capitals only – lowercase draws as capitals. Tracking is doing half the work; give it some.
fonts: {display: Bebas Neue}
graphic over a serif 122 % 35 KB OFL-1.1 wght 100 900
Very tall and very narrow, with a full weight axis. The most title you can fit on one line.
fonts: {display: Big Shoulders Display}
graphic over a serif 61 % 34 KB OFL-1.1 wght 400 800
Art-school display: the heavy weights widen rather than thicken. Distinctive to the point of being a signature.
fonts: {display: Syne}
graphic over a serif 97 % 40 KB OFL-1.1 wght 200 800
A grotesque with deliberate irregularities. Reads contemporary-editorial rather than loud.
fonts: {display: Bricolage Grotesque}
graphic over a serif 99 % 22 KB OFL-1.1 wght 300 700
The technical sans that is not a monospace – the quiet option for a computing lecture.
fonts: {display: Space Grotesk}
graphic over a serif 73 % 50 KB OFL-1.1 wght 200 900
Wide geometric display. Deliberately overbearing, and the closest thing here to a brand face.
fonts: {display: Unbounded}
graphic over a serif 128 % 16 KB OFL-1.1
Condensed capitals with a poster-stencil feel. Bebas with more character and less polish.
fonts: {display: Staatliches}
Every face here is embedded the way the build embeds it, so nothing on this page is fetched from anywhere else – which is also what a lecture naming one of them ships. The decoration page shows what the role does to a deck, and Getting started is the two ways to have one. The faces are all under the SIL Open Font License, and the build emits that licence text beside them into every view.