1.2.2 • Published 6 years ago

font-measure v1.2.2

Weekly downloads
95,682
License
MIT
Repository
github
Last release
6 years ago

font-measure unstable

Calculate metrics for a font.

npm install font-measure

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:

PropertyDefaultMeaning
origintopOrigin for metrics. Can be changed to baseline or any other metric.
fontSize64Font-size to use for calculations. Larger size gives higher precision with slower performance.
fontWeightnormalFont weight to use for calculations, eg. bold, 700 etc.
fontStylenormalFont style to use for calculations, eg. italic, oblique.
canvasmeasure.canvasCanvas to use for measurements.
tittleiCharacter to detect tittle. null disables calculation.
descentpCharacter to detect descent line. null disables calculation.
ascenthCharacter to detect ascent line. null disables calculation.
overshootOCharacter to detect overshoot. null disables calculation.
upperHCharacter to detect upper line / cap-height. null disables calculation.
lowerxCharacter to detect lower line / x-height. null disables calculation.

See also

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.

License

© 2018 Dima Yv. MIT License

Development supported by plot.ly.