fontname
v1.0.1
Published
🅰️ Parse font file (TTF, OTF) metadata like font family name.
Downloads
18,109
Maintainers
Readme
fontname
🅰️ Parse font file (TTF, OTF) metadata like font family name.
Demo
Upload a font and see the results at: https://danbovey.uk/fontname
Install
npm install fontname
yarn add fontname
Usage
FontName.parse(ArrayBuffer)
Parses an ArrayBuffer (binary data of the font from a FileReader) and returns an object with font meta. Throws on failure.
Example (browser)
import FontName from 'fontname';
const fontFile = e.target.files[0]; // File
const reader = new FileReader();
reader.onload = e => {
const buffer = e.target.result; // ArrayBuffer
try {
const fontMeta = FontName.parse(e.target.result)[0];
console.log(fontMeta);
} catch (e) {
// FontName may throw an Error
}
};
reader.readAsArrayBuffer(fontFile);
Example (node)
const fs = require('fs');
const FontName = require('fontname');
try {
const fontMeta = FontName.parse(fs.readFileSync('font.tff'))[0];
console.log(fontMeta);
} catch (e) {
// FontName may throw an Error
}
Returns
{
"copyright": "Copyright 2011 Google Inc. All Rights Reserved.",
"_lang": 0,
"fontFamily": "Roboto",
"fontSubfamily": "Regular",
"ID": "Roboto",
"fullName": "Roboto",
"version": "Version 2.137; 2017",
"postScriptName": "Roboto-Regular",
"trademark": "Roboto is a trademark of Google.",
"designer": "Google",
"urlVendor": "Google.com",
"urlDesigner": "Christian Robertson",
"licence": "Licensed under the Apache License, Version 2.0",
"licenceURL": "http://www.apache.org/licenses/LICENSE-2.0"
}
License
File parsing logic from Typr.js.