The Type We Want (MIX10)

Post on 26-Jan-2015

121 views 0 download

description

The Type We Want covering font embedding on the web.

Transcript of The Type We Want (MIX10)

THE TYPE WE WANT Fonts on the Web

WHAT DOES TYPOGRAPHY DO?

TYPOGRAPHY HELPS DEFINE…

•  Style •  Feel •  Mood

•  Readability

FONT TAG Ooh, we can make it pretty!

FONT TAG

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

IMAGES Any font but at what price?

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

TEXTORIZE

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

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

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

CSS FONT STACKS

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

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

}  

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>  

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

COMPLEX FONT STACKS

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

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

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

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

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)

TYPEFACE.JS

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

LICENSING

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

•  Many fonts don’t allow embedding in this fashion

@FONT-FACE Have we reached utopia?

ADVANTAGES

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

•  Print Quality

TRUETYPE (TTF) & OPENTYPE (OTF)

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

EMBEDDABLE OPENTYPE (EOT)

•  Support in IE4+ •  TTF2EOT

– Command line – Web services exist to make this conversion

•  WEFT – Complete and utter garbage

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

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

CREATING SVG FONTS

•  FontForge •  Batik

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

WEB OPEN FONT FORMAT (WOFF)

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

CREATING WOFF FILES

•  Command line tool: sfnt2woff •  Mac or Windows

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

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');  

}  

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

PERFORMANCE

SUBSETTING

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

SUBSETTING

•  Subsetting reduces the number of glyphs in the file

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

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

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

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

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

BIGGEST HURDLE IS STILL LICENSING

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

SOLVING THESE PROBLEMS

FONT EMBEDDING SERVICES

•  TypeKit •  Typotheque •  Kernest

•  FontDeck •  FontSpring

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

RESOURCES

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

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

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

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/

QUESTIONS?