ruler = {
var canvas = document.createElement('canvas'),
context = canvas.getContext('2d');
canvas.height = 0;
canvas.width = width;
function measureText(text, options) {
const { size, font } = { ...defaultOptions, ...options };
canvas.height = size + 10;
const textSize = context.measureText(text).width;
context.clearRect(0, 0, canvas.width, canvas.height);
context.font = size + 'px ' + font;
context.fillText(text, 0, size);
const textMetrics = context.measureText(text);
return (
Math.abs(textMetrics.actualBoundingBoxLeft) +
Math.abs(textMetrics.actualBoundingBoxRight)
);
}
return Object.assign(canvas, { measureText });
}