Fonts

Letterforms, from a matrix of dots to the rhythm of a hand.

Olivetti Dot

Regular · Dot matrix

A dot-matrix alphabet with round marks and proportional spacing. One empty column separates the letters.

Loading the Olivetti Dot specimen…

115 encoded characters, including spaces. English alphabet, numerals, punctuation, the true minus, Å Æ Ø å æ ø and fifteen currency signs. Characters outside this set use a fallback.

Supernatural

Handwriting · In development

A typeface based on Joachim’s own handwriting. Personal quirks, uneven forms and the rhythm of words belong in the design.

Starting alphabet
English
Planned variation
About ten forms per letter
Intended behaviour
Contextual letter selection, natural spacing and rhythm
Next step
Original handwriting scans

The specimen is still to come. Handwriting scans, outlines and font files have not been supplied. This description is set in the system font.

System fonts

The existing typefaces remain the foundation for interfaces, reading and code.

GT America Standard

Regular and Medium · Interface and text
Words to work with.
The same words, with a little emphasis.

GT America Compressed

Regular · Narrow display
A little more room.

GT Canon

M Standard Medium Trial · Serif
A different point of view.

Iosevka Extended

Regular · Monospaced code
const square = 20;

fonts.css (DS1/1-root/fonts.css) holds the faces and the typeface tokens that name them: GT America Standard Regular and Medium, GT America Compressed Regular, the GT Canon trial, Inter Arrows and Iosevka Extended, loaded from fonts/ beside it. one.css imports it, so a page that links one.css has them; a page that does not links fonts.css on its own. Neither loads anything from another host. Inter Arrows leads every typeface token and supplies the arrows.

Use --typeface-regular for body text, --typeface-medium for emphasis, --typeface-compressed for narrow display text and --typeface-mono for code, which is Iosevka Extended with a system monospace after it. --typeface-canon uses the bundled trial face. The component tokens in component-tokens.css (--ds-typeface-regular, --ds-typeface-medium, --ds-typeface-mono and the rest) name the same families, so either set of tokens finds the faces fonts.css loads. Check the original foundry’s licence before using a commercial or trial font in your own work.

With Sync 1, root with "styles": ["fonts.css"] copies the sheet with its faces in fonts/; fonts with "stylesheet": true copies it beside the faces instead, pointed at them: every face, or the ones "fonts" names with Inter Arrows and Iosevka always among them. one.css always arrives with fonts.css.

The language tokens (--typeface-regular-jp, --typeface-regular-zh-hans, --typeface-regular-zh-hant, and --ds-typeface-regular-jp and its Chinese pair for the components) name Noto Sans first and then the reader’s own faces: Hiragino and PingFang on Apple systems, Yu Gothic, Microsoft YaHei and JhengHei on Windows, Noto Sans CJK on Android and Linux. A page in Japanese or Chinese (lang="ja", lang="zh", Simplified with zh-Hans) sets its labels in that language’s face. Without anything more, Japanese and Chinese text is drawn in those system faces and nothing is downloaded.

A product that shows Japanese or Chinese and wants Noto Sans everywhere adds cjk.css (DS1/1-root/cjk.css, Sync 1’s "cjk": true on root or tokens). It loads Noto Sans JP, SC and TC from Google Fonts, which cuts each into unicode-range slices so a page downloads only the characters it shows, and stops the browser from thickening their one weight (font-synthesis-weight: none). Noto Sans is under the SIL Open Font License. A page whose security policy keeps other hosts out leaves cjk.css out, or serves Noto Sans itself under the same family names, which the tokens then find.

Olivetti Dot is available here as a specimen; it is not loaded by the system stylesheet. Supernatural has no font asset or typeface token yet.