SlideShare a Scribd company logo
1 of 46
Download to read offline
The Type We Want
          Using Fonts on the Web




Friday, November 6, 2009
Friday, November 6, 2009
Friday, November 6, 2009
Friday, November 6, 2009
Why?
               Typography is a key element in defining
                     style
                     feel
                     mood
                     readability




Friday, November 6, 2009
The Font Tag
          Ooh, we can make it look pretty!




Friday, November 6, 2009
Font Tag
          <font	
  face="Arial"	
  size="3">
          	
  	
  I	
  feel	
  pretty.	
  Oh	
  so	
  pretty.
          </font>




Friday, November 6, 2009
Images
          Any font but at what price?




Friday, November 6, 2009
Images
               Images allows for any font to be used
               Only practical for limited items with short text
               Abused by clients
               Printing is less than ideal




Friday, November 6, 2009
CSS and Font Stacks
          Flexible design but who gets to see it?




Friday, November 6, 2009
CSS
          #pretty	
  {
          	
  	
  font-­‐family:	
  Arial,	
  Helvetica,	
  sans-­‐serif;
          }
          #prettier	
  {
          	
  	
  font-­‐family:	
  "Gotham	
  Medium",	
  sans-­‐serif;
          }




Friday, November 6, 2009
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>




Friday, November 6, 2009
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




Friday, November 6, 2009
Complex Font Stacks
          //	
  Verdana	
  Alternative
          font-­‐family:	
  "Segoe	
  UI",	
  Candara,	
  "Bitstream	
  
          Vera	
  Sans",	
  "DejaVu	
  Sans",	
  "Bitstream	
  Vera	
  
          Sans",	
  "Trebuchet	
  MS",	
  Verdana,	
  "Verdana	
  
          Ref",	
  sans-­‐serif;




Friday, November 6, 2009
Complex Font Stacks
               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




Friday, November 6, 2009
sIFR, Cufón, Typeface
          Now we’re getting somewhere




Friday, November 6, 2009
sIFR
               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




Friday, November 6, 2009
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)




Friday, November 6, 2009
Typeface.js
               Supports additional CSS styling over Cufon such as
               letter-spacing and font-stretch.




Friday, November 6, 2009
Licensing
               Most licenses aren’t very clear and should be
               clarified with foundry
               Many fonts don’t allow embedding in this fashion




Friday, November 6, 2009
@font-face
          Have we reached utopia?




Friday, November 6, 2009
TrueType (TTF) & OpenType (OTF)
               Supported in Firefox 3.5+, Safari 3+, Opera 10+
                     Including Opera Mobile
               Expected in Chrome 4
               Can be enabled in Chrome now with a command
               line switch




Friday, November 6, 2009
Friday, November 6, 2009
Friday, November 6, 2009
Embedded OpenType (EOT)
               Support in IE4+
               TTF2EOT
                     Command line
                     Web services exist to make this conversion
               WEFT
                     Complete and utter garbage




Friday, November 6, 2009
Getting from OTF to TTF to EOT
               The problem with the EOT apps is that they require
               a TTF and 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




Friday, November 6, 2009
SVG
               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




Friday, November 6, 2009
Friday, November 6, 2009
Creating SVG Fonts
               FontForge
                     Requires tweak to XML namespace
               Batik
                     SVG may need to be cleaned up to remove
                     extraneous data (empty nodes and attributes)




Friday, November 6, 2009
Web Open Font Format (WOFF)
               in Firefox 3.6 (beta 1 just released)
               Supported by major font foundries




Friday, November 6, 2009
Creating WOFF Files
               Command line tool: sfnt2woff
                     Mac or Windows
                     http://people.mozilla.com/~jkew/woff/




Friday, November 6, 2009
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');
          }



Friday, November 6, 2009
All-in-one Conversion
               Font Squirrel provides a one step conversion
               process
               Upload TTF or OTF
                     Provides EOT, SVG and WOFF format
                     Does subsetting
                     Creates example HTML and CSS




Friday, November 6, 2009
Subsetting
               Font files can be megabytes in size
                     Arial Unicode MS is 23MB
               Many fonts are still 100K+




Friday, November 6, 2009
Subsetting
               Subsetting reduces the number of glyphs in the file
                     great for latin languages
                     not so great for asian languages




Friday, November 6, 2009
Friday, November 6, 2009
Subsetting Gotcha
               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




Friday, November 6, 2009
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




Friday, November 6, 2009
Performance
               Firefox, Opera shows unstyled text until font
               downloaded (FOUT!)
               Blocking in IE if <script> before @font-face
               declaration; otherwise, unstyled until font
               downloaded
               Safari, Chrome show no text until font
               downloaded
               Opera doesn’t show the embedded font after
               the first page
                     http://www.useragentman.com/blog/2009/10/09/more-font-
                     face-fun/
               http://www.stevesouders.com/blog/2009/10/13/font-face-and-
               performance/


Friday, November 6, 2009
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




Friday, November 6, 2009
Font Embedding Services
               TypeKit
               Typotheque
               Kernest




Friday, November 6, 2009
Disadvantages of FES
               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




Friday, November 6, 2009
Resources
               FontForge
                     http://fontforge.sourceforge.net/

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

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




Friday, November 6, 2009
Where to get fonts
               FontSquirrel
                     http://www.fontsquirrel.com/

               TypeKit
                     http://typekit.com/

               Typotheque
                     http://www.typotheque.com/

               Kernest
                     http://www.kernest.com/




Friday, November 6, 2009
Presentation Fonts
               Headlines: League Gothic
                     Free and open source; supports all manner of
                     embedding
               Body: Museo Sans 500
                     Free and supports @font-face embedding as long as
                     you link back to the foundry
                     Additional weights available for sale
               Code: Consolas
                     Comes with Microsoft Office
                     Not free and requires special EOT embedding license

Friday, November 6, 2009
Questions?
          Hit me with your best shot. Fire away.




Friday, November 6, 2009

More Related Content

What's hot

CSS @font-face : Personalized fonts
CSS @font-face : Personalized fontsCSS @font-face : Personalized fonts
CSS @font-face : Personalized fontsYves Van Goethem
 
[WebVisions 2010] CSS3 Workshop (Afternoon)
[WebVisions 2010] CSS3 Workshop (Afternoon)[WebVisions 2010] CSS3 Workshop (Afternoon)
[WebVisions 2010] CSS3 Workshop (Afternoon)Christopher Schmitt
 
Advanced Custom Fields Lightning Talk WordCamp Miami 2018
Advanced Custom Fields Lightning Talk WordCamp Miami 2018Advanced Custom Fields Lightning Talk WordCamp Miami 2018
Advanced Custom Fields Lightning Talk WordCamp Miami 2018Jesse Velez
 
Typography online
Typography onlineTypography online
Typography onlineJake Smith
 
The Hitchhikers Guide to client Side Persistent Storage
The Hitchhikers Guide to client Side Persistent StorageThe Hitchhikers Guide to client Side Persistent Storage
The Hitchhikers Guide to client Side Persistent StorageJens Arps
 
Symfony and eZ Publish: boarding now!
Symfony and eZ Publish: boarding now!Symfony and eZ Publish: boarding now!
Symfony and eZ Publish: boarding now!Nicolas Pastorino
 
Navigating the Programmable Web
Navigating the Programmable WebNavigating the Programmable Web
Navigating the Programmable Webgoodfriday
 
Cufon - Javascript Font Replacement
Cufon - Javascript Font ReplacementCufon - Javascript Font Replacement
Cufon - Javascript Font ReplacementDave Ross
 
There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)Grace Solivan
 
Notes, domino and the single sign on soup
Notes, domino and the single sign on soupNotes, domino and the single sign on soup
Notes, domino and the single sign on soupDarren Duke
 
Why CSS Was Invented (Håkon Wium Lie)
Why CSS Was Invented (Håkon Wium Lie)Why CSS Was Invented (Håkon Wium Lie)
Why CSS Was Invented (Håkon Wium Lie)Future Insights
 
Web ninja html & css
Web ninja   html & cssWeb ninja   html & css
Web ninja html & cssAlfi Rizka
 
Intro To WordPress Themes
Intro To WordPress ThemesIntro To WordPress Themes
Intro To WordPress Themesdamonsharp
 

What's hot (20)

What the @font-face
What the @font-faceWhat the @font-face
What the @font-face
 
Responsive Web Fonts
Responsive Web FontsResponsive Web Fonts
Responsive Web Fonts
 
CSS @font-face : Personalized fonts
CSS @font-face : Personalized fontsCSS @font-face : Personalized fonts
CSS @font-face : Personalized fonts
 
CSS3 3D Workshop
CSS3 3D WorkshopCSS3 3D Workshop
CSS3 3D Workshop
 
[heweb11] CSS3 Makeover
[heweb11] CSS3 Makeover[heweb11] CSS3 Makeover
[heweb11] CSS3 Makeover
 
[WebVisions 2010] CSS3 Workshop (Afternoon)
[WebVisions 2010] CSS3 Workshop (Afternoon)[WebVisions 2010] CSS3 Workshop (Afternoon)
[WebVisions 2010] CSS3 Workshop (Afternoon)
 
Web fonts
Web fontsWeb fonts
Web fonts
 
Advanced Custom Fields Lightning Talk WordCamp Miami 2018
Advanced Custom Fields Lightning Talk WordCamp Miami 2018Advanced Custom Fields Lightning Talk WordCamp Miami 2018
Advanced Custom Fields Lightning Talk WordCamp Miami 2018
 
Typography online
Typography onlineTypography online
Typography online
 
The Hitchhikers Guide to client Side Persistent Storage
The Hitchhikers Guide to client Side Persistent StorageThe Hitchhikers Guide to client Side Persistent Storage
The Hitchhikers Guide to client Side Persistent Storage
 
Symfony and eZ Publish: boarding now!
Symfony and eZ Publish: boarding now!Symfony and eZ Publish: boarding now!
Symfony and eZ Publish: boarding now!
 
Symfony and eZ Publish
Symfony and eZ PublishSymfony and eZ Publish
Symfony and eZ Publish
 
HTML5 Update
HTML5 UpdateHTML5 Update
HTML5 Update
 
Navigating the Programmable Web
Navigating the Programmable WebNavigating the Programmable Web
Navigating the Programmable Web
 
Cufon - Javascript Font Replacement
Cufon - Javascript Font ReplacementCufon - Javascript Font Replacement
Cufon - Javascript Font Replacement
 
There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)
 
Notes, domino and the single sign on soup
Notes, domino and the single sign on soupNotes, domino and the single sign on soup
Notes, domino and the single sign on soup
 
Why CSS Was Invented (Håkon Wium Lie)
Why CSS Was Invented (Håkon Wium Lie)Why CSS Was Invented (Håkon Wium Lie)
Why CSS Was Invented (Håkon Wium Lie)
 
Web ninja html & css
Web ninja   html & cssWeb ninja   html & css
Web ninja html & css
 
Intro To WordPress Themes
Intro To WordPress ThemesIntro To WordPress Themes
Intro To WordPress Themes
 

Viewers also liked

Presentation on Presentations
Presentation on PresentationsPresentation on Presentations
Presentation on PresentationsJonathan Snook
 
Building On The Shoulders
Building On The ShouldersBuilding On The Shoulders
Building On The ShouldersJonathan Snook
 
Mobile Web Development
Mobile Web DevelopmentMobile Web Development
Mobile Web DevelopmentJonathan Snook
 
Working With Ajax Frameworks
Working With Ajax FrameworksWorking With Ajax Frameworks
Working With Ajax FrameworksJonathan Snook
 
Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Capgemini
 
How to Battle Bad Reviews
How to Battle Bad ReviewsHow to Battle Bad Reviews
How to Battle Bad ReviewsGlassdoor
 
ReLIVE 2008, Closing Keynote - When It's All Over We Still Have to Clear Up
ReLIVE 2008, Closing Keynote  - When It's All Over We Still Have to Clear UpReLIVE 2008, Closing Keynote  - When It's All Over We Still Have to Clear Up
ReLIVE 2008, Closing Keynote - When It's All Over We Still Have to Clear UpRoo Reynolds
 
8 herramientas de la web 2.0 para anowhat
8 herramientas de la web 2.0 para anowhat8 herramientas de la web 2.0 para anowhat
8 herramientas de la web 2.0 para anowhatFran Santana Camacho
 
Intranet trends in Finland 2014
Intranet trends in Finland 2014Intranet trends in Finland 2014
Intranet trends in Finland 2014Hanna P. Korhonen
 
Chronic pain australia disrupting the culture around people living with chr...
Chronic pain australia   disrupting the culture around people living with chr...Chronic pain australia   disrupting the culture around people living with chr...
Chronic pain australia disrupting the culture around people living with chr...Anne-Marie Elias
 
Web 2 0/Social Media Presentation V2
Web 2 0/Social Media Presentation V2Web 2 0/Social Media Presentation V2
Web 2 0/Social Media Presentation V2Bernie Borges
 
Evaluation question 1 Cara
Evaluation question 1 CaraEvaluation question 1 Cara
Evaluation question 1 CaraCara Griffin
 
Primer parcial ea
Primer parcial eaPrimer parcial ea
Primer parcial eaAdalberto
 

Viewers also liked (19)

Presentation on Presentations
Presentation on PresentationsPresentation on Presentations
Presentation on Presentations
 
Building On The Shoulders
Building On The ShouldersBuilding On The Shoulders
Building On The Shoulders
 
RIAs
RIAsRIAs
RIAs
 
Mobile Web Development
Mobile Web DevelopmentMobile Web Development
Mobile Web Development
 
Working With Ajax Frameworks
Working With Ajax FrameworksWorking With Ajax Frameworks
Working With Ajax Frameworks
 
CSS3 now
CSS3 nowCSS3 now
CSS3 now
 
Importancia de un blog en la educación 
Importancia de un blog en la educación Importancia de un blog en la educación 
Importancia de un blog en la educación 
 
Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0
 
How to Battle Bad Reviews
How to Battle Bad ReviewsHow to Battle Bad Reviews
How to Battle Bad Reviews
 
Staggered Boards
Staggered BoardsStaggered Boards
Staggered Boards
 
ReLIVE 2008, Closing Keynote - When It's All Over We Still Have to Clear Up
ReLIVE 2008, Closing Keynote  - When It's All Over We Still Have to Clear UpReLIVE 2008, Closing Keynote  - When It's All Over We Still Have to Clear Up
ReLIVE 2008, Closing Keynote - When It's All Over We Still Have to Clear Up
 
8 herramientas de la web 2.0 para anowhat
8 herramientas de la web 2.0 para anowhat8 herramientas de la web 2.0 para anowhat
8 herramientas de la web 2.0 para anowhat
 
Intranet trends in Finland 2014
Intranet trends in Finland 2014Intranet trends in Finland 2014
Intranet trends in Finland 2014
 
Ecolabel affiche generique-a4
Ecolabel affiche generique-a4Ecolabel affiche generique-a4
Ecolabel affiche generique-a4
 
Chronic pain australia disrupting the culture around people living with chr...
Chronic pain australia   disrupting the culture around people living with chr...Chronic pain australia   disrupting the culture around people living with chr...
Chronic pain australia disrupting the culture around people living with chr...
 
Web 2 0/Social Media Presentation V2
Web 2 0/Social Media Presentation V2Web 2 0/Social Media Presentation V2
Web 2 0/Social Media Presentation V2
 
Collection policy
Collection policyCollection policy
Collection policy
 
Evaluation question 1 Cara
Evaluation question 1 CaraEvaluation question 1 Cara
Evaluation question 1 Cara
 
Primer parcial ea
Primer parcial eaPrimer parcial ea
Primer parcial ea
 

Similar to The Type We Want

Drupal Camp LA 2011: Typography modules for Drupal
Drupal Camp LA 2011: Typography modules for DrupalDrupal Camp LA 2011: Typography modules for Drupal
Drupal Camp LA 2011: Typography modules for DrupalAshok Modi
 
The state of web typography
The state of web typographyThe state of web typography
The state of web typographyFour Kitchens
 
Making drupal beautiful with web fonts
Making drupal beautiful with web fontsMaking drupal beautiful with web fonts
Making drupal beautiful with web fontsFour Kitchens
 
Mix10 final snook_ds15
Mix10 final snook_ds15Mix10 final snook_ds15
Mix10 final snook_ds15Jonathan Snook
 
The type revolutionary's cookbook
The type revolutionary's cookbookThe type revolutionary's cookbook
The type revolutionary's cookbookFour Kitchens
 
webfonts & @font-face :: in brief
webfonts & @font-face :: in briefwebfonts & @font-face :: in brief
webfonts & @font-face :: in briefPaul Irish
 
Web Fonts: Why Bother?
Web Fonts: Why Bother?Web Fonts: Why Bother?
Web Fonts: Why Bother?Greg Veen
 
Web font services: March 2011
Web font services: March 2011Web font services: March 2011
Web font services: March 2011RZasadzinski
 
Beyond The Web: Drupal Meets The Desktop (And Mobile)
Beyond The Web: Drupal Meets The Desktop (And Mobile)Beyond The Web: Drupal Meets The Desktop (And Mobile)
Beyond The Web: Drupal Meets The Desktop (And Mobile)Justin Miller
 
Fel presentation
Fel presentationFel presentation
Fel presentationianfeather
 
Oxente on Rails 2009
Oxente on Rails 2009Oxente on Rails 2009
Oxente on Rails 2009Fabio Akita
 
Conquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSConquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSCaridy Patino
 
Fonts on the Web - a guide to web fonts
Fonts on the Web - a guide to web fontsFonts on the Web - a guide to web fonts
Fonts on the Web - a guide to web fontsPrototype Interactive
 
Thomas Phinney, “Fonts. Everything is Changing. Again.”
Thomas Phinney, “Fonts. Everything is Changing. Again.”Thomas Phinney, “Fonts. Everything is Changing. Again.”
Thomas Phinney, “Fonts. Everything is Changing. Again.”WebVisions
 
User Defined Characters Solution Proposal
User Defined Characters Solution ProposalUser Defined Characters Solution Proposal
User Defined Characters Solution ProposalJun Fujisawa
 
Debugging your JavaScript
Debugging your JavaScriptDebugging your JavaScript
Debugging your JavaScriptDiogo Antunes
 

Similar to The Type We Want (20)

Drupal Camp LA 2011: Typography modules for Drupal
Drupal Camp LA 2011: Typography modules for DrupalDrupal Camp LA 2011: Typography modules for Drupal
Drupal Camp LA 2011: Typography modules for Drupal
 
The state of web typography
The state of web typographyThe state of web typography
The state of web typography
 
Making drupal beautiful with web fonts
Making drupal beautiful with web fontsMaking drupal beautiful with web fonts
Making drupal beautiful with web fonts
 
Mix10 final snook_ds15
Mix10 final snook_ds15Mix10 final snook_ds15
Mix10 final snook_ds15
 
The type revolutionary's cookbook
The type revolutionary's cookbookThe type revolutionary's cookbook
The type revolutionary's cookbook
 
webfonts & @font-face :: in brief
webfonts & @font-face :: in briefwebfonts & @font-face :: in brief
webfonts & @font-face :: in brief
 
Flash Word Games
Flash Word GamesFlash Word Games
Flash Word Games
 
Vagrant at LA Ruby
Vagrant at LA RubyVagrant at LA Ruby
Vagrant at LA Ruby
 
Web Fonts: Why Bother?
Web Fonts: Why Bother?Web Fonts: Why Bother?
Web Fonts: Why Bother?
 
Web font services: March 2011
Web font services: March 2011Web font services: March 2011
Web font services: March 2011
 
Beyond The Web: Drupal Meets The Desktop (And Mobile)
Beyond The Web: Drupal Meets The Desktop (And Mobile)Beyond The Web: Drupal Meets The Desktop (And Mobile)
Beyond The Web: Drupal Meets The Desktop (And Mobile)
 
Fel presentation
Fel presentationFel presentation
Fel presentation
 
Oxente on Rails 2009
Oxente on Rails 2009Oxente on Rails 2009
Oxente on Rails 2009
 
The Trouble With Type
The Trouble With TypeThe Trouble With Type
The Trouble With Type
 
Caridy patino - node-js
Caridy patino - node-jsCaridy patino - node-js
Caridy patino - node-js
 
Conquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSConquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JS
 
Fonts on the Web - a guide to web fonts
Fonts on the Web - a guide to web fontsFonts on the Web - a guide to web fonts
Fonts on the Web - a guide to web fonts
 
Thomas Phinney, “Fonts. Everything is Changing. Again.”
Thomas Phinney, “Fonts. Everything is Changing. Again.”Thomas Phinney, “Fonts. Everything is Changing. Again.”
Thomas Phinney, “Fonts. Everything is Changing. Again.”
 
User Defined Characters Solution Proposal
User Defined Characters Solution ProposalUser Defined Characters Solution Proposal
User Defined Characters Solution Proposal
 
Debugging your JavaScript
Debugging your JavaScriptDebugging your JavaScript
Debugging your JavaScript
 

Recently uploaded

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

The Type We Want

  • 1. The Type We Want Using Fonts on the Web Friday, November 6, 2009
  • 5. Why? Typography is a key element in defining style feel mood readability Friday, November 6, 2009
  • 6. The Font Tag Ooh, we can make it look pretty! Friday, November 6, 2009
  • 7. Font Tag <font  face="Arial"  size="3">    I  feel  pretty.  Oh  so  pretty. </font> Friday, November 6, 2009
  • 8. Images Any font but at what price? Friday, November 6, 2009
  • 9. Images Images allows for any font to be used Only practical for limited items with short text Abused by clients Printing is less than ideal Friday, November 6, 2009
  • 10. CSS and Font Stacks Flexible design but who gets to see it? Friday, November 6, 2009
  • 11. CSS #pretty  {    font-­‐family:  Arial,  Helvetica,  sans-­‐serif; } #prettier  {    font-­‐family:  "Gotham  Medium",  sans-­‐serif; } Friday, November 6, 2009
  • 12. 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> Friday, November 6, 2009
  • 13. 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 Friday, November 6, 2009
  • 14. Complex Font Stacks //  Verdana  Alternative font-­‐family:  "Segoe  UI",  Candara,  "Bitstream   Vera  Sans",  "DejaVu  Sans",  "Bitstream  Vera   Sans",  "Trebuchet  MS",  Verdana,  "Verdana   Ref",  sans-­‐serif; Friday, November 6, 2009
  • 15. Complex Font Stacks 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 Friday, November 6, 2009
  • 16. sIFR, Cufón, Typeface Now we’re getting somewhere Friday, November 6, 2009
  • 17. sIFR 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 Friday, November 6, 2009
  • 18. 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) Friday, November 6, 2009
  • 19. Typeface.js Supports additional CSS styling over Cufon such as letter-spacing and font-stretch. Friday, November 6, 2009
  • 20. Licensing Most licenses aren’t very clear and should be clarified with foundry Many fonts don’t allow embedding in this fashion Friday, November 6, 2009
  • 21. @font-face Have we reached utopia? Friday, November 6, 2009
  • 22. TrueType (TTF) & OpenType (OTF) Supported in Firefox 3.5+, Safari 3+, Opera 10+ Including Opera Mobile Expected in Chrome 4 Can be enabled in Chrome now with a command line switch Friday, November 6, 2009
  • 25. Embedded OpenType (EOT) Support in IE4+ TTF2EOT Command line Web services exist to make this conversion WEFT Complete and utter garbage Friday, November 6, 2009
  • 26. Getting from OTF to TTF to EOT The problem with the EOT apps is that they require a TTF and 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 Friday, November 6, 2009
  • 27. SVG 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 Friday, November 6, 2009
  • 29. Creating SVG Fonts FontForge Requires tweak to XML namespace Batik SVG may need to be cleaned up to remove extraneous data (empty nodes and attributes) Friday, November 6, 2009
  • 30. Web Open Font Format (WOFF) in Firefox 3.6 (beta 1 just released) Supported by major font foundries Friday, November 6, 2009
  • 31. Creating WOFF Files Command line tool: sfnt2woff Mac or Windows http://people.mozilla.com/~jkew/woff/ Friday, November 6, 2009
  • 32. 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'); } Friday, November 6, 2009
  • 33. All-in-one Conversion Font Squirrel provides a one step conversion process Upload TTF or OTF Provides EOT, SVG and WOFF format Does subsetting Creates example HTML and CSS Friday, November 6, 2009
  • 34. Subsetting Font files can be megabytes in size Arial Unicode MS is 23MB Many fonts are still 100K+ Friday, November 6, 2009
  • 35. Subsetting Subsetting reduces the number of glyphs in the file great for latin languages not so great for asian languages Friday, November 6, 2009
  • 37. Subsetting Gotcha 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 Friday, November 6, 2009
  • 38. 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 Friday, November 6, 2009
  • 39. Performance Firefox, Opera shows unstyled text until font downloaded (FOUT!) Blocking in IE if <script> before @font-face declaration; otherwise, unstyled until font downloaded Safari, Chrome show no text until font downloaded Opera doesn’t show the embedded font after the first page http://www.useragentman.com/blog/2009/10/09/more-font- face-fun/ http://www.stevesouders.com/blog/2009/10/13/font-face-and- performance/ Friday, November 6, 2009
  • 40. 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 Friday, November 6, 2009
  • 41. Font Embedding Services TypeKit Typotheque Kernest Friday, November 6, 2009
  • 42. Disadvantages of FES 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 Friday, November 6, 2009
  • 43. Resources FontForge http://fontforge.sourceforge.net/ Batik http://xmlgraphics.apache.org/batik/tools/font-converter.html FontSquirrel Generator http://www.fontsquirrel.com/fontface/generator Friday, November 6, 2009
  • 44. Where to get fonts FontSquirrel http://www.fontsquirrel.com/ TypeKit http://typekit.com/ Typotheque http://www.typotheque.com/ Kernest http://www.kernest.com/ Friday, November 6, 2009
  • 45. Presentation Fonts Headlines: League Gothic Free and open source; supports all manner of embedding Body: Museo Sans 500 Free and supports @font-face embedding as long as you link back to the foundry Additional weights available for sale Code: Consolas Comes with Microsoft Office Not free and requires special EOT embedding license Friday, November 6, 2009
  • 46. Questions? Hit me with your best shot. Fire away. Friday, November 6, 2009