standard-fonts
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:
- The original project did not include mappings from Unicode to WinAnsi/ZapfDingbats/Symbol encodings.
- 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
const font = Font.load(FontNames.Symbol);
const width = font.getWidthOfGlyph(glyph.name);
width
Installation
NPM Module
To install the latest stable version:
npm install --save @pdf-lib/standard-fonts
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:
import { Font, FontNames, Encodings } from '@pdf-lib/standard-fonts';
const font = Font.load(FontNames.HelveticaBold);
const encoding = Encodings.WinAnsi;
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.