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"));