diff --git a/src/blob.ts b/src/blob.ts index 3224896..58e56ed 100644 --- a/src/blob.ts +++ b/src/blob.ts @@ -10,12 +10,13 @@ export class Blob { /** * @param data Binary font data. */ - constructor(data: ArrayBuffer) { - const blobPtr = exports.malloc(data.byteLength); - Module.HEAPU8.set(new Uint8Array(data), blobPtr); + constructor(data: Uint8Array | ArrayBuffer) { + const array = data instanceof Uint8Array ? data : new Uint8Array(data); + const blobPtr = exports.malloc(array.byteLength); + Module.HEAPU8.set(array, blobPtr); this.ptr = exports.hb_blob_create( blobPtr, - data.byteLength, + array.byteLength, 2 /* HB_MEMORY_MODE_WRITABLE */, blobPtr, freeFuncPtr,