font2svg
Create a SVG subset font from a font file
var fs = ;var font2svg = ; var buf = fs; ;
Requirements
Before installing this module, you should install tx
(a part of Adobe Font Development Kit for OpenType):
The FDK requires:
Mac OSX 10.4.x or later, or Windows XP or later
After installation, run tx -v
command to check if tx
has been installed successfully.
Installation
npm install font2svg
API
var font2svg = ;
font2svg(buffer[, options], callback)
buffer
Type: Buffer
of a font file
Supported font formats depend on tx
:
Conversion of font data represented in the following formats is supported: PFA, PFB, LWFN-POST, FFIL-sfnt, OTF, TTF, TTC, and AppleSingle/Double-sfnt. sfnt-formatted fonts with header versions of the following kinds are supported: 1.0, true, ttcf, typ1, CID, and OTTO. Note that OCF is not supported by tx.
options
In addition to the following, all options for child_process.exec except for encoding
are available.
Note that maxBuffer
option is 300000000
by default, unlike the original value (200*1024
).
options.include
Type: String
or Array
of String
Default: []
The characters to be included in the SVG font subset.
options.fontFaceAttr
Type: Object
Default: {}
Set the attributes of font-face
element.
;
Every key of the object must be a valid attribute name of font-face
element.
// It throws an error because `font-weeight` is not a valid name of `font-face` element.;
options.encoding
Type: String
Default: null
Set encoding of the result (Buffer
by default).
callback(error, svgData)
error: Error
svgData: Buffer
or String
(accoding to options.encoding
)
var buf = fs; ;
CLI
You can use this module as a CLI tool by installing it globally.
npm install -g font2svg
Usage
Usage1: font2svg <src path> <dest path> --include <string>Usage2: font2svg <src path> --include <string> > <dest path>Usage3: cat <src path> | font2svg <dest path> --include <string>Usage4: cat <src path> | font2svg --include <string> > <dest path> Options:--include, -in, -i -g <string> Specify the characters to be included-- <string> Set attribute of font-face element Example: --font-weight bold --units-per-em 980 --help, -h Print usage information--version, -v Print version
Examples
font2svg src-font.otf dest-font.svg --include "foobar" --font-weight bold
cat src-font.ttf | font2svg --include "bazqux" > dest-font.svg
License
Copyright (c) 2014 Shinnosuke Watanabe
Licensed under the MIT License.