JSFiddle - React, Tailwind, and code Playground
by meo
JavaScript
var TypeHelpers = function(){
var hasSmoothing,insertClasses;
hasSmoothing = function(){
if (typeof(screen.fontSmoothingEnabled) != "undefined") {
return screen.fontSmoothingEnabled;
} else {
try {
var canvasNode, ctx;
canvasNode = document.createElement('canvas');
canvasNode.width = "35";
canvasNode.height = "35"
canvasNode.style.display = 'none';
document.body.appendChild(canvasNode);
ctx = canvasNode.getContext('2d');
ctx.textBaseline = "top";
ctx.font = "32px Arial";
ctx.fillStyle = "black";
ctx.strokeStyle = "black";
ctx.fillText("O", 0, 0);
for (var j = 8; j <= 32; j++) {
for (var i = 1; i <= 32; i++) {
var imageData,alpha;
imageData = ctx.getImageData(i, j, 1, 1).data;
alpha = imageData[3];
if (alpha != 255 && alpha != 0) {
return true;
}
}
}
return false;
}
catch (ex) {
return null;
}
}
}
insertClasses = function(){
var result,htmlNode;
result = hasSmoothing();
htmlNode = document.getElementsByTagName('html')[0];
if (result == true) {
htmlNode.className += " hasFontSmoothing-true";
} else if (result == false) {
htmlNode.className += " hasFontSmoothing-false";
} else { // result == null
htmlNode.className += " hasFontSmoothing-unknown";
}
}
insertClasses();
}
TypeHelpers()