codebytere / electron-font-manager

Create native cross-platform font dialogs!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

electron-font-manager

Description

$ 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'
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.

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'.
  3. The font’s weight, as a number.
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.
const fontManager = require('electron-font-manager')

// shows the font styles panel
fontManager.showFontPanel(true)

About

Create native cross-platform font dialogs!


Languages

Language:Objective-C++ 43.2%Language:JavaScript 32.2%Language:C++ 15.9%Language:Python 8.7%