views:

12569

answers:

10

With browser support / licensing issues of @font-face (a feature of CSS3), which intermediate option do you prefer?
Cufon,Typeface.js, or SIFR?

Cufon is new but has been getting a lot of praise from the web design community, how does it differ from Typeface.js ?

+27  A: 

I personally preffer Typeface. It's easy to use and works well. It's created using JavaScript, not both JavaScript AND Flash like sIFR, or JavaScript AND PHP like FLIR.

Typeface.js

Advantages:

  • User doesn’t have to have Flash plugin installed on their browser
  • Easier to create with just a few lines of Javascript
  • For page loading it just needs to load the Javascript

Disadvantages:

  • Text is not selectable because it outputs it like an image. I looked at some examples, right clicked on a word and had to view as an image. Every single word had this behaviour. Big thumbs down.
  • Usage for body copy will slow down loading time, so it is recommended to use only for headlines.
  • Cannot be read by screen readers
  • Visual looks blurry
  • Not all browser compliant and still has a lot of development left to be done

sIFR

Advantages:

  • Can be read by screen readers as a normal headline because it is a behaviour layer on top of the markup and styling.
  • Text is selectable
  • SEO friendly
  • Displays text as is like any other web font. Crisp and not blurry!
  • Has addons like jQuery sIFR Plugin!

Disadvantages:

  • Requires Javascript to be enabled
  • Flash plugin must be installed in the browser
  • Need Adobe Flash Studio to create it BUT there is a pretty nifty sIFR generator that creates the file for you!
  • For page loading, it has to request for Flash, Javascript and CSS files attached to it, which can potentially get bogged down if you are using sIFR in too many places.
  • Cannot display on an iPhone. Yet…

Cufón (similar to Typeface.js)

Enter Cufón, the Javascript-based font replacement solution which makes heavy use of canvas and VML. This offers a great alternative to other solutions out there - no Flash or images required.

There are some issues with using Cufón on a live site, the most notable being the inability to highlight and copy/paste text, which is really the biggest issue for your site's users.

Combine that with the EULA issues, which prevent you from being able to legally embed fonts in Javascript files for most fonts on the market today.

The other issue is knowing what fonts can be used with Cufón. For sIFR, most fonts are fair game, since the font is embedded in a Flash movie, which is typically an approved usage by most font foundries for most fonts. With Cufón, the Javascript files used for the font can be easily "stolen" and either used on another website or reverse engineered.

Koistya Navin
What you prefer is irrelevant if you don't say why.
Adam Asham
@Adam, OK, I've just explained why.
Koistya Navin
Good! I inverted my down vote. :-)
Adam Asham
How do the EULA issues differ between Cufon and the others? Surely it's not legal to embed any font in a Flash file either?
bzlm
"With Cufón, the Javascript files used for the font can be easily 'stolen'" - it can only be stolen for use with Cufon, just like sIFR fonts can be stolen for use with sIFR. What's the difference?
bzlm
Don't forget that all solutions require JavaScript, so that can't be a disadvantage to just sIFR ;-)
Mark Wubben
This is a good overview, so I'd prefer to add things here rather than in another answer.sIFR is also dynamic, so you can change text later, and it supports styling text differently inside the Flash movie. Bold text, for example, or different colors.
Mark Wubben
I've always used sIFR until yesterday when i decided to try something that isn't as painful. Cufon seems to work incredibly easily. from setup to execution!@Mark: I have had no problem styling cufon with anything i've wanted to do with sIFR and infact it was much much easier :/Regarding selecting of text. I've just tested it on a site i'm using, it seems selecting text in cufon is possible, just highlighting seems to be a little off.Font stealing can occur (although i haven't tested) you can lock a font to a domain when creating it?
Shadi Almosri
+1  A: 

The SVG/VML canvas drawing method (used by Cufon and Typeface.js) has issues with text selection in some browsers, but has very good browser support generally. It doesn't support all text properties that CSS does. Cufon currently has support for more font types and browsers than Typeface.js does; otherwise they're functionally identical.

sIFR has some issues with flickering and relies on Adobe Flash being installed and activated, but has support for all the advanced rendering options, kerning etc, that Flash has.

Which is preferable usually has to do with how the rest of the page works.

bzlm
+2  A: 

I tested all for cross browser compatibility and found sIFR but is the only Accessible, Selectable and most important Cross Browser Compatible.

metal-gear-solid
A: 

I'd roll my own - mainly just to get ClearType*esque* support

Dmitri Nesteruk
I agree, but writing a subpixel antialising font rendering engine seems like a huge undertaking, hence why all three solutions lack that feature. (Strangely, I believe this is available in flash, I'm not sure why SIFR doesn't take advantage of it)
davr
No it doesn't. I implemented it in under an hour for Silverlight: http://nesteruk.org/projects/textsvc/
Dmitri Nesteruk
And here's one I did with JavaScript/canvas: http://magnetiq.com/2008/08/05/subpixel-scrolltext-in-javascript/
Ates Goral
+5  A: 

I did a bit of a review on the three of these and found Cufon to be the best for my needs. I am more of a JavaScript based developer so my views may be slightly biased, Typeface was pretty good but had a few problems with my custom font type.

Check it out the full article here

Text replacement comparison

Good link for the comparison +1
Shadi Almosri
A: 

Personally I think they all produce ugly output, the rendering/anti-aliasing is noticeably worse than what is produced by the browser. Typeface.js is the worst, the text looks uber blurry, SIFR is the best, it's almost as good, but still missing the subpixel antialiasing. Cufon is somewhere in-between in terms of quality.

Check out this quick comparison I made, comparing the rendering of the three methods versus native browser rendering of the same text. Notice how blurry they are, due to both lacking subpixel rendering, and also I think they are lacking in hinting as well (But not 100% sure on this, I'm not font pro)

davr
Can you provide an example?
Abi Noda
sure, check out: http://davr.org/pics/font_comparison.png
davr
Well I don't agree, Cufon, in many scenarios, produces beautiful output. Here is a comparison of Cufon and Photoshop rendering quality in real case scenario: http://sidleniwiec.blogspot.com/2010/05/i-made-website-recently-using-cufon-as.html
Łukasz Korzybski
@Łukasz: I don't view websites in Photoshop, I view them in a browser. Hence I compare Cufon's rendering to my browser's rendering, which is much better. In my comparison image, notice how much sharper the rendering is, versus Cufon or others. It's a tradeoff...you get to use more fonts, but you get worse font rendering. Personally I'd prefer just using standard fonts with a better rendering, which rules out Cufon, Sifr, etc
davr
On BMW site Cufon looks really nice: http://www.bmw.pl/pl/pl/newvehicles/x/x5/2010/showroom/efficiency/index.html (heading is Cufon rendered). In your comparison, it also depends on which system you did it, it is also true that some of the smaller font sizes can be blurry in Cufon, I had to pick the sharper ones for my site.
Łukasz Korzybski
+1  A: 

sIFR

If you are merely replacing title headings and body copy elements then I'm sure sIFR would work fine but I constantly find myself using text replacement for navigation and other design elements that need very fine tuning - something I find a total disaster in sIRF.

cufon

I have yet to find some css property that cufon doesnt recognize (rollovers, backgrounds, etc.etc.) and It always sets up in a fraction of the time that sIFR or FLIR do...It just seems that cufon replaces the font, size, and position of text most naturally (and predictability)

FLIR

I've tried working with FLIR many times and have always encountered problems, mainly with serverside image libraries (GD2 / ImageMagick) being inconsistent from development to production environments - Beware!

mr.szgz
+2  A: 

If you're targeting mobile phone users too:

  • iPhones: Cufon and Typeface work but sIFR doesn't.
  • Symbian (Nokia) phones: Cufon and Typeface currently don't work, but sIFR does.
  • Blackberries: don't currently support any of the above.
  • Android phones: the latest OS (FroYo) supports Flash and therefore sIFR. Older versions should be the same as iPhones.
dave1010
A: 

I have started a comparison matrix of these different fonts solutions (@font-face vs sIFR vs typeface.js vs Cufon vs FLIR…) :

http://blog.socialcompare.com/2010/05/28/comparison-web-fonts-solutions-font-face-vs-sifr-vs-typeface-js-vs-cufon-vs-flir/

If you want to improve this public comparison, you are welcome.

SocialCompare
A: 

sIFR3 requires not only Flash Player, but Flash Player 9, for some peeps (including our company) this put it on a back foot. The reason this was important for me, is that sIFR2's line-height and spacing woes are just too finnickity to overcome with any kind of innate efficiency, so an 'upgrade to sIFR3' was the best option. Perhaps given another few days there might have been something we could've done to fix this... still unsure though I hear other continue to struggle.

Rotated text? Fairly easy in sIFR2 - I did it in a few minutes by duplicating the original sIFR2 .fla and dont_customize_me.as include, renamed them as '_vertical' variants, opened the .fla's up and simply rotated the MovieClip holding the TextField and set some new default dimensions! I should admit that I had to comment out some of the original dont_customize_me.as scaling, which is fine really because the nature of my interface wasn't relying on pliable heights - I could safely apply height layout CSS props to our replaced elements. I reckon my efforts could've been doubled to make it more flexible.

Aaaand a biggy for me was 'display:none;' content... ugh, royal PITA with sIFR2, though doable, I ended up having to apply a temporary CSS class to move the replaced elements off-screen (position:absolute;left:-10000px;) and replacing the temporary class with the intended hidden class. I never figured out if sIFR2 had a replace() callback, which is ideally where I should've switched classes, but time and budget made me do the switch whenever my hidden elements were revealed.. it worked but.. ho hum.

Cufon on the other hand, replaced correctly, didn't flicker when following the clear guidelines, and IE6 seemed to have a few issues with leaving the VML replacement layers in the same position when the DOM is manipulated around the replaced elements (like revealing 'display:none;' content), I foudn this to be inconsistent, and sometimes setting 'position:relative' on the replaced element.. worked?. I did also notice that the 'selection area' on a elements in IE8 is fragmented, the cursor flickers between pointer and default between words (there's most likely a more refined, rational explanation of this effect out there...).

Danjah