#Techniques for Anti-Aliasing @font-face on Windows
It all started with an email from a client: Do these fonts look funky to you? The title is prickly.
The font in question was Port Lligat Sans from Google Web Fonts.
#Techniques for Anti-Aliasing @font-face on Windows
It all started with an email from a client: Do these fonts look funky to you? The title is prickly.
The font in question was Port Lligat Sans from Google Web Fonts.
| /* Following canvas-based Perlin generation code originates from | |
| * iron_wallaby's code at: http://www.ozoneasylum.com/30982 | |
| */ | |
| function randomNoise(canvas, x, y, width, height, alpha) { | |
| x = x || 0; | |
| y = y || 0; | |
| width = width || canvas.width; | |
| height = height || canvas.height; | |
| alpha = alpha || 255; | |
| var g = canvas.getContext("2d"), |
| define(function(){ | |
| var instance = null; | |
| function MySingleton(){ | |
| if(instance !== null){ | |
| throw new Error("Cannot instantiate more than one MySingleton, use MySingleton.getInstance()"); | |
| } | |
| this.initialize(); | |
| } |
| // browser history with HTML5 support | |
| (function() { | |
| var loc = window.location, | |
| pushSupport = !!(window.history && window.history.pushState), | |
| hashStrip = /^#*/; | |
| // add HTML5 support to Backbone.history, drop the old IE stuff | |
| _.extend(Backbone.History.prototype, { | |
| getFragment : function(l) { |
| /** | |
| * jQuery.support.cssProperty | |
| * To verify that a CSS property is supported | |
| * (or any of its browser-specific implementations) | |
| * | |
| * @param p css property name | |
| * @param rp optional, if set to true, the css property name will be returned | |
| * instead of a boolean support indicator | |
| * @return {mixed} | |
| * |
| // Ported from Stefan Gustavson's java implementation | |
| // http://staffwww.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf | |
| // Read Stefan's excellent paper for details on how this code works. | |
| // | |
| // Sean McCullough banksean@gmail.com | |
| /** | |
| * You can pass in a random number generator object if you like. | |
| * It is assumed to have a random() method. | |
| */ |