npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ttfautohint

v1.3.0

Published

TTFAutohint wrapper for Node JS

Downloads

87

Readme

node-ttfautohint Build Status

TTFAutohint wrapper for Node JS.

Key Features

  • Standalone (no global dependency)
  • Stream API
  • Compilation process (if no precompiled online)

Highlights

  • Type strict as possible (ESLint)
  • ES7
  • Functional

Module Interface

The class implements stream.Transformer.

Install

$ npm i ttfautohint

Usage

Stream API

import TTFAutohint from 'ttfautohint';
 
const i = fs.createReadStream('/source/font.ttf');
const o = fs.createWriteStream('/target/font-compiled.ttf');
 
// TTFAutohintOptions can be passed
 
const t = new TTFAutohint();
 
i.pipe(t).pipe(o);

Buffer API

import TTFAutohint from 'ttfautohint';
 
const i = fs.readFileSync('/source/font.ttf');
 
// TTFAutohintOptions can be passed as the second argument
 
const o = TTFAutohint.transform(i);

File API

import TTFAutohint from 'ttfautohint';
  
const i = '/source/font.ttf';
const o = '/target/font.compiled.ttf';
 
// TTFAutohintOptions can be passed as the third argument
 
// If there is no output path provided, then compiles to the source folder 
// with suffix
 
// Creates non-existing target directories
 
TTFAutohint.compile(i, o);

Options

You can configure compilation by an optionally passed Object argument.

extended: boolean = false

Add subglyph adjustment for exotic fonts.

size: number = 16

The default font-size (x-height) to optimize for.

icon: boolean = false

For icon-fonts we apply a special font-size metrics and configuration, thus if set to true, the following options will be ignored:

  • extended
  • min
  • max
  • size

info: boolean = true

Add TTFAutohint version string to the name table of the font.

hintingLimit: number = 2048

Maximum PPEM value.

min: number = 12

The minimum font-size to optimize for.

max: number = 48

The maximum font-size to optimize for.

reference: string

Absolute path to an optional reference TTF/TTC font where missing blue-zones can be derived from.

Console Interface

Install

$ npm i -g ttfautohint

Usage

If you install the package globally, NPM will hook it to the ttfautohint command and you can use it just like the original.

$ ttfautohint [OPTION]... [IN-FILE [OUT-FILE]]

Configuration

Configuration can be easily changed from your project root, like this:

$ npm config set ttfautohint:[option] [value]

repository: string

The remote repository where precompiled binaries are come from. Every binary must support both x86 and x64 architectures and follow this URL pattern:

  • process.platform
  • npm-config: version
  • ttfautohint

Windows binaries must be suffixed by .exe.

version: string

Version of the precompiled TTFAutohint.

force-compile: boolean

If set to true, the install process skips looking for precompiled binaries.

License

MIT © 2018, Székely Ádám