Current Projects

CSS3 Font Converter

A command-line tool that can convert TTF and OTF fonts to all of the @font-face formats (EOT, WOFF and SVG). It supports font-weight, font-style, autohinting and reporting which OpenType font-feature-settings a given font supports.


A JavaScript library that allows developers to use advanced CSS3 properties (including transform, box-shadow, gradient and the hsl(), hsla(), and rgba() color spaces) in all modern web browsers, including those that don’t officially support them (cough, IE, cough, cough). Scripting these properties is also supported.This project is actively being improved upon to add support for more properties (perhaps even a descent implementation of border-radius in IE), so check back frequently for updates.


A JavaScript library which, when used with Modernizr and webforms2, implements a subset of the HTML5 forms specification in browsers that don’t support it yet.


Sick of hard coding values into your JavaScripts? Don’t want to use JSON to configure your scripts because it would be hard to embed HTML block into it without using + notation? Want to be able to share configuration with the client and the server by using the XML format? This JavaScript library is the answer to your prayers.


A JavaScript library intended to help developers deal with cross-browser typography differences. Currently, it can detect whether a font-smoothing technology is being employed by the user’s browser/operating system and add appropriate classes into an HTML document so developers can dictate what fonts are shown to users accordingly.


A JavaScript library that smooths out the differences between browser vendor implementations of the HTML5 Drag and Drop Specification.

No Comments

0 responses so far ↓
Give Feedback

Don't be shy! Give feedback and join the discussion.

Please Note: If you are asking for help using the information on this page or if you are reporting a bug with the code featured here, please include a URL that shows the problem you are experiencing along with the browser/version number/operating system combination where the issue manifests itself. Without this information, I may not be able to respond.

An orange star denotes a required field.