Skip to content

ExodusMovement/pdf-lib-standard-fonts

 
 

Repository files navigation

standard-fonts
NPM Version Prettier Badge

Collection of metrics and encodings for the standard 14 PDF fonts

This project is a fork of afm and was created for use in pdf-lib. This forks exists for two primary reasons:

  1. The original project did not include mappings from Unicode to WinAnsi/ZapfDingbats/Symbol encodings.
  2. The font metrics included in the original project were uncompressed (not ideal for usage in pdf-lib).

Usage

import { Font, FontNames, Encodings } from '@pdf-lib/standard-fonts';

const codePoint = '∑'.charCodeAt(0);

const glyph = Encodings.Symbol.encodeUnicodeCodePoint(codePoint);
glyph // => { code: 229, name: 'summation' }

const font = Font.load(FontNames.Symbol);
const width = font.getWidthOfGlyph(glyph.name);
width // => 713

Installation

NPM Module

To install the latest stable version:

# With npm
npm install --save @pdf-lib/standard-fonts

# With yarn
yarn add @pdf-lib/standard-fonts

This assumes you're using npm or yarn as your package manager.

UMD Module

You can also download @pdf-lib/standard-fonts as a UMD module from unpkg. The UMD builds have been compiled to ES5, so they should work in any modern browser. UMD builds are useful if you aren't using a package manager or module bundler. For example, you can use them directly in the <script> tag of an HTML page.

The following builds are available:

When using a UMD build, you will have access to a global window.StandardFonts variable. This variable contains the classes and enums exported by @pdf-lib/standard-fonts. For example:

// NPM module
import { Font, FontNames, Encodings } from '@pdf-lib/standard-fonts';
const font = Font.load(FontNames.HelveticaBold);
const encoding = Encodings.WinAnsi;

// UMD module
var font = StandardFonts.Font.load(StandardFonts.FontNames.HelveticaBold);
var encoding = StandardFonts.Encodings.WinAnsi;

License

MIT

Original Repo's License

Copyright 2015–2018 Christopher Brown. MIT Licensed.

About

Collection of metrics and encodings for the standard 14 PDF fonts

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 89.1%
  • JavaScript 7.4%
  • HTML 3.5%