1.2.0 • Published 6 years ago

css-font v1.2.0

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

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:

PropertyMeaning
styleFont-style detected by css-font-style-keywords.
variantFont-variant, one of normal or small-caps.
weightFont-weight detected by css-font-weight-keywords.
stretchFont-stretch detected by css-font-stretch-keywords.
sizeFont-size detected by css-font-size-keywords.
lineHeightLine-height value.
familyFont-family array of values.

str = font.stringify(obj)

Return string from the object with font properties by the CSS font syntax.

Stringified properties:

PropertyMeaning
style, fontStyle, distrinctionFont-style value.
variant, fontVariant, capitalizationFont-variant value, one of normal or small-caps.
weight, fontWeightFont-weight value, one of the set of weights (see above).
stretch, fontStretch, widthFont-stretch value, one of the set (see above).
size fontSize, heightFont-size value, number or a string. Number is considered a px units. If undefined, 1rem is used.
lineHeight, leadingLine-height value, number or string. Number is considered a unitless ratio value.
family, fontFamily, faceFont-family, string or a list with strings. Not default strings are wrapped to quotes.
systemReserved 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.