node-font-measure
v0.0.6
Published
Calculate metrics of a font
Downloads
19
Maintainers
Readme
node-font-measure
Calculate metrics for a font in NodeJS.
let measure = requrie('font-measure')
measure('Roboto')
/*
{
top: 0,
median: 0.640625,
middle: 0.640625,
bottom: 1.3125,
alphabetic: 1.03125,
baseline: 1.03125,
upper: 0.328125,
lower: 0.515625,
capHeight: 0.703125,
xHeight: 0.515625
ascent: 0.28125,
descent: 1.234375,
hanging: 0.203125,
ideographic: 1.296875,
lineHeight: 1.3125,
overshoot: 0.015625,
tittle: 0.28125,
}
*/
API
let metrics = measure(family, options?)
Get metrics data for a font family or CSS font string, possibly with custom options. Font can be a string or an array with fonts.
metrics
:
options
:
Property | Default | Meaning
---|---|---
origin
| top
| Origin for metrics. Can be changed to baseline
or any other metric.
fontSize
| 64
| Font-size to use for calculations. Larger size gives higher precision with slower performance.
fontWeight
| normal
| Font weight to use for calculations, eg. bold
, 700
etc.
fontStyle
| normal
| Font style to use for calculations, eg. italic
, oblique
.
canvas
| measure.canvas
| Canvas to use for measurements.
tittle
| i
| Character to detect tittle. null
disables calculation.
descent
| p
| Character to detect descent line. null
disables calculation.
ascent
| h
| Character to detect ascent line. null
disables calculation.
overshoot
| O
| Character to detect overshoot. null
disables calculation.
upper
| H
| Character to detect upper line / cap-height. null
disables calculation.
lower
| x
| Character to detect lower line / x-height. null
disables calculation.
text
| mmmmmmmmmmlli
| String to meaureText
See also
- optical-properties − calculate image/character optical center and bounding box.
- detect-kerning − calculate kerning pairs for a font.
Related
There are many text / font measuring packages for the moment, but most of them don't satisfy basic quality requirements. Special thanks to @soulwire for fontmetrics as model implementation.