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
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
Ralph Penel Portfolio
ralphpenel
PRO
0
260
デザインエンジニアの延長にデザインマネージャーとしての可能性を探る
takanorip
1
900
株式会社ログラス - 会社説明資料【デザイナー】/ Loglass Designer
loglass2019
1
7.1k
「自分の仕事はどこまで?」と問い続けたら。デザイナーの「視座」を考える
mukai_takeru
0
300
はじめての演奏会フライヤーデザイン
chorkaichan
1
230
デザインを信じていますか
sekiguchiy
1
960
Meet, Learn, Grow × AI ― コミュニティで加速するスキル循環 「コミュニティと関わり方」
tame
1
370
一次体験を起点にしたUX改善の取り組み / Direct Experience Driven UX Improvements
bitkey
PRO
0
380
アイデアを加速させる!Firefly ボードで発想の幅を広げよう
connecre
1
310
チームをデザイン対象にする / Design for your team
kaminashi
1
570
アンエシカルデザインの枠組みの提案 -HCD-Netダークパターン研究会活動報告-
securecat
0
200
OJTで学んだ 「心を動かす」ファシリテーション
saki822
1
240
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
810
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
How STYLIGHT went responsive
nonsquared
100
6k
Being A Developer After 40
akosma
91
590k
Prompt Engineering for Job Search
mfonobong
0
160
Balancing Empowerment & Direction
lara
5
900
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
250
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
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