Skip to content

eqyiel/node-woff2

Repository files navigation

node-woff2

This is just a Node.js wrapper around Google's excellent woff2 utility.

Usage

If you're using npm:

npm install --save-dev woff2

Alternatively you can clone this repo and run npm install. Be sure to get the submodule dependency (use the --recursive flag when cloning). Note that you can't install directly from this repo because npm doesn't understand submodules.

Special thanks

nfroidure wrote a wrapper that converts TTF to WOFF2. I wanted something that could encode and decode though, so I recycled his bindings.gyp file, and the file ./src/woff2_encode.cc is more or less straight from his repository. In respect for his work this wrapper is also under the MIT license.

API Reference

woff2 : object

Kind: global namespace

woff2.decode ⇒ Buffer

Convert WOFF2 data to TTF.

Kind: static property of woff2
Returns: Buffer - Decoded TTF data.

Param Type Description
data Buffer WOFF2 data to be decoded.

Example

var woff2 = require('woff2');
var input = fs.readFileSync('something.woff2');
var output = 'output.ttf';
fs.writeFileSync(output, woff2.decode(input));

woff2.encode ⇒ Buffer

Convert TTF data to WOFF2.

Kind: static property of woff2
Returns: Buffer - Encoded WOFF2 data.

Param Type Description
data Buffer TTF font data to be encoded.

Example

var woff2 = require('woff2');
var input = fs.readFileSync('something.ttf');
var output = 'output.woff2';
fs.writeFileSync(output, woff2.encode(input));

Hacking

In order to use the development env, install Nix and run nix-shell in the root of this repo. You will be dropped into a shell with the project's dependencies installed.