Skip to content

dy/css-font

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
This branch is 16 commits ahead, 19 commits behind jednano:master.

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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%