Unpack the capsize font metrics directly from a font file.
npm install @capsizecss/unpack
Takes a file blob and returns the resolved font metrics.
import { fromBlob } from '@capsizecss/unpack';
const metrics = await fromBlob(file);
Takes a url string and returns the resolved font metrics.
import { fromUrl } from '@capsizecss/unpack';
const metrics = await fromUrl(url);
Takes a file path string and returns the resolved font metrics.
import { fromFile } from '@capsizecss/unpack';
const metrics = await fromFile(filePath);
All of the above APIs accept an optional second parameter with the following options:
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',
});
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) |
- 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.
MIT.