css-font
v1.2.0
Published
Parse or stringify CSS font property.
Downloads
792,704
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 test
This 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.