Skip to content

Instantly share code, notes, and snippets.

@sx
Created February 17, 2012 21:44
Show Gist options
  • Save sx/1855636 to your computer and use it in GitHub Desktop.
Save sx/1855636 to your computer and use it in GitHub Desktop.
Test if a font is loaded on a client machine.
function testFont(name) {
name = name.replace(/['"<>]/g,'');
var body = document.body,
test = document.createElement('div'),
installed = false,
template =
'<b style="display:inline !important; width:auto !important; font:normal 10px/1 \'X\',sans-serif !important">ii</b>'+
'<b style="display:inline !important; width:auto !important; font:normal 10px/1 \'X\',monospace !important">ii</b>',
ab;
if (name) {
test.innerHTML = template.replace(/X/g, name);
test.style.cssText = 'position: absolute; visibility: hidden; display: block !important';
body.insertBefore(test, body.firstChild);
ab = test.getElementsByTagName('b');
installed = ab[0].offsetWidth === ab[1].offsetWidth;
body.removeChild(test);
}
return installed;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment