The Type We Want (MIX10)

58
THE TYPE WE WANT Fonts on the Web

description

The Type We Want covering font embedding on the web.

Transcript of The Type We Want (MIX10)

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?