Blazingly fast measure string width in pixels on the server in Javascript (Node.Js)
String pixel width measurement on the backend in Javascript.
Why I created this package? Read more about purpose
To install the stable version:
npm install --save string-pixel-width
var pixelWidth = require('string-pixel-width');
const width = pixelWidth('My text ...', { size: 10 });
console.log('This text is ' + width + 'px long in the size of 10px.');
// This text is 43.5px long in the size of 10px.
var pixelWidth = require('string-pixel-width');
const width = pixelWidth('My text ...', { font: 'impact', size: 10 });
console.log('This text is ' + width + 'px long in the size of 10px.');
// This text is 42px long in the size of 10px.
var pixelWidth = require('string-pixel-width');
const width = pixelWidth('My text ...', { font: 'open sans', size: 10, bold: true, italic: true });
console.log('This text is ' + width + 'px long in the size of 10px.');
// This text is 47px long in the size of 10px using bold and italic proportions.
PRs are welcome :) This library uses static map of width of every ASCII letter for all supported fonts.
src/pixelWidthCalculator.html
in your editorsrc/pixelWidthCalculator.html
in Google Chrome. It should look like this:
src/widthsMap.js
Please everytime make sure you don't broke existing fonts - remove any font or broke his widths.