Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
FOIT, FOUT, FUCK
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Gunnar Bittersmann
June 28, 2018
Design
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
FOIT, FOUT, FUCK
Wie Webfonts auf Webseiten kommen
Typostammtisch Berlin, Pecha-Kucha-Abend
Gunnar Bittersmann
June 28, 2018
More Decks by Gunnar Bittersmann
See All by Gunnar Bittersmann
Responsive typography 2
gunnarbittersmann
0
190
Go home, Prettifier, you’re drunk!!
gunnarbittersmann
0
130
3 Fehler sind zu finden
gunnarbittersmann
0
210
TIL that the future :has already begun
gunnarbittersmann
0
150
TIL how to clear floats
gunnarbittersmann
0
160
TIL about showModal (from small things big things one day come)
gunnarbittersmann
0
150
Inclusive Design 24 2022 – Gunnar’s picks
gunnarbittersmann
0
120
The color rebeccapurple
gunnarbittersmann
0
220
Mehrsprachige Websites
gunnarbittersmann
0
140
Other Decks in Design
See All in Design
Luna's Light
shemeetscity
0
380
Kouseki | CREATIVE CLASS成果物
yuri9911
0
250
SERVICE PAMPHLET
mhand01
0
5.8k
「惜しいデザイン」 を生み出さないための AIレビューループ
0b1tk
3
4.6k
Findy - デザインチーム紹介 / Findy Design Team Culture Deck
findyinc
14
150k
デザインツールを開く前に その画面は誰に何と言わせたい?受託UIデザイナーが顧客解像度を高める 「打ち合わせの場での確かめ方」
garyuten
1
270
デザインワークフローの最前線。 ログラスでのAI活用の現在地
ukaoli
1
3.5k
2026/6/26 第6回韓日リビングラボネットワークフォーラムin世宗 ー未来を作るリビングラボー アジアの社会システム転換に向けたリビングラボの可能性
a2k
2
120
Spectrum Tokyo Meetup #26「できることが増えた時、デザイナーは何に時間を使うべきか」
muture
PRO
0
320
【CEDEC2026】アートとゲームデザインをつなぐVFX設計『GRANBLUE FANTASY: Relink - Endless Ragnarok』における表現と可読性の両立
cygames
PRO
2
1.5k
富山デザイン勉強会_生成AIを使ったデザイン制作2026最新版.pdf
keita_yoshikawa
0
160
エンジニアでも捗る デザイナー的思考入門(bitA Edit 新ver)
tinykitten
1
640
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Scaling GitHub
holman
464
140k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
560
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
So, you think you're a good person
axbom
PRO
2
2.2k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
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