Skip to content

dy/css-font

 
 

Repository files navigation

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

Similar

License

© 2018 Dmitry Yv. MIT License

Development supported by plot.ly.

About

Parses or stringifies CSS font

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%