css-font
v1.2.0
Published
Parse or stringify CSS font property.
Maintainers
Readme
css-font

Parse or stringify the CSS font property string.
Usage
var font = require('css-font');
var obj = font.parse('small-caps 1rem/1.2 "Roboto Condensed", sans-serif');
/*
{
size: '1rem',
lineHeight: 1.2,
variant: 'small-caps',
family: ['Roboto Condensed', 'sans-serif']
}
*/
font.stringify(obj)
// '1rem "Roboto Condensed", sans-serif'See the tests for more scenarios.
API
obj = font.parse(str)
Return object with font properties from the CSS font string. Detected properties:
Property | Meaning
---|---
style | Font-style detected by css-font-style-keywords.
variant | Font-variant, one of normal or small-caps.
weight | Font-weight detected by css-font-weight-keywords.
stretch | Font-stretch detected by css-font-stretch-keywords.
size | Font-size detected by css-font-size-keywords.
lineHeight | Line-height value.
family | Font-family array of values.
str = font.stringify(obj)
Return string from the object with font properties by the CSS font syntax.
Stringified properties:
Property | Meaning
---|---
style, fontStyle, distrinction | Font-style value.
variant, fontVariant, capitalization | Font-variant value, one of normal or small-caps.
weight, fontWeight | Font-weight value, one of the set of weights (see above).
stretch, fontStretch, width | Font-stretch value, one of the set (see above).
size fontSize, height | Font-size value, number or a string. Number is considered a px units. If undefined, 1rem is used.
lineHeight, leading | Line-height value, number or string. Number is considered a unitless ratio value.
family, fontFamily, face | Font-family, string or a list with strings. Not default strings are wrapped to quotes.
system | Reserved system word.
Testing
$ npm testThis will run tests and generate a code coverage report. Anything less than 100% coverage will throw an error.
Acknowledgement
- Jed Mao for parse-css-font and set of related CSS packages.
License
© 2018 Dmitry Yv. MIT License
Development supported by plot.ly.

