Current File : /home/tradevaly/www/node_modules/fontkit/src/base.js |
import r from 'restructure';
const fs = require('fs');
var fontkit = {};
export default fontkit;
fontkit.logErrors = false;
let formats = [];
fontkit.registerFormat = function(format) {
formats.push(format);
};
fontkit.openSync = function(filename, postscriptName) {
let buffer = fs.readFileSync(filename);
return fontkit.create(buffer, postscriptName);
};
fontkit.open = function(filename, postscriptName, callback) {
if (typeof postscriptName === 'function') {
callback = postscriptName;
postscriptName = null;
}
fs.readFile(filename, function(err, buffer) {
if (err) { return callback(err); }
try {
var font = fontkit.create(buffer, postscriptName);
} catch (e) {
return callback(e);
}
return callback(null, font);
});
return;
};
fontkit.create = function(buffer, postscriptName) {
for (let i = 0; i < formats.length; i++) {
let format = formats[i];
if (format.probe(buffer)) {
let font = new format(new r.DecodeStream(buffer));
if (postscriptName) {
return font.getFont(postscriptName);
}
return font;
}
}
throw new Error('Unknown font format');
};
fontkit.defaultLanguage = 'en';
fontkit.setDefaultLanguage = function(lang = 'en') {
fontkit.defaultLanguage = lang;
};