https://github.com/codebytere/electron-font-manager
Create native cross-platform font dialogs!
https://github.com/codebytere/electron-font-manager
Last synced: 3 months ago
JSON representation
Create native cross-platform font dialogs!
- Host: GitHub
- URL: https://github.com/codebytere/electron-font-manager
- Owner: codebytere
- Created: 2019-08-26T02:34:28.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-08-01T00:47:16.000Z (over 2 years ago)
- Last Synced: 2025-02-01T14:13:51.325Z (about 1 year ago)
- Language: Objective-C++
- Size: 60.5 KB
- Stars: 21
- Watchers: 2
- Forks: 4
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# electron-font-manager
## Description
```js
$ npm i electron-font-manager
```
This native Node.js module allows you to manipulate fonts on different OSes.
*Here there be (some) dragons - this is a work in progress. Please try out with caution.*
## API
### fontManager.getAvailableFonts([params]) **_macOS_**
* `params` Object (optional)
* `traits` Array - An array of strings specifying what traits to filter the available system fonts for; must be one of: 'bold', 'compressed', 'condensed', 'expanded', 'fixedPitch', 'italic', 'narrow', 'nonStandardCharacterSet', 'poster', 'smallCaps', 'unbold', 'unitalic'.
Returns the names of the fonts available in the system.
These pairs of traits are mutually exclusive:
* 'condensed' and 'expanded'
* 'bold' and 'unbold'
* 'italic' and 'unitalic'
```js
const { getAvailableFonts } = require('electron-font-manager')
const availableFonts = getAvailableFonts({
traits: ['bold', 'italic', 'condensed']
})
console.log(availableFonts)
/* prints:
[
'AvenirNextCondensed-DemiBoldItalic',
'AvenirNextCondensed-BoldItalic',
'AvenirNextCondensed-HeavyItalic'
]
*/
```
### fontManager.getAvailableFontFamilies() **_Windows_ _macOS_**
Returns Array - the names of the font families available in the system.
```js
const { getAvailableFontFamilies } = require('electron-font-manager')
const availableFontFamilies = getAvailableFontFamilies()
console.log(availableFontFamilies)
/* prints:
[
'Al Bayan',
'Al Nile',
'Al Tarikh',
'American Typewriter',
'Andale Mono',
'Arial',
... 241 more items
]
*/
```
### fontManager.getAvailableMembersOfFontFamily(fontFamily) **_macOS_**
* `family` String - The name of a font family, like one returned in `availableFontFamilies()`.
Returns Array - an array with one array entry for each available member of a font family.
Each entry of the returned array is another array with three members, as follows:
1. The font name, as a string.
2. The part of the font name used in the font panel that’s not the font name, as a string. This value is not localized—for example, 'Roman', 'Italic', or 'Bold'.
2. The font’s weight, as a number.
```js
const fontManager = require('electron-font-manager')
const members = fontManager.getAvailableMembersOfFontFamily('Times')
console.log(members)
/* prints:
[
['Times-Roman', 'Roman', 5],
['Times-Italic', 'Italic', 6],
['Times-Bold', 'Bold', 9],
['Times-BoldItalic', 'Bold Italic', 9]
]
*/
```
### fontManager.showFontPanel(showStyles) **_Linux_ _macOS_**
* `showStyles` Boolean (**_macOS_**) - whether to open the font styles panel or the regular font panel.
```js
const fontManager = require('electron-font-manager')
// shows the font styles panel
fontManager.showFontPanel(true)
```