Text Replacement Roundup: The Pros and Cons of SIFR, Cufon, Typeface.js, and FLIR

Post pobrano z: Text Replacement Roundup: The Pros and Cons of SIFR, Cufon, Typeface.js, and FLIR

Those of you who have explored rich typography solutions for web development should be very familiar with the different techniques floating around the Internet. Until majority of the population uses browsers that support CSS3, and until commercial font licensing issues allow use of the @font-face rule to become a norm, many resort to these font embedding techniques.

The thing with non-standard font embedding techniques is that they mostly rely on JavaScript and sometimes Flash or PHP to render text in whatever custom font is specified. Thus, choosing the right solution for a web project can become tricky. This article aims to compare them by listing the pros and cons of each technique.

Scalable Inman Flash Replacement (sIFR) / sIFR 3

Probably one of the first full-blown text replacement solutions, SIFR uses a combination of JavaScript, CSS, and Flash to render custom fonts.

Pros:

  • Fully accessible to screen readers and assistive technology
  • Partially selectable text (cannot select surrounding elements)
  • jQuery integration
  • Anti-aliasing results in crisp font rendering
  • Flash-based font embedding is generally an allowable practice by most font foundries
  • Easy to add text effects such as shadows in Flash

Cons:

  • Requires Flash
  • CPU and memory intensive
  • Font license restrictions can be difficult to set up (e.g. Flash loading needs to be locked to your domain)
  • Can be tricky to set up
  • Embedded fonts cannot be printed

Cufon

Cufón aims to become a worthy alternative to sIFR, which despite its merits still remains painfully tricky to set up and use.
Pros:

  • Easy to set up
  • Does not require Flash
  • Fastest loading and processing time (according to this presentation)

Cons:

  • Inability to highlight and copy/paste text
  • License issues prevent many fonts from being legally embedded
  • Does not support justified text alignment
  • Hover state for elements other than links might result to unpredictable results
  • Requires extra JavaScript to prevent FOUC on IE7

Typeface.js

Typeface.js is similar to Cufon, using a JavaScript engine to render fonts on a browser using canvas or VML.

Pros:

  • Easy to set up
  • Does not require Flash
  • Fast loading and processing time

Cons:

  • Fonts are only selectable in browsers that support <canvas>
  • Hover state is not supported, but a workaround that requires extra code is available
  • License issues prevent many fonts from being legally embedded
  • Long loading times in IE
  • Only supports TTF (does not support .otf, PFB, and postscript fonts)
  • Requires extra JavaScript to prevent FOUC on IE7
  • Has spacing issues, according to some people

Facelift Image Replacement (FLIR)

Facelift Image Replacement (or FLIR, pronounced fleer) is an image replacement script that uses JavaScript, PHP and the GD library to dynamically generates image representations of text that use custom fonts.
Pros:

  • Does not require Flash or JavaScript
  • Fonts are rendered as an image and does not violate font licensing terms
  • Many text effects available thanks to Imagemagick

Cons:

  • Inability to highlight and copy/paste text
  • Can be painful to set up
  • Requires a web server with PHP and the GD library enabled
  • Finer details of fonts are not rendered very well by the GD library
  • Takes up additional server resources to process (bandwidth and CPU)

The good thing about these techniques is that they all take into account things like accessibility, SEO readiness, and browser support. These are all huge factors in web development today. For Internet Explorer users, IE6 is supported at least, and for non-supported browsers, thankfully every one of them degrades gracefully into your standard HTML rendered text.

In conclusion, every one of these techniques has its own set of advantages and disadvantages. sIFR is the oldest and most “proven method”, however it relies on both Flash and JavaScript thus taking a hit on performance. FLIR uses the old school technique of replacing text with images and even offers text effects. However, it is hardest to set up and requires a web server with PHP and the GD library enabled.

Typeface and Cufon are the most promising beign the easiest to setup. On the other hand they are both plagued with licensing issues and lack of ability to select text, which for many can be a deal breaker. This appears to be changing though, as Type Select builds on top of typface.js and promises text selection functionality. Still, it is a relatively new player and is also plagued by limitations such as lack of support in IE and no support for :hover and line breaks.

Share

5 Great CSS Techniques To Improve Your Website

Post pobrano z: 5 Great CSS Techniques To Improve Your Website

CSS or Cascading Style Sheets is normally used to separate the style and layout of your HTML files from the actual content. However, few are aware of the added value that CSS can give to your website. Aside from the obvious ones like style standardization, CSS can be utilized to provide other useful stuff not possible with table-based layouts.

Among these benefits are things like:

Much information about these techniques can be found on the web. Below are some example implementations.

Server bandwidth reduction

CSS Optimization can translate to huge savings in server bandwidth, resulting in lower operational costs.

This article compares some of the best CSS optimizers available on the web by using heavy traffic websites like Digg and Slashdot as an example.

Media type formatting

By utilizing the CSS media attribute, you can easily control display for different media types. This is best used when formatting websites for mobile display and creating printer-friendly pages.

Here is a good tutorial that covers CSS development for mobile browsers. For techniques related to print styling, refer to this tutorial, another tutorial, and this article by Eric Meyer.

Menu overlapping

The CSS z-index property specifies the order an element is stacked, similar to how layers are arranged in Adobe Photoshop. It is also relatively easy to understand, and can be quite powerful when used correctly. It can also come in handy when creating overlapping menus. Here is a very good tutorial on how this can be done.

Styling of form elements

In a previous article we linked to Jeff Howden’s CSS-Only, tableless forms article which gives an example of what can be accomplished with CSS form styling.

Then, there’s also The Form Assembly, a CSS Zen Garden clone for showcasing form designs.

E-mail address obfuscation

When displaying an e-mail address on a website you obviously want to obfuscate it to avoid it getting harvested by spammers. There are many ways to accomplish this, and one such method can easily be implemented in CSS. Silvan Mühlemann tested nine methods and published a test page for spambots to harvest. 1.5 years later the results are out and surprisingly, only the CSS methods resulted in absolutely zero spam.

Share