Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

dy/css-font

Open more actions menu
 
 

Repository files navigation

css-font unstable

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

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.