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
900
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
89
Go home, Prettifier, you’re drunk!!
gunnarbittersmann
0
62
3 Fehler sind zu finden
gunnarbittersmann
0
97
TIL that the future :has already begun
gunnarbittersmann
0
72
TIL how to clear floats
gunnarbittersmann
0
71
TIL about showModal (from small things big things one day come)
gunnarbittersmann
0
80
Inclusive Design 24 2022 – Gunnar’s picks
gunnarbittersmann
0
69
The color rebeccapurple
gunnarbittersmann
0
92
Mehrsprachige Websites
gunnarbittersmann
0
83
Other Decks in Design
See All in Design
超・ファシリテーション 無理ゲー課題を軽やかに超える MIMIGURI流チームデザイン|TOKYO CREATIVE COLLECTION
madue
1
950
生成AIを活用したサービス設計のススメ〜仮説構築編〜
tomo1215
2
1.1k
IPの世界観に寄り添う、マルチブランドなカラーシステム設計
jirosh1998
1
11k
Designing and Automating Component Specifications
nathanacurtis
3
370
管理画面の全体UXは利用時品質モデルで考える
readymadegogo
1
1.6k
トップデザインチームが描く、 2030年に活躍するデザイナー
hiranotomoki
1
1.9k
丸井グループが取り組むエンタープライズアジャイルと プロダクトマネージャーの役割
muture
3
1.4k
アクセシビリティって何だろう? -アクセシビリティの概念、そして向き合い方まで-
securecat
5
1.4k
インターフェースのユーザビリティ概論および調査手法について
readymadegogo
0
160
Tuzukuru解説ブック
atsumaru1377
0
300
エムスリー株式会社 デザイングループ紹介資料 / m3design-team-profile
m3designer
0
2.3k
なぜデフォルトが青色!? Tint Colorの理由に迫る
akidon0000
0
310
Featured
See All Featured
Speed Design
sergeychernyshev
22
430
Fontdeck: Realign not Redesign
paulrobertlloyd
80
5.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
A better future with KSS
kneath
235
17k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Web development in the modern age
philhawksworth
205
10k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.6k
What's new in Ruby 2.0
geeforr
340
31k
Clear Off the Table
cherdarchuk
91
320k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
58k
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