css-font

1.2.0 • Public • Published

css-font unstable Travis Build Status

Parse or stringify the CSS font property string.

Usage

npm install css-font

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

License

© 2018 Dmitry Yv. MIT License

Development supported by plot.ly.

Package Sidebar

Install

npm i css-font

Weekly Downloads

224,271

Version

1.2.0

License

MIT

Unpacked Size

11.4 kB

Total Files

7

Last publish

Collaborators

  • dfcreative