Sta
THE STATE OF
WEB TYPE
BASELINE
SERIF
X-HEIGHT
FF QUIXO
@bram_stein
#wbfntdy
Slide 2
Slide 2 text
The second half is not
as boring as the first.
“
”
― My wife
Slide 3
Slide 3 text
The material was out of date.
Even I know this stuff.
I didn’t learn anything.
“
”
― Anonymous
Slide 4
Slide 4 text
Web fonts
It was in old days, with our learned men,
an interesting and oft-investigated
question, “What is the origin of light?” and
the solution of it has been repeatedly
attempted, with no other result than to
crowd our lunatic asylums with the
would-be solvers.
ARIAL
It was in old days, with our learned men, an
interesting and oft-investigated question,
“What is the origin of light?” and the solution
of it has been repeatedly attempted, with no
other result than to crowd our lunatic asylums
with the would-be solvers.
TIMES NEW ROMAN
Slide 5
Slide 5 text
Web fonts
FF QUIXO
It was in old days, with our learned men, an
interesting and oft-investigated question,
“What is the origin of light?” and the
solution of it has been repeatedly
attempted, with no other result than to
crowd our lunatic asylums with the
would-be solvers.
It was in old days, with our learned men, an
interesting and oft-investigated question, “What
is the origin of light?” and the solution of it has
been repeatedly attempted, with no other result
than to crowd our lunatic asylums with the
would-be solvers.
FREIGHT SANS
Slide 6
Slide 6 text
@font-face {
font-family: My Font;
src: url(myfont.woff);
}
!
body {
font-family: My Font, Arial, Verdana, sans-serif;
}
Web fonts
CSS
Slide 7
Slide 7 text
@font-face {
font-family: Helvetica Neue;
src: url(comicsans.ttf);
}
Helvetica Neue
CSS
Web fonts
Slide 8
Slide 8 text
@font-face {
font-family: My Font;
src: url(myfont.eot#?ie) format(“embedded-opentype”),
url(myfont.woff) format(“woff”),
url(myfont.ttf) format(“truetype”),
url(myfont.otf) format(“opentype”),
url(myfont.svg#myfont) format(“svg”);
}
CSS
Web fonts
Slide 9
Slide 9 text
Formats
TTF
Ag
OTF
Ag
EOT
Ag
WOFF
Ag
WOFF2
Ag
SVG
Slide 10
Slide 10 text
Formats
Woof!
Slide 11
Slide 11 text
Formats
Woof! Woof!
Slide 12
Slide 12 text
Formats
TTF
Ag
OTF
Ag
EOT
Ag
WOFF
Ag
WOFF2
Ag
SVG
Slide 13
Slide 13 text
Formats
TTF
Ag
OTF
Ag
EOT
Ag
WOFF
Ag
WOFF2
Ag
SVG
Slide 14
Slide 14 text
Formats
TTF
Ag
OTF
Ag
EOT
Ag
WOFF
Ag
WOFF2
Ag
SVG
Slide 15
Slide 15 text
Formats
TTF
Ag
OTF
Ag
EOT
??
WOFF
??
WOFF2
??
SVG
Slide 16
Slide 16 text
Formats
TTF
Ag
OTF
Ag
EOT WOFF WOFF2
SVG
TTF
OTF
TTF
OTF
TTF
OTF
Slide 17
Slide 17 text
Formats
TTF
Ag
OTF
Ag
EOT WOFF WOFF2
SVG
TTF
OTF
TTF
OTF
TTF
OTF
+
GZIP
Slide 18
Slide 18 text
Formats
TTF
Ag
OTF
Ag
EOT WOFF WOFF2
SVG
TTF
OTF
TTF
OTF
TTF
OTF
+
GZIP
+
Zopfli
Slide 19
Slide 19 text
Format IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
TrueType No Yes Yes Yes Yes Yes Yes Yes
OpenType No Yes Yes Yes Yes Yes Yes Yes
EOT Yes Yes Yes Yes n/a n/a n/a n/a
WOFF No Yes Yes Yes Yes Yes Yes Yes
WOFF2 No No No No Yes No No Yes
Formats
Slide 20
Slide 20 text
Format IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
TrueType No Yes Yes Yes Yes Yes Yes Yes
OpenType No Yes Yes Yes Yes Yes Yes Yes
EOT Yes Yes Yes Yes n/a n/a n/a n/a
WOFF No Yes Yes Yes Yes Yes Yes Yes
WOFF2 No No No No Yes No No Yes
Formats
Slide 21
Slide 21 text
Format IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
TrueType No Yes Yes Yes Yes Yes Yes Yes
OpenType No Yes Yes Yes Yes Yes Yes Yes
EOT Yes Yes Yes Yes n/a n/a n/a n/a
WOFF No Yes Yes Yes Yes Yes Yes Yes
WOFF2 No No No No Yes No No Yes
Formats
Slide 22
Slide 22 text
Format IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
TrueType No Yes Yes Yes Yes Yes Yes Yes
OpenType No Yes Yes Yes Yes Yes Yes Yes
EOT Yes Yes Yes Yes n/a n/a n/a n/a
WOFF No Yes Yes Yes Yes Yes Yes Yes
WOFF2 No No No No Yes No No Yes
Formats
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
font-style Yes Yes Yes Yes Yes Yes Yes Yes
font-weight Yes Yes Yes Yes Yes Yes Yes Yes
font-stretch No Yes Yes Yes No Yes No No
font-variant No No No No No No No No
font-feature-settings No No No No No Yes No No
unicode-range No Partial Partial Partial Yes No Partial Yes
Web fonts
Slide 27
Slide 27 text
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
font-style Yes Yes Yes Yes Yes Yes Yes Yes
font-weight Yes Yes Yes Yes Yes Yes Yes Yes
font-stretch No Yes Yes Yes No Yes No No
font-variant No No No No No No No No
font-feature-settings No No No No No Yes No No
unicode-range No Partial Partial Partial Yes No Partial Yes
Web fonts
Slide 28
Slide 28 text
ULTRA… 200 300 400 500 600 700 800 900
EXTRA-
CON.
CONDENSE
D
SEMI-CON.
NORMAL
SEMI-EXP.
EXPANDED
EXTRA-EXP.
ULTRA-EXP.
ULTRA… 200 300 400 500 600 700 800 900
EXTRA-
CON.
CONDENSE
D
SEMI-CON.
NORMAL
SEMI-EXP.
EXPANDED
EXTRA-EXP.
ULTRA-EXP.
ULTRA… 200 300 400 500 600 700 800 900
EXTRA…
CONDE…
Aa Aa Aa Aa Aa Aa
SEMI-…
Aa Aa Aa Aa Aa Aa
NORM…
Aa Aa Aa Aa Aa Aa
SEMI-…
EXPAN… Aa Aa Aa Aa Aa Aa
EXTRA…
ULTRA…
FONT-STRETCH
FONT-WEIGHT
FONT-STYLE
Kepler by Robert Slimbach
Web fonts
Slide 29
Slide 29 text
ULTRA… 200 300 400 500 600 700 800 900
EXTRA-
CON.
CONDENSE
D
SEMI-CON.
NORMAL
SEMI-EXP.
EXPANDED
EXTRA-EXP.
ULTRA-EXP.
ULTRA… 200 300 400 500 600 700 800 900
EXTRA-
CON.
CONDENSE
D
SEMI-CON.
NORMAL
SEMI-EXP.
EXPANDED
EXTRA-EXP.
ULTRA-EXP.
ULTRA… 200 300 400 500 600 700 800 900
EXTRA…
CONDE…
Aa Aa Aa Aa Aa Aa
SEMI-…
Aa Aa Aa Aa Aa Aa
NORMAL
Aa Aa Aa Aa Aa Aa
SEMI-…
EXPAN… Aa Aa Aa Aa Aa Aa
EXTRA…
ULTRA…
FONT-STRETCH
FONT-WEIGHT
FONT-STYLE
Kepler by Robert Slimbach
Web fonts
Slide 30
Slide 30 text
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
font-style Yes Yes Yes Yes Yes Yes Yes Yes
font-weight Yes Yes Yes Yes Yes Yes Yes Yes
font-stretch No Yes Yes Yes No Yes No No
font-variant No No No No No No No No
font-feature-settings No No No No No Yes No No
unicode-range No Partial Partial Partial Yes No Partial Yes
Web fonts
Slide 31
Slide 31 text
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
font-style Yes Yes Yes Yes Yes Yes Yes Yes
font-weight Yes Yes Yes Yes Yes Yes Yes Yes
font-stretch No Yes Yes Yes No Yes No No
font-variant No No No No No No No No
font-feature-settings No No No No No Yes No No
unicode-range No Partial Partial Partial Yes No Partial Yes
Web fonts
Slide 32
Slide 32 text
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
font-style Yes Yes Yes Yes Yes Yes Yes Yes
font-weight Yes Yes Yes Yes Yes Yes Yes Yes
font-stretch No Yes Yes Yes No Yes No No
font-variant No No No No No No No No
font-feature-settings No No No No No Yes No No
unicode-range No Partial Partial Partial Yes No Partial Yes
Web fonts
Slide 33
Slide 33 text
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
font-style Yes Yes Yes Yes Yes Yes Yes Yes
font-weight Yes Yes Yes Yes Yes Yes Yes Yes
font-stretch No Yes Yes Yes No Yes No No
font-variant No No No No No No No No
font-feature-settings No No No No No Yes No No
unicode-range No Partial Partial Partial Yes No Partial Yes
Web fonts
Slide 34
Slide 34 text
100 MS 200 MS 300 MS 400 MS 500 MS 600 MS 700 MS 800 MS 900 MS
FONT LOADING
Slide 35
Slide 35 text
body {
font-family: Arial, Verdana, sans-serif;
}
CSS
Font Loading
Slide 36
Slide 36 text
body {
font-family: Arial, Verdana, sans-serif;
}
CSS
Font Loading
Slide 37
Slide 37 text
@font-face {
font-family: My Font;
src: url(myfont.woff);
}
!
body {
font-family: My Font, Arial, Verdana, sans-serif;
}
CSS
Font Loading
Slide 38
Slide 38 text
@font-face {
font-family: My Font;
src: url(myfont.woff);
}
!
body {
font-family: Arial, Verdana, sans-serif;
}
CSS
Font Loading
Slide 39
Slide 39 text
Font Loading
HTML
CSS
100 MS 200 MS 300 MS 400 MS 500 MS 600 MS 700 MS
LOAD
Slide 40
Slide 40 text
Font Loading
HTML
CSS
100 MS 200 MS 300 MS 400 MS 500 MS 600 MS 700 MS
FONTS READY
FONT A
FONT B
LOAD
Slide 41
Slide 41 text
Font Loading
1. The font family is not recognised and a fallback font is applied;
2. The font family is recognised but not yet loaded, and will be applied
when it has finished downloading;
3. The font family is recognised and has already been loaded and will
be applied immediately.
Slide 42
Slide 42 text
Font Loading
1. The font family is not recognised and a fallback font is applied;
2. The font family is recognised but not yet loaded, and will be applied
when it has finished downloading;
3. The font family is recognised and has already been loaded and will
be applied immediately.
Slide 43
Slide 43 text
Font Loading
1. The font family is not recognised and a fallback font is applied;
2. The font family is recognised but not yet loaded, and will be applied
when it has finished downloading;
3. The font family is recognised and has already been loaded and will
be applied immediately.
Slide 44
Slide 44 text
Font Loading
1. The font family is not recognised and a fallback font is applied;
2. The font family is recognised but not yet loaded, and will be applied
when it has finished downloading;
3. The font family is recognised and has already been loaded and will
be applied immediately.
Slide 45
Slide 45 text
Font Loading
1. The font family is not recognised and a fallback font is applied;
2. The font family is recognised but not yet loaded, and will be applied
when it has finished downloading;
3. The font family is recognised and has already been loaded and will
be applied immediately.
Slide 46
Slide 46 text
Font Loading
← → ↻
Slide 47
Slide 47 text
Font Loading
http://www.example.com
← → ↻
Loading example.com…
Slide 48
Slide 48 text
Font Loading
http://www.example.com
← → ↻
Loading example.com…
It was in old days, with our learned men, an
interesting and oft-investigated question, “What is
the origin of light?” and the solution of it has been
repeatedly attempted, with no other result than to
crowd our lunatic asylums with the would-be
solvers.
Slide 49
Slide 49 text
Font Loading
http://www.example.com
← → ↻
Loaded example.com
It was in old days, with our learned men, an interesting
and oft-investigated question, “What is the origin of
light?” and the solution of it has been repeatedly
attempted, with no other result than to crowd our
lunatic asylums with the would-be solvers.
Slide 50
Slide 50 text
Font Loading
← → ↻
Slide 51
Slide 51 text
Font Loading
http://www.example.com
← → ↻
Loading example.com…
Slide 52
Slide 52 text
Font Loading
http://www.example.com
← → ↻
Loading example.com…
Slide 53
Slide 53 text
Font Loading
http://www.example.com
← → ↻
Loaded example.com
It was in old days, with our learned men, an interesting
and oft-investigated question, “What is the origin of
light?” and the solution of it has been repeatedly
attempted, with no other result than to crowd our
lunatic asylums with the would-be solvers.
Slide 54
Slide 54 text
Font Loading
Flash Of Unstyled Text (FOUT)
Flash Of Invisible Text (FOIT)
http://www.example.com
← → ↻
http://www.example.com
← → ↻
It was in old days, with our learned men, an
interesting and oft-investigated question, “What is
the origin of light?” and the solution of it has been
repeatedly attempted, with no other result than to
crowd our lunatic asylums with the would-be solvers.
http://www.example.com
← → ↻
It was in old days, with our learned men, an interesting and
oft-investigated question, “What is the origin of light?” and
the solution of it has been repeatedly attempted, with no
other result than to crowd our lunatic asylums with the
would-be solvers.
http://www.example.com
← → ↻
http://www.example.com
← → ↻
http://www.example.com
← → ↻
It was in old days, with our learned men, an interesting and
oft-investigated question, “What is the origin of light?” and
the solution of it has been repeatedly attempted, with no
other result than to crowd our lunatic asylums with the
would-be solvers.
Slide 55
Slide 55 text
Font Loading
IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
Font Loading FOUT FOUT FOUT FOUT FOIT FOIT FOIT FOIT
Timeout n/a n/a n/a n/a 3 sec. 3 sec. ∞ 3 sec.
Slide 56
Slide 56 text
Font Loading
IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
Font Loading FOUT FOUT FOUT FOUT FOIT FOIT FOIT FOIT
Timeout n/a n/a n/a n/a 3 sec. 3 sec. ∞ 3 sec.
Slide 57
Slide 57 text
Font Loading
IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
Font Loading FOUT FOUT FOUT FOUT FOIT FOIT FOIT FOIT
Timeout n/a n/a n/a n/a 3 sec. 3 sec. ∞ 3 sec.
Slide 58
Slide 58 text
Font Loading
IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
Font Loading FOUT FOUT FOUT FOUT FOIT FOIT FOIT FOIT
Timeout n/a n/a n/a n/a 3 sec. 3 sec. ∞ 3 sec.
Slide 59
Slide 59 text
Web Font Loader
Web Font Loader
https://github.com/typekit/webfontloader
HTML
Slide 60
Slide 60 text
Web Font Loader
WebFont.load({
…,
fontactive: function (family, variation) {
// Font has loaded
},
active: function () {
// All fonts have loaded
}
});
JAVASCRIPT
Slide 61
Slide 61 text
Web Font Loader
…
HTML
html {
font-family: sans-serif;
}
CSS
Slide 62
Slide 62 text
Web Font Loader
…
HTML
html.wf-myfont-active {
font-family: My Font, sans-serif;
}
CSS
Slide 63
Slide 63 text
var myfont = new FontFace(‘My Font’, ‘url(font.woff)’, {});
!
document.fonts.add(myfont);
!
document.fonts.load(‘16px My Font’).then(function () {
// Font has loaded
}, function () {
// Font failed to load
});
CSS Font Loading
JAVASCRIPT
Slide 64
Slide 64 text
IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
CSS Font Loading No No No No Yes No No Yes
CSS Font Loading
Slide 65
Slide 65 text
IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
CSS Font Loading No No No No Yes No No Yes
CSS Font Loading
Slide 66
Slide 66 text
IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
CSS Font Loading No No No No Yes No No Yes
CSS Font Loading
Slide 67
Slide 67 text
FontLoader polyfill
https://github.com/bramstein/fontloader
CSS Font Loading Specification
http://www.w3.org/TR/css-font-loading/
CSS Font Loading
Slide 68
Slide 68 text
AVAST
OPENTYPE FEATURES
fi1⁄2ffl1s
70 70 8 6
FRAC LIGA
LIGA ORDN
Slide 69
Slide 69 text
OpenType
fi → fi
st → st
(CSS) → (CSS)
789 → 789
W3C → w3c
Q → Q
LIGATURES: LIGA
DISCRETIONARY LIGATURES: DLIG
OLD STYLE NUMERALS: ONUM
SMALL-CAPS: SMCP
CASE-SENSITIVE FORMS: CASE STYLISTIC ALTERNATES: SALT
Kepler by Robert Slimbach
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
font-kerning No No No No No No Yes No
Kerning
Slide 78
Slide 78 text
body {
font-feature-settings: “kern” on;
}
Kerning
CSS
Slide 79
Slide 79 text
body {
font-feature-settings: “kern” on;
font-kerning: normal;
}
Kerning
CSS
Slide 80
Slide 80 text
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
font-feature-settings No No Yes Yes Yes Yes No Yes
font-kerning No No No No No No Yes No
Kerning
Slide 81
Slide 81 text
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
font-feature-settings No No Yes Yes Yes Yes No Yes
font-kerning No No No No No No Yes No
Kerning
Slide 82
Slide 82 text
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
font-feature-settings No No Yes Yes Yes Yes No Yes
font-kerning No No No No No No Yes No
Kerning
Slide 83
Slide 83 text
I call our world Flatland, not because we call it so, but to make its nature
clearer to you, my happy readers, who are privileged to live in Space. Imag-
ine a vast sheet of paper on which straight Lines, Triangles, Squares, Penta-
JRQV+H[DJRQVDQGRWKHU̧JXUHVLQVWHDGRIUHPDLQLQJ̧[HGLQWKHLUSODF-
es, move freely about, on or in the surface, but without the power of rising
above or sinking below it, very much
like shadows — only hard and with
luminous edges — and you will then
have a pretty cor- rect notion of my
country and coun- trymen. Alas, a few
years ago, I should have said “my universe;” but now my mind has been
opened to higher views of things. In such a country, you will perceive at once
that it is impossible that there should be anything of what you call a “solid”
kind; but I dare say you will suppose that we could at least distinguish by
VLJKWWKH7ULDQJOHV6TXDUHVDQGRWKHU̧JXUHVPRYLQJDERXWDV,KDYHGH-
HYPHENATION
JUSTIFICATION
It was in old days, with our
learned men, an interesting and
oft-investigated question, “What
is the origin of light?” and the
solution of it has been repeatedly
attempted, with no other result
than to crowd our lunatic asylums
with the would-be solvers.
It was in old days, with our
learned men, an interesting
and oft-investigated
question, “What is the origin
of light?” and the solution
of it has been repeatedly
attempted, with no other
result than to crowd our
lunatic asylums with the
would-be solvers.
It was in old days,
with our learned
men, an interesting
and oft-investigated
question, “What is
the origin of light?”
and the solution of it
has been repeatedly
attempted, with no
other result than to
crowd our lunatic
asylums with the
would-be solvers.
420
310
200
Justification
Slide 86
Slide 86 text
It was in old days, with our
learned men, an interesting and
oft-investigated question, “What
is the origin of light?” and the
solution of it has been repeatedly
attempted, with no other result
than to crowd our lunatic asylums
with the would-be solvers.
It was in old days, with our
learned men, an interesting
and oft-investigated
question, “What is the origin
of light?” and the solution
of it has been repeatedly
attempted, with no other
result than to crowd our
lunatic asylums with the
would-be solvers.
It was in old days,
with our learned
men, an interesting
and oft-investigated
question, “What is
the origin of light?”
and the solution of it
has been repeatedly
attempted, with no
other result than to
crowd our lunatic
asylums with the
would-be solvers.
420
310
200
Justification
Slide 87
Slide 87 text
It was in old days, with our
learned men, an interesting and
oft-investigated question, “What
is the origin of light?” and the
solution of it has been repeatedly
attempted, with no other result
than to crowd our lunatic asylums
with the would-be solvers.
It was in old days, with our
learned men, an interesting
and oft-investigated
question, “What is the origin
of light?” and the solution
of it has been repeatedly
attempted, with no other
result than to crowd our
lunatic asylums with the
would-be solvers.
It was in old days,
with our learned
men, an interesting
and oft-investigated
question, “What is
the origin of light?”
and the solution of it
has been repeatedly
attempted, with no
other result than to
crowd our lunatic
asylums with the
would-be solvers.
420
310
200
Justification
Slide 88
Slide 88 text
It was in old days, with our
learned men, an interesting and
oft-investigated question, “What
is the origin of light?” and the
solution of it has been repeatedly
attempted, with no other result
than to crowd our lunatic asylums
with the would-be solvers.
It was in old days, with our
learned men, an interesting
and oft-investigated
question, “What is the origin
of light?” and the solution
of it has been repeatedly
attempted, with no other
result than to crowd our
lunatic asylums with the
would-be solvers.
It was in old days,
with our learned
men, an interesting
and oft-investigated
question, “What is
the origin of light?”
and the solution of it
has been repeatedly
attempted, with no
other result than to
crowd our lunatic
asylums with the
would-be solvers.
420
310
200
Justification
Slide 89
Slide 89 text
Justification
In olden times when wishing still helped one,
Greedy algorithm
Slide 90
Slide 90 text
Justification
In olden times when wishing still helped
one, there lived a king whose daughters were all
Greedy algorithm
Slide 91
Slide 91 text
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so beautiful
Justification
Greedy algorithm
Slide 92
Slide 92 text
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so
beautiful that the sun itself, which…
Justification
Greedy algorithm
Slide 93
Slide 93 text
Justification
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so beautiful
there lived a king whose daughters were all
In olden times when wishing still helped one,
beautiful; and the youngest was so beautiful that
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so
beautiful that the sun itself, which…
there lived a king whose daughters were all
In olden times when wishing still helped one,
beautiful; and the youngest was so beautiful
that the sun itself, which…
In olden times when wishing still helped one,
In olden times when wishing still helped
one, there lived a king whose daughters were all there lived a king whose daughters were all beautiful
In olden times when wishing still helped one,
Knuth & Plass algorithm
Slide 94
Slide 94 text
Justification
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so beautiful
there lived a king whose daughters were all
In olden times when wishing still helped one,
beautiful; and the youngest was so beautiful that
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so
beautiful that the sun itself, which…
there lived a king whose daughters were all
In olden times when wishing still helped one,
beautiful; and the youngest was so beautiful
that the sun itself, which…
In olden times when wishing still helped one,
In olden times when wishing still helped
one, there lived a king whose daughters were all there lived a king whose daughters were all beautiful
In olden times when wishing still helped one,
Knuth & Plass algorithm
Slide 95
Slide 95 text
Justification
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so beautiful
there lived a king whose daughters were all
In olden times when wishing still helped one,
beautiful; and the youngest was so beautiful that
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so
beautiful that the sun itself, which…
there lived a king whose daughters were all
In olden times when wishing still helped one,
beautiful; and the youngest was so beautiful
that the sun itself, which…
In olden times when wishing still helped one,
In olden times when wishing still helped
one, there lived a king whose daughters were all there lived a king whose daughters were all beautiful
In olden times when wishing still helped one,
Knuth & Plass algorithm
Slide 96
Slide 96 text
Justification
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so beautiful
there lived a king whose daughters were all
In olden times when wishing still helped one,
beautiful; and the youngest was so beautiful that
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so
beautiful that the sun itself, which…
there lived a king whose daughters were all
In olden times when wishing still helped one,
beautiful; and the youngest was so beautiful
that the sun itself, which…
In olden times when wishing still helped one,
In olden times when wishing still helped
one, there lived a king whose daughters were all there lived a king whose daughters were all beautiful
In olden times when wishing still helped one,
Knuth & Plass algorithm
Slide 97
Slide 97 text
Justification
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so beautiful
there lived a king whose daughters were all
In olden times when wishing still helped one,
beautiful; and the youngest was so beautiful that
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so
beautiful that the sun itself, which…
there lived a king whose daughters were all
In olden times when wishing still helped one,
beautiful; and the youngest was so beautiful
that the sun itself, which…
In olden times when wishing still helped one,
In olden times when wishing still helped
one, there lived a king whose daughters were all there lived a king whose daughters were all beautiful
In olden times when wishing still helped one,
Knuth & Plass algorithm
Slide 98
Slide 98 text
Justification
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so beautiful
there lived a king whose daughters were all
In olden times when wishing still helped one,
beautiful; and the youngest was so beautiful that
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so
beautiful that the sun itself, which…
there lived a king whose daughters were all
In olden times when wishing still helped one,
beautiful; and the youngest was so beautiful
that the sun itself, which…
In olden times when wishing still helped one,
In olden times when wishing still helped
one, there lived a king whose daughters were all there lived a king whose daughters were all beautiful
In olden times when wishing still helped one,
Knuth & Plass algorithm
Slide 99
Slide 99 text
Justification
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so beautiful
there lived a king whose daughters were all
In olden times when wishing still helped one,
beautiful; and the youngest was so beautiful that
In olden times when wishing still helped
one, there lived a king whose daughters were
all beautiful; and the youngest was so
beautiful that the sun itself, which…
there lived a king whose daughters were all
In olden times when wishing still helped one,
beautiful; and the youngest was so beautiful
that the sun itself, which…
In olden times when wishing still helped one,
In olden times when wishing still helped
one, there lived a king whose daughters were all there lived a king whose daughters were all beautiful
In olden times when wishing still helped one,
Knuth & Plass algorithm
It was in old days, with our
learned men, an interesting and
oft-investigated question, “What
is the origin of light?” and the
solution of it has been repeatedly
attempted, with no other result
than to crowd our lunatic asylums
with the would-be solvers.
It was in old days, with our
learned men, an interesting
and oft-investigated
question, “What is the origin
of light?” and the solution
of it has been repeatedly
attempted, with no other
result than to crowd our
lunatic asylums with the
would-be solvers.
It was in old days,
with our learned
men, an interesting
and oft-investigated
question, “What is
the origin of light?”
and the solution of it
has been repeatedly
attempted, with no
other result than to
crowd our lunatic
asylums with the
would-be solvers.
420
310
200
Justification
Slide 102
Slide 102 text
It was in old days, with our
learned men, an interesting and
oft-investigated question, “What is
the origin of light?” and the solu-
tion of it has been repeatedly at-
tempted, with no other result than
to crowd our lunatic asylums with
the would-be solvers.
It was in old days, with our
learned men, an interesting
and oft-investigated ques-
tion, “What is the origin
of light?” and the solution
of it has been repeatedly
attempted, with no other
result than to crowd our
lunatic asylums with the
would-be solvers.
It was in old days, with
our learned men, an
interesting and oft-in-
vestigated question,
“What is the origin
of light?” and the solu-
tion of it has been re-
peatedly attempted,
with no other result
than to crowd our lu-
natic asylums with the
would-be solvers.
420
310
200
Justification
Slide 103
Slide 103 text
It was in old days, with our
learned men, an interesting and
oft-investigated question, “What is
the origin of light?” and the solu-
tion of it has been repeatedly at-
tempted, with no other result than
to crowd our lunatic asylums with
the would-be solvers.
It was in old days, with our
learned men, an interesting
and oft-investigated ques-
tion, “What is the origin
of light?” and the solution
of it has been repeatedly
attempted, with no other
result than to crowd our
lunatic asylums with the
would-be solvers.
It was in old days, with
our learned men, an
interesting and oft-in-
vestigated question,
“What is the origin
of light?” and the solu-
tion of it has been re-
peatedly attempted,
with no other result
than to crowd our lu-
natic asylums with the
would-be solvers.
420
310
200
Justification
Slide 104
Slide 104 text
BEFORE AFTER
Justification
Slide 105
Slide 105 text
…
HTML
p {
hyphens: auto;
}
Hyphenation
CSS
Slide 106
Slide 106 text
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
hyphens No No Yes Yes Yes Yes Yes Yes
Hyphenation
Slide 107
Slide 107 text
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
hyphens No No Yes Yes Sort of Yes Yes Sort of
Hyphenation
Slide 108
Slide 108 text
$(‘p, a, span’).hyphenate(‘en-us’);
Hyphenation
Hyphenator.js
https://code.google.com/p/hyphenator
Hypher
https://github.com/bramstein/hypher
JAVASCRIPT
Slide 109
Slide 109 text
It was in old days, with
our learned men, an in-
teresting and oft-inves-
tigated question, “What
is the origin of light?”
and the solution of it
has been repeatedly at-
tempted, with no other
result than to crowd
our lunatic asylums
with the would-be solv-
ers.
Hyphenation
Slide 110
Slide 110 text
It was in old days, with
our learned men, an in-
teresting and oft-inves-
tigated question, “What
is the origin of light?”
and the solution of it
has been repeatedly at-
tempted, with no other
result than to crowd
our lunatic asylums
with the would-be solv-
ers.
CONSECUTIVE LINES WITH HYPHENATION
Hyphenation
It was in old days, with
our learned men, an in-
teresting and oft-inves-
tigated question, “What
is the origin of light?”
and the solution of it
has been repeatedly at-
tempted, with no other
result than to crowd
our lunatic asylums
with the would-be solv-
ers.
HYPHENATION OF LAST WORD
Hyphenation
Slide 113
Slide 113 text
p {
hyphenate-limit-last: always;
}
!
p {
hyphenate-limit-last: none;
}
Hyphenation
CSS
Slide 114
Slide 114 text
It was in old days, with
our learned men, an in-
teresting and oft-inves-
tigated question, “What
is the origin of light?”
and the solution of it
has been repeatedly at-
tempted, with no other
result than to crowd
our lunatic asylums
with the would-be solv-
ers.
HYPHENATION AFTER 2 CHARACTERS
HYPHENATION AFTER 2 CHARACTERS
Hyphenation
Slide 115
Slide 115 text
p {
hyphenate-limit-chars: auto auto auto;
}
hy•phen•ation is need•ed
for jus•ti•fi•ca•tion
Hyphenation
CSS
Slide 116
Slide 116 text
p {
hyphenate-limit-chars: 7 auto auto;
}
hy•phen•ation is need•ed
for jus•ti•fi•ca•tion
Hyphenation
CSS
Slide 117
Slide 117 text
p {
hyphenate-limit-chars: 7 3 auto;
}
hy•phen•ation is need•ed
for jus•ti•fi•ca•tion
Hyphenation
CSS
Slide 118
Slide 118 text
p {
hyphenate-limit-chars: 7 3 5;
}
hy•phen•ation is need•ed
for jus•ti•fi•ca•tion
Hyphenation
CSS
Slide 119
Slide 119 text
It was in old days, with
our learned men, an in-
teresting and oft-inves-
tigated question, “What
is the origin of light?”
and the solution of it
has been repeatedly at-
tempted, with no other
result than to crowd
our lunatic asylums
with the would-be solv-
ers.
Hyphenation
HYPHENS
HYPHEN
HYPHEN
Slide 120
Slide 120 text
p {
hyphenate-character: auto;
}
Hyphenation
hy-phen-ation
CSS
Slide 121
Slide 121 text
p {
hyphenate-character: “\u2605”;
}
Hyphenation
hy★phen★ation
CSS
Slide 122
Slide 122 text
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
hyphens No No Yes Yes Sort of Yes Yes Sort of
hyphenate-limit-lines No No Yes Yes No No No No
hyphenate-limit-last No No Yes Yes No No No No
hyphenate-limit-chars No No Yes Yes No No No No
hyphenate-character No No No No Yes Yes Yes Yes
Hyphenation
Slide 123
Slide 123 text
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
hyphens No No Yes Yes Sort of Yes Yes Sort of
hyphenate-limit-lines No No Yes Yes No No No No
hyphenate-limit-last No No Yes Yes No No No No
hyphenate-limit-chars No No Yes Yes No No No No
hyphenate-character No No No No Yes Yes Yes Yes
Hyphenation
Slide 124
Slide 124 text
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
hyphens No No Yes Yes Sort of Yes Yes Sort of
hyphenate-limit-lines No No Yes Yes No No No No
hyphenate-limit-last No No Yes Yes No No No No
hyphenate-limit-chars No No Yes Yes No No No No
hyphenate-character No No No No Yes Yes Yes Yes
Hyphenation
Slide 125
Slide 125 text
Properties IE8 IE9 IE10 IE11 Chrome Firefox Safari Opera
hyphens No No Yes Yes Sort of Yes Yes Sort of
hyphenate-limit-lines No No Yes Yes No No No No
hyphenate-limit-last No No Yes Yes No No No No
hyphenate-limit-chars No No Yes Yes No No No No
hyphenate-character No No No No Yes Yes Yes Yes
Hyphenation
Slide 126
Slide 126 text
Web Design is 95% Typography
“ ”
― Oliver Reichenstein
Web fonts, justification,
hyphenation, balanced text, drop
caps, OpenType features, colour
fonts, text rendering, font loading,
kerning, lettering, character
alignment, fitting text, widows,
orphans, math layout, etc.
Slide 131
Slide 131 text
THE STATE OF
WEB TYPE
www.stateofwebtype.com
&
Slide 132
Slide 132 text
Thank you
THE STATE OF
WEB TYPE
www.stateofwebtype.com
Tablet Gothic by TypeTogether
FF Quixo by Frank Grießhammer
Input by David Jonathan Ross
&
Twitter: @bram_stein