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

(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 

Recently uploaded (20)

(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 

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