#system #fonts #figma

bin+lib libfonthelper

Reads fonts in passed directories and return objects of fonts for Figma Font Helper

17 releases

0.3.4 Oct 11, 2021
0.3.3 Oct 11, 2021
0.2.9-beta.0 Sep 6, 2020
0.2.4 Dec 30, 2019
0.1.4 Aug 25, 2019

#80 in Filesystem

Download history 7/week @ 2021-07-04 5/week @ 2021-07-11 29/week @ 2021-07-18 21/week @ 2021-07-25 28/week @ 2021-08-01 8/week @ 2021-08-08 22/week @ 2021-08-15 5/week @ 2021-08-22 33/week @ 2021-08-29 8/week @ 2021-09-05 4/week @ 2021-09-12 6/week @ 2021-09-19 23/week @ 2021-09-26 26/week @ 2021-10-03 70/week @ 2021-10-10 8/week @ 2021-10-17

75 downloads per month

GPL-2.0-only

11KB
71 lines

Description

This module find (by mask: \.(tt[fc]|otf|pfb)) and combine all fonts from the passed directories. And returns IFonts object of fonts of next structure:

interface IFontsFigmaItem {
	postscript: string;
	family: string;
	id: string;
	style?: string;
	weight?: number;
	stretch?: number;
	italic?: boolean;
}

interface IFonts {
	[path: string]: Array<IFontsFigmaItem>
}

Example:

{ '/usr/share/fonts/opentype/stix/STIXVariants-Bold.otf':
   [ { postscript: 'STIXVariants-Bold',
       family: 'STIXVariants',
       id: 'STIXVariants',
       style: 'Bold',
       weight: 400,
       stretch: 5,
       italic: false } ],
  '/usr/share/fonts/opentype/stix/STIXIntegralsUpSm-Bold.otf':
   [ { postscript: 'STIXIntegralsUpSm-Bold',
       family: 'STIXIntegralsUpSm',
       id: 'STIXIntegralsUpSm',
       style: 'Bold',
       weight: 400,
       stretch: 5,
       italic: false } ],
  '/usr/share/fonts/opentype/stix/STIXNonUnicode-Regular.otf':
   [ { postscript: 'STIXNonUnicode-Regular',
       family: 'STIXNonUnicode',
       id: 'STIXNonUnicode',
       style: 'Regular',
       weight: 400,
       stretch: 5,
       italic: false } ],
  '/usr/share/fonts/opentype/stix/STIXSizeFourSym-Regular.otf':
   [ { postscript: 'STIXSizeFourSym-Regular',
       family: 'STIXSizeFourSym',
       id: 'STIXSizeFourSym',
       style: 'Regular',
       weight: 400,
       stretch: 5,
       italic: false } ],
  '/usr/share/fonts/opentype/noto/NotoSansCJK-DemiLight.ttc':
   [ { postscript: 'NotoSansCJKjp-DemiLight',
       family: 'Noto Sans CJK JP',
       id: 'Noto Sans CJK JP',
       style: 'DemiLight',
       weight: 400,
       stretch: 5,
       italic: false },
     { postscript: 'NotoSansCJKkr-DemiLight',
       family: 'Noto Sans CJK KR',
       id: 'Noto Sans CJK KR',
       style: 'DemiLight',
       weight: 400,
       stretch: 5,
       italic: false },
     { postscript: 'NotoSansCJKsc-DemiLight',
       family: 'Noto Sans CJK SC',
       id: 'Noto Sans CJK SC',
       style: 'DemiLight',
       weight: 400,
       stretch: 5,
       italic: false },
     { postscript: 'NotoSansCJKtc-DemiLight',
       family: 'Noto Sans CJK TC',
       id: 'Noto Sans CJK TC',
       style: 'DemiLight',
       weight: 400,
       stretch: 5,
       italic: false } ],
  '/usr/share/fonts/opentype/noto/NotoSansCJK-Thin.ttc':
   [ { postscript: 'NotoSansCJKjp-Thin',
       family: 'Noto Sans CJK JP',
       id: 'Noto Sans CJK JP',
       style: 'Thin',
       weight: 400,
       stretch: 5,
       italic: false },
     { postscript: 'NotoSansCJKkr-Thin',
       family: 'Noto Sans CJK KR',
       id: 'Noto Sans CJK KR',
       style: 'Thin',
       weight: 400,
       stretch: 5,
       italic: false },
     { postscript: 'NotoSansCJKsc-Thin',
       family: 'Noto Sans CJK SC',
       id: 'Noto Sans CJK SC',
       style: 'Thin',
       weight: 400,
       stretch: 5,
       italic: false },
     { postscript: 'NotoSansCJKtc-Thin',
       family: 'Noto Sans CJK TC',
       id: 'Noto Sans CJK TC',
       style: 'Thin',
       weight: 400,
       stretch: 5,
       italic: false } ] }

Usage

Dependencies

~1.1–1.6MB
~43K SLoC