diff --git a/.changeset/silent-moles-trade.md b/.changeset/silent-moles-trade.md new file mode 100644 index 000000000..aeb9e2b1b --- /dev/null +++ b/.changeset/silent-moles-trade.md @@ -0,0 +1,5 @@ +--- +'@react-pdf/font': patch +--- + +feat: remove Buffer dependency from font package diff --git a/packages/font/src/font.js b/packages/font/src/font.js index 46e1b2328..bcd3260b0 100644 --- a/packages/font/src/font.js +++ b/packages/font/src/font.js @@ -24,12 +24,9 @@ const FONT_WEIGHTS = { const fetchFont = async (src, options) => { const response = await fetch(src, options); + const data = await response.arrayBuffer(); - const buffer = await (response.buffer - ? response.buffer() - : response.arrayBuffer()); - - return buffer.constructor.name === 'Buffer' ? buffer : Buffer.from(buffer); + return new Uint8Array(data); }; const isDataUrl = dataUrl => { @@ -64,7 +61,7 @@ class FontSource { if (isDataUrl(this.src)) { const raw = this.src.split(',')[1]; this.data = fontkit.create(toUint8Array(raw), postscriptName); - } else if (BROWSER || isUrl(this.src)) { + } else if (isUrl(this.src)) { const { headers, body, method = 'GET' } = this.options; const data = await fetchFont(this.src, { method, body, headers }); this.data = fontkit.create(data, postscriptName);