So what is sIFR? Scalable Inman Flash Replacement is a Flash based module for presenting fonts the way the author intended. Not only that, sIFR allows the developer to use any font they desire. This solves the limitations of XHTML/CSS in that the developer is not limited to the fonts found on the users system. On top of that, there is no guarantee the fonts will looks the same across platforms or browsers.
The developers of sIFR wanted to eliminate the jaggy (”aliased”) bitmaps created when using Postscript typefaces. Most web fonts have been adapted for low-resolution displays giving the fonts this particular look. The other problem they were looking to eliminate is what I mentioned in the previous paragraph, which is the limitation of a small set of fonts on a users system. To fix this issue Mac OS X uses Quartz technology and Windows uses ClearType to display Postscript anti-aliased fonts.
Netscape created a feature called “Dynamic Fonts” for the user to download, but it only worked in Netscape. Microsoft created Web Embedding Fonts Tool, or WEFT, but that was only supported in Internet Explorer browsers.
So how did the developers create a compatible product for multiple browsers? They used Flash, which has a plug-in found in the majority of browsers. JavaScript is used to replace text on a page with a Flash module when the page is loaded. This does not affect any of the XHTML code keeping it valid. Of course the JavaScript detects if Flash is installed or not and does replacement accordingly. The JavaScript also uses the DOM to find the height and width it needs to replace. sIFR only scales the fonts on page load so the browser isn’t constantly reading JavaScript and replacing Flash.
sIFR might not be completely CSS valid, but there are some trade-offs for every type of implementation. Some developers use images for the text and still have text in the tags text-indented a few thousand pixels, which hide it off the screen. Most of the time that’s what I will do in my sites. It also has its arguments, which I will save for another article. In the meantime, sIFR may end up being a pretty good solution for you until there is a better way for the browser to render fonts.









