Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FOIT, FOUT, FUCK
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Gunnar Bittersmann
June 28, 2018
Design
0
1.1k
FOIT, FOUT, FUCK
Wie Webfonts auf Webseiten kommen
Typostammtisch Berlin, Pecha-Kucha-Abend
Gunnar Bittersmann
June 28, 2018
Tweet
Share
More Decks by Gunnar Bittersmann
See All by Gunnar Bittersmann
Responsive typography 2
gunnarbittersmann
0
160
Go home, Prettifier, you’re drunk!!
gunnarbittersmann
0
110
3 Fehler sind zu finden
gunnarbittersmann
0
190
TIL that the future :has already begun
gunnarbittersmann
0
120
TIL how to clear floats
gunnarbittersmann
0
120
TIL about showModal (from small things big things one day come)
gunnarbittersmann
0
130
Inclusive Design 24 2022 – Gunnar’s picks
gunnarbittersmann
0
100
The color rebeccapurple
gunnarbittersmann
0
180
Mehrsprachige Websites
gunnarbittersmann
0
110
Other Decks in Design
See All in Design
Connpass-Xperia_Camera_App_by_HCD.pdf
sony
0
520
企業にデザインが融けたとき、デザイナーにできること。事業会社12年間の探究と葛藤 / Designship2025
visional_engineering_and_design
0
1.5k
アイデアを加速させる!Firefly ボードで発想の幅を広げよう
connecre
1
340
AIエージェントが対話的なUIを返す!MCP−UIで変わるユーザ体験
daitasu
1
160
20260215独立行政法人科学技術振興機構(JST) 社会技術研究開発センター(RISTEX)ケアが根づく社会システム _公開シンポジウム
a2k
0
120
「余白」と「欲望」を味方につける ——AI時代のデザインエンジニアリングと「越境」の作法 #KNOTS2026
koyaman
1
1.5k
デザイナーが主導権を握る、AI協業の本音と実践
satosio
7
2.9k
Correspondence:共に生成していく過程
akiramotomura
0
200
Shaolin_Showdown
solmetts
0
330
プロダクトデザイナーに学ぶ、『見る気が起きる』ダッシュボードの作り方 / Creating Engaging Dashboards: Lessons from Product Designers
yamamotoyuta
2
660
From the Visible Crossroads: Turning Outputs into Outcomes
takaikanako
2
1.2k
OJTで学んだ 「心を動かす」ファシリテーション
saki822
1
260
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
1.9k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Facilitating Awesome Meetings
lara
57
6.8k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
330
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
380
Being A Developer After 40
akosma
91
590k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Faster Mobile Websites
deanohume
310
31k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
63
53k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
810
Darren the Foodie - Storyboard
khoart
PRO
3
2.7k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Transcript
FOIT FOUT FUCK
@font-face { font-family: 'What The Font'; font-weight: normal; font-style: normal;
src: url('wtf.eot'); src: url('wtf.eot?#iefix') format('embedded-opentype'), url('wtf.woff2') format('woff2'), url('wtf.woff') format('woff'), url('wtf.ttf') format('truetype'), url('wtf.svg#wtf') format('svg') }
WOFF Weg mit den ollen Font-Formaten!
None
FOIT Flash of invisible text
FOUT Flash of unstyled text
None
ist Webfont im localStorage? render Text in Webfont lade Webfont
aus localStorage ja nein
ist Webfont im localStorage? render Text in Systemschrift render Text
in Webfont lade Webfont aus localStorage download Webfont im Hintergrund, speicher in localStorage ja nein
block swap FOIT FOUT ≈3s
block swap swap ≈0.1s ≈3s font-display: block swap
block swap swap swap fallback fallback ≈0.1s ≈3s font-display: block
swap fallback optional
@font-face { font-family: 'What The Font'; font-weight: normal; font-style: normal;
src: url('wtf.woff2') format('woff2'), url('wtf.woff') format('woff'); font-display: optional; }
CSS Font Loading API var wtfFace = new FontFace("What the
Font", "url(wtf.woff)", {}); wtfFace.load().then(function (loadedFace) { document.fonts.add(loadedFace); document.body.style.fontFamily = "What the Font, sans-serif"; });
None
Flash of faux text
LiebeGerda-Regular.woff 893 KB LiebeGerda-RegularItalic.woff 974 KB LiebeGerda-Bold.woff 1.3 MB LiebeGerda-BoldItalic.woff
1.3 MB Liebe Gerda, wir müssen reden.
<img src="LiebeGerda-600.png" srcset="LiebeGerda-1200.png 1200w, LiebeGerda-900.png 900w" alt="Liebe Gerda, wir müssen
reden."/> LiebeGerda-1200.png 27.3 KB LiebeGerda-900.png 18.4 KB LiebeGerda-750.png 14.4 KB LiebeGerda-600.png 10.8 KB
FOCS Flash of Comic Sans
Die Art des Inhalts und der Interaktionen setzen gewisse Grenzen;
die Bedürfnisse und Ziele der Nutzer setzen andere. Die Tätigkeit des Webdesigns besteht nun darin, diese Grenzen auszuloten und in Einklang zu bringen. — Laura Kalbag, Accessibility for Everyone