You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
902 B

'use strict';
var theTTFToWOFF2Module = require('./ttf2woff2');
module.exports = function ttf2woff2(inputContent) {
// Prepare input
var inputBuffer = theTTFToWOFF2Module._malloc(inputContent.length + 1);
var outputSizePtr = theTTFToWOFF2Module._malloc(4); // eslint-disable-line
var outputBufferPtr;
var outputSize;
var outputContent;
var i;
theTTFToWOFF2Module.writeArrayToMemory(inputContent, inputBuffer);
// Run
outputBufferPtr = theTTFToWOFF2Module.convert(
inputBuffer,
inputContent.length,
outputSizePtr,
);
// Retrieve output
outputSize = theTTFToWOFF2Module.getValue(outputSizePtr, 'i32');
outputContent = Buffer.alloc(outputSize);
for (i = 0; i < outputSize; i++) {
outputContent[i] = theTTFToWOFF2Module.getValue(outputBufferPtr + i, 'i8');
}
theTTFToWOFF2Module.freePtrs(outputBufferPtr, outputSizePtr);
return outputContent;
};