JSFiddle - React, Tailwind, and code Playground
by prozoroff
JavaScript
var canvas = document.createElement("canvas");
var canvasContext = canvas.getContext("2d");
function isFontLoaded(fontName) {
var curFontWidth = 0;
var prevFontWidth = 0;
var text = "abcdefghijklmnopqrstuvwxyz0123456789";
var fallbackFonts = ['serif', 'sans-serif', 'monospace', 'cursive', 'fantasy'];
for (var ix = 0; ix < fallbackFonts.length; ++ix) {
canvasContext.font = '72px ' + fontName + ',' + fallbackFonts[ix];
curFontWidth = canvasContext.measureText(text).width;
if (ix > 0 && curFontWidth != prevFontWidth) {
return false;
}
prevFontWidth = curFontWidth;
}
return true;
}
alert(isFontLoaded("Lucida Console"));