Skip to content

Latest commit

 

History

History
97 lines (66 loc) · 5.73 KB

README.md

File metadata and controls

97 lines (66 loc) · 5.73 KB

Capsize


@capsizecss/unpack

Unpack the capsize font metrics directly from a font file.

npm install @capsizecss/unpack

Usage

fromBlob

Takes a file blob and returns the resolved font metrics.

import { fromBlob } from '@capsizecss/unpack';

const metrics = await fromBlob(file);

fromUrl

Takes a url string and returns the resolved font metrics.

import { fromUrl } from '@capsizecss/unpack';

const metrics = await fromUrl(url);

fromFile

Takes a file path string and returns the resolved font metrics.

import { fromFile } from '@capsizecss/unpack';

const metrics = await fromFile(filePath);

Options

All of the above APIs accept an optional second parameter with the following options:

postscriptName

Capsize can extract the metrics for a single font from a TrueType Collection (TTC) file by providing the postscriptName.

import { fromFile } from '@capsizecss/unpack';

const metrics = await fromFile('AvenirNext.ttc', {
  postscriptName: 'AvenirNext-Bold',
});

Font metrics

The font metrics object returned contains the following properties:

Property Type Description
familyName string The font’s family name as authored by font creator
fullName string The font’s full name as authored by font creator
postscriptName string The font’s unique PostScript name as authored by font creator
category string The style of the font: serif, sans-serif, monospace, display, or handwriting.
capHeight number The height of capital letters above the baseline
ascent number The height of the ascenders above baseline
descent number The descent of the descenders below baseline
lineGap number The amount of space included between lines
unitsPerEm number The size of the font’s internal coordinate grid
xHeight number The height of the main body of lower case letters above baseline
xWidthAvg number The average width of character glyphs in the font for the selected unicode subset. Calculated based on character frequencies in written text, falling back to the built in xAvgCharWidth from the OS/2 table.
subsets {
[subset]: { xWidthAvg: number }
}
A lookup of the xWidthAvg metric by subset (see supported subsets)

Thanks

  • Devon Govett for creating Fontkit, which does all the heavy lifting of extracting the font metrics under the covers.
  • SEEK for giving us the space to do interesting work.

License

MIT.