58
THE TYPE WE WANT Fonts on the Web

The Type We Want (MIX10)

Embed Size (px)

DESCRIPTION

The Type We Want covering font embedding on the web.

Citation preview

Page 1: The Type We Want (MIX10)

THE TYPE WE WANT Fonts on the Web

Page 2: The Type We Want (MIX10)

WHAT DOES TYPOGRAPHY DO?

Page 3: The Type We Want (MIX10)
Page 4: The Type We Want (MIX10)
Page 5: The Type We Want (MIX10)
Page 6: The Type We Want (MIX10)
Page 7: The Type We Want (MIX10)
Page 8: The Type We Want (MIX10)
Page 9: The Type We Want (MIX10)

TYPOGRAPHY HELPS DEFINE…

•  Style •  Feel •  Mood

•  Readability

Page 10: The Type We Want (MIX10)

FONT TAG Ooh, we can make it pretty!

Page 11: The Type We Want (MIX10)

FONT TAG

<font  face="Arial"  size="3">      I  feel  pretty.  Oh  so  pretty.  </font>  

Page 12: The Type We Want (MIX10)

IMAGES Any font but at what price?

Page 13: The Type We Want (MIX10)

IMAGES

•  Images allows for any font to be used •  Performance •  Only practical for limited items with

short text •  Abused by clients •  Printing is less than ideal •  No text selection

Page 14: The Type We Want (MIX10)

TEXTORIZE

•  Server-based image generation •  Uses Mac OS X rendering engine •  Sub-pixel Anti-aliasing

•  Ruby-based •  http://textorize.org/

Page 15: The Type We Want (MIX10)

CSS FONT STACKS Flexible design but who gets to see it?

Page 16: The Type We Want (MIX10)

CSS FONT STACKS

#pretty  {      font-­‐family:  Arial,  Helvetica,  sans-­‐serif;  

}  #prettier  {      font-­‐family:  "Gotham  Medium",  sans-­‐serif;  

}  

Page 17: The Type We Want (MIX10)

OOPS!

<p  class="bodytext">I  want  to  look  pretty</p>  

<p  class="bodytext">I  want  to  feel  pretty</p>  

<p  class="bodytext">I  want  to  be  pretty</p>  

Page 18: The Type We Want (MIX10)

COMMON FONT STACKS

•  Arial, Helvetica, sans-serif •  Courier New, Courier, monospace •  Times New Roman, Times, serif

•  Georgia, Times New Roman, Times, serif •  Verdana, Arial, Helvetica, sans-serif •  Geneva, Arial, Helvetica, sans-serif

Page 19: The Type We Want (MIX10)

COMPLEX FONT STACKS

"Segoe UI", Candara, "Bitstream Vera Sans", "DejaVu Sans", "Bitstream Vera Sans", "Trebuchet MS", Verdana, "Verdana Ref", sans-serif

Page 20: The Type We Want (MIX10)

COMPLEX FONT STACK

•  Better Font Stacks http://unitinteractive.com/blog/2008/06/26/better-css-font-stacks/

•  8 Definitive Web Font Stacks http://articles.sitepoint.com/article/eight-definitive-font-stacks

Page 21: The Type We Want (MIX10)

SIFR, CUFÓN, TYPEFACE Now we’re getting somewhere

Page 22: The Type We Want (MIX10)

SIFR

•  requires JavaScript AND Flash •  Slow for a lot of elements •  Best used for headlines

•  Can be difficult to tweak •  Support for CSS features is limited

Page 23: The Type We Want (MIX10)

CUFÓN

•  Generates SVG font and VML outlines •  Draws to <canvas> in all browsers that

support it (ie: not IE)

•  No text selection •  Original text is made invisible •  Supports some CSS Styling (more than

sIFR)

Page 24: The Type We Want (MIX10)

TYPEFACE.JS

•  Similar to Cufón •  Includes letter-spacing and font-stretch

Page 25: The Type We Want (MIX10)

LICENSING

•  Most licenses aren’t very clear and should be clarified with foundry

•  Many fonts don’t allow embedding in this fashion

Page 26: The Type We Want (MIX10)

@FONT-FACE Have we reached utopia?

Page 27: The Type We Want (MIX10)
Page 28: The Type We Want (MIX10)
Page 29: The Type We Want (MIX10)
Page 30: The Type We Want (MIX10)
Page 31: The Type We Want (MIX10)
Page 32: The Type We Want (MIX10)
Page 33: The Type We Want (MIX10)

ADVANTAGES

•  Dynamic •  Style with the full extent of CSS •  Can work on mobile platforms

•  Print Quality

Page 34: The Type We Want (MIX10)

TRUETYPE (TTF) & OPENTYPE (OTF)

•  Firefox 3.5+, Safari 3+, Opera 10+ •  Including Opera Mobile •  In Chrome 4

Page 35: The Type We Want (MIX10)

EMBEDDABLE OPENTYPE (EOT)

•  Support in IE4+ •  TTF2EOT

– Command line – Web services exist to make this conversion

•  WEFT – Complete and utter garbage

Page 36: The Type We Want (MIX10)

OTF → TTF → EOT

•  EOT apps require TTF but most fonts today are OTF.

•  FontForge will convert OTF to TTF •  Font names aren’t transferred and must be

set manually to allow TTF to EOT process to work reliably. http://snook.ca/archives/html_and_css/screencast-converting-ttf2eot

Page 37: The Type We Want (MIX10)

SVG FONTS

•  Chrome 0.3+ support with no need for a command line flag

•  Works on iPhone OS3.1+ •  Opera bug doesn’t show embedded font

on second tab •  Text selection works but not consistently

Page 38: The Type We Want (MIX10)

CREATING SVG FONTS

•  FontForge •  Batik

– SVG may need to be cleaned up to remove extraneous data (empty nodes and attributes)

Page 39: The Type We Want (MIX10)

WEB OPEN FONT FORMAT (WOFF)

•  in Firefox 3.6 •  Supported by major font foundries •  IE9?

Page 40: The Type We Want (MIX10)

CREATING WOFF FILES

•  Command line tool: sfnt2woff •  Mac or Windows

http://people.mozilla.com/~jkew/woff/

Page 41: The Type We Want (MIX10)

BULLETPROOF @FONT-FACE

@font-­‐face  {      font-­‐family:  'MuseoCustom';      src:  url('MuseoSans-­‐500.eot');      src:  local('Museo  Sans  500'),                  local('MuseoSans-­‐500'),                  url('museo.woff')  format('woff'),                url('MuseoSans-­‐500.ttf')                        format('opentype'),                url('museo.svg#museo')  format('svg');  

}  

Page 42: The Type We Want (MIX10)

FONT SQUIRREL

•  one step conversion process •  Upload TTF or OTF •  Provides EOT, SVG and WOFF format

•  Creates example HTML and CSS •  Supports Cufón fallback •  Does subsetting

Page 43: The Type We Want (MIX10)

PERFORMANCE

Page 44: The Type We Want (MIX10)

SUBSETTING

•  Font files can be megabytes in size •  Arial Unicode MS is 23MB •  Many fonts are still 100K+

Page 45: The Type We Want (MIX10)

SUBSETTING

•  Subsetting reduces the number of glyphs in the file

•  great for latin languages •  not so great for asian languages

Page 46: The Type We Want (MIX10)
Page 47: The Type We Want (MIX10)

SUBSETTING PROBLEMS

•  Be careful removing lower case glyphs if using upper case

•  IE and Opera have a bug with text-transform: uppercase that will use fallback font instead of subsetted font

Page 48: The Type We Want (MIX10)

COMPRESSION

•  EOT and WOFF support compression •  WEFT compresses by default, TTF2EOT

doesn’t

•  Use GZIP compression where font isn’t already compressed – uncompressed EOT

– TTF, OTF, and SVG

Page 49: The Type We Want (MIX10)

FLASH OF UNSTYLED TEXT

•  Firefox, Opera shows unstyled text until font downloaded (FOUT!)

•  Blocking in IE if <script> before @font-face declaration; otherwise, unstyled until font downloaded

Page 50: The Type We Want (MIX10)

FLASH OF UNSTYLED TEXT

•  Safari, Chrome show no text until font downloaded

•  Opera 10.10 doesn’t show the embedded font after the first page

Page 51: The Type We Want (MIX10)

BIGGEST HURDLE IS STILL LICENSING

Page 52: The Type We Want (MIX10)

LICENSING

•  Most fonts, even some free fonts, DON’T allow @font-face embedding

•  Foundries that support WOFF haven’t provided updated licenses yet

•  Contact them directly for more info

Page 53: The Type We Want (MIX10)

SOLVING THESE PROBLEMS

Page 54: The Type We Want (MIX10)

FONT EMBEDDING SERVICES

•  TypeKit •  Typotheque •  Kernest

•  FontDeck •  FontSpring

Page 55: The Type We Want (MIX10)

DISADVANTAGES TO SERVICES

•  If the server goes down, does your design have a suitable fallback?

•  Some services require JavaScript •  None of the services serve SVG •  Services obfuscate to prevent ability to

install font permanently •  Not cached

Page 56: The Type We Want (MIX10)

RESOURCES

•  FontForge http://fontforge.sourceforge.net/

•  Batik http://xmlgraphics.apache.org/batik/tools/font-converter.html

•  FontSquirrel Generator http://www.fontsquirrel.com/fontface/generator

Page 57: The Type We Want (MIX10)

WHERE TO GET FONTS

•  FontSquirrel http://www.fontsquirrel.com/

•  TypeKit http://typekit.com/

•  Typotheque http://www.typotheque.com/

•  FontSpring http://www.fontspring.com/

•  Kernest http://www.kernest.com/

Page 58: The Type We Want (MIX10)

QUESTIONS?