@dineshsolanki/standard-fonts
v1.2.1
Published
Metrics for the Standard 14 PDF fonts and their encodings
Downloads
10
Maintainers
Readme
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 // => { 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:
- https://unpkg.com/@pdf-lib/standard-fonts/dist/standard-fonts.js
- https://unpkg.com/@pdf-lib/standard-fonts/dist/standard-fonts.min.js
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
Original Repo's License
Copyright 2015–2018 Christopher Brown. MIT Licensed.