Variable Fonts and the Future of Web Design

A presentation at dotCSS 2018 in November 2018 in Paris, France by Mandy Michael

Slide 1

Slide 1

and the future of web design. PRESENTED BY Mandy Michael

Slide 2

Slide 2

and the future of web design. PRESENTED BY Mandy Michael

Slide 3

Slide 3

I am a Developer that loves to Design. @mandy_kerr

Slide 4

Slide 4

But I love experimenting with CSS @mandy_kerr

Slide 5

Slide 5

@mandy_kerr

Slide 6

Slide 6

@mandy_kerr

Slide 7

Slide 7

020f15 @mandy_kerr

Slide 8

Slide 8

Weight Axis @mandy_kerr

Slide 9

Slide 9

@mandy_kerr

Slide 10

Slide 10

@mandy_kerr

Slide 11

Slide 11

900 810 700 600 500 400 360 200 Source Sans Variable Fonts 394kb @mandy_kerr

Slide 12

Slide 12

900 810 700 600 500 400 360 200 234kb 234kb* 235kb 233kb 234kb* 230kb 234kb* 222kb 1856kb Source Sans Standard Fonts @mandy_kerr

Slide 13

Slide 13

900 810 700 600 500 400 360 200 234kb 234kb* 235kb 233kb 234kb* 230kb 234kb* 222kb 924kb Standard Fonts @mandy_kerr

Slide 14

Slide 14

Variable fonts can improve actual and perceived performance. @mandy_kerr

Slide 15

Slide 15

font-family: "Source Sans Variable”, Variable Fallback, Arial, sans-serif; @mandy_kerr

Slide 16

Slide 16

Layout shifting caused by mis-matched fallback and custom font. @mandy_kerr

Slide 17

Slide 17

meowni.ca/font-style-matcher Attempts to match the fonts as closely as possible. @mandy_kerr

Slide 18

Slide 18

The implementation of variable fonts in CSS is very similar to what we do right now. @mandy_kerr

Slide 19

Slide 19

@font-face { font-family: "Source Sans Variable"; src: url("source-sans-variable.woff") format("woff-variations"); font-weight: 200 700; } @mandy_kerr

Slide 20

Slide 20

@font-face { font-family: "Source Sans Variable"; src: url("source-sans-variable.woff") format("woff-variations"); font-weight: 200 700; } The available range — you cannot access any values outside of this range. @mandy_kerr

Slide 21

Slide 21

h1 { font-family: "Source Sans Variable”; font-weight: 658; } @mandy_kerr

Slide 22

Slide 22

h1 { font-family: “My Variable Font”; font-variation-settings:'wght' 375, 'INLI' 88; } A named axis for font weight A custom axis called inline @mandy_kerr

Slide 23

Slide 23

h1 { font-family:"Source Sans", sans-serif; font-weight: 700; } @supports (font-variation-settings: normal) { h1 { font-family: “Decovar"; font-variation-settings: "INLI" 88; } } @mandy_kerr

Slide 24

Slide 24

When we are not limited by technical considerations, creativity can determine our choices. @mandy_kerr

Slide 25

Slide 25

Font: Decovar by David Berlow @mandy_kerr

Slide 26

Slide 26

Because variable fonts can have an interpolated range of values, we can create fluid variations. @mandy_kerr

Slide 27

Slide 27

h1 { font-family: "Decovar"; font-variation-settings: "INLI" 1000, "SWRM" 0; } @mandy_kerr

Slide 28

Slide 28

h1 { font-family: "Decovar"; font-variation-settings: "INLI" 0, “SWRM” 1000; } @mandy_kerr

Slide 29

Slide 29

h1 { font-family: "Decovar"; font-variation-settings: “INLI" 0, “SWRM" 1000; } @keyframes grow { 0% { font-variation-settings: "INLI" 1000, "SWRM" 1000; } } 50% { font-variation-settings: "INLI" 1000, "SWRM" 0; } @mandy_kerr

Slide 30

Slide 30

h1 { font-family: "Decovar"; font-variation-settings: “INLI" 0, “SWRM" 1000; animation: grow 4s linear infinite; } @keyframes grow { 0% { font-variation-settings: "INLI" 1000, "SWRM" 1000; } } 50% { font-variation-settings: "INLI" 1000, "SWRM" 0; } @mandy_kerr

Slide 31

Slide 31

Font: Decovar by David Berlow @mandy_kerr

Slide 32

Slide 32

Font: Duos Writer by Underware @mandy_kerr

Slide 33

Slide 33

Font: Gingham by Christoph Koeberlin @mandy_kerr

Slide 34

Slide 34

Font: Decovar by David Berlow @mandy_kerr

Slide 35

Slide 35

Font: Wind VF by Hansje van Halem @mandy_kerr

Slide 36

Slide 36

Font: Zycon by David Berlow @mandy_kerr

Slide 37

Slide 37

Font: Decovar by David Berlow @mandy_kerr

Slide 38

Slide 38

Font: Chee by OH No Type Co @mandy_kerr

Slide 39

Slide 39

Variable fonts allow web typography to adapt to screens, environments and our devices or technologies. @mandy_kerr

Slide 40

Slide 40

@mandy_kerr

Slide 41

Slide 41

@mandy_kerr

Slide 42

Slide 42

@mandy_kerr

Slide 43

Slide 43

@mandy_kerr

Slide 44

Slide 44

by Andrew Johnson and Erik van Blokland https://medium.com/@aetherpoint/reading-distance-and-variable-fonts-1f6e1ffd1879 @mandy_kerr

Slide 45

Slide 45

@mandy_kerr

Slide 46

Slide 46

AMBIENT LIGHT @mandy_kerr

Slide 47

Slide 47

CSS Media Queries, Level 5 will give us more control over things like environment, light, contrast and colour scheme directly in our CSS. @mandy_kerr

Slide 48

Slide 48

h1 { font-variation-settings: "TEMP" 0; transition: all 4s linear; } @media (prefers-color-scheme: dark) { h1 { font-variation-settings: "TEMP" 1000; } } @mandy_kerr

Slide 49

Slide 49

@mandy_kerr

Slide 50

Slide 50

We can improve the readability and accessibility of our content. This is a level of control that is unprecedented. @mandy_kerr

Slide 51

Slide 51

When we are not limited by technical considerations, creativity can determine our choices. @mandy_kerr

Slide 52

Slide 52

100 200 240 320 400 500 560 640 720 800 900 1 x serif font 1 x sans serif 11 x weights 226kb @mandy_kerr

Slide 53

Slide 53

200 300 500 600 850 900 1 x serif font 1 x sans serif 6 x weights @mandy_kerr

Slide 54

Slide 54

Slide 55

Slide 55

@mandy_kerr

Slide 56

Slide 56

@mandy_kerr

Slide 57

Slide 57

Slide 58

Slide 58

There has never been a better time to create for the web. @mandy_kerr

Slide 59

Slide 59

Thank you. @mandy_kerr @mandymichael

Slide 60

Slide 60

This presentation was proudly brought to you by Arial Black and Times New Roman. @mandy_kerr