fontscan
v0.3.3
Published
Get font list in specified directory(default system fonts).
Readme
fontscan
Get font list in specified directory(default system fonts).
This project respect font-manager.
cf.
||fontscan|font-manager| |---|---|---| |native|No, only JS|Yes, made with C| |custom directories|Yes, you can|No, only system fonts| |accuracy|Not good|Good| |speed|Slow|Fast|
Usage
Get system fonts.
const fontscan = require('fontscan');
console.log(await fontscan.getFontList());
// output
[
FontDescriptor {
path: 'C:\\Windows\\Fonts\\AGENCYB.TTF',
postscriptName: 'AgencyFB-Bold',
family: 'Agency FB',
monospace: false,
width: 3,
weight: 700,
italic: false,
style: 'Bold'
},
FontDescriptor {
path: 'C:\\Windows\\Fonts\\AGENCYR.TTF',
postscriptName: 'AgencyFB-Reg',
family: 'Agency FB',
monospace: false,
width: 3,
weight: 400,
italic: false,
style: 'Regular'
},
... more items ]Fonts in specified directory.
Note: We recommend that you do not specify the root directory, as custom directories are searched recursively.
const fonts = await fontscan.getDirectoryFonts('/Library/Fonts');
const fonts = await fontscan.getDirectoriesFonts([
`C:\\Users\\${username}\\Fonts`,
`D:\\Fonts`
]);API
fontscan
fontscan.getFontList(options?): Promise<FontDescriptor[]>
Get fontdescriptors that installed and in specified directories.
optionscustomDirectoriesstring[]- default:
[]
onlyCustomDirectoriesboolean- default:
false
fontscan.getDescriptorFromPaths(fontPaths): Promise<FontDescriptor[]>
Get fontdescriptors that specified files.
fontPathsstring[]
fontscan.getDirectoryFonts(dirPath): Promise<FontDescriptor[]>
Get fontdescriptors that in specified directory.
dirPathstring
fontscan.getDirectoriesFonts(dirPaths): Promise<FontDescriptor[]>
Get fontdescriptors that in specified directories.
dirPathsstring[]
fontscan.getInstalledFonts(): Promise<FontDescriptor[]>
Get fontdescriptors that installed.
FontDescriptor
Font descriptor has basic font informations.
Properties
path: stringfamily: stringpostscriptName: stringwidth: number- detail microsoft document
weight: number- detail microsoft document
style: string- e.g.
Regular,Bold,Italic,Bold italic
- e.g.
italic: booleanmonospace: boolean
Contribution
- Fork
- Create a feature branch
- Commit your changes
- Rebase your local changes against the master branch
- Run test suite with the
npm testcommand and confirm that it passes - Create new Pull Request
Please tell me if my English is wrong
