From 4bd788ffcca0e8449bb3bcd3bf820fcbef6dd02e Mon Sep 17 00:00:00 2001 From: Marcel Mraz Date: Tue, 20 Aug 2024 11:43:06 +0200 Subject: [PATCH] Support server side use cases --- packages/excalidraw/fonts/ExcalidrawFont.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/excalidraw/fonts/ExcalidrawFont.ts b/packages/excalidraw/fonts/ExcalidrawFont.ts index 468873ad03..559b4c5b3b 100644 --- a/packages/excalidraw/fonts/ExcalidrawFont.ts +++ b/packages/excalidraw/fonts/ExcalidrawFont.ts @@ -132,10 +132,16 @@ export class ExcalidrawFont implements Font { } private static async toBase64(arrayBuffer: ArrayBuffer) { - return `data:font/woff2;base64,${await stringToBase64( - await toByteString(arrayBuffer), - true, - )}`; + let base64: string; + + if (Buffer) { + // node + server-side + base64 = Buffer.from(arrayBuffer).toString("base64"); + } else { + base64 = await stringToBase64(await toByteString(arrayBuffer), true); + } + + return `data:font/woff2;base64,${base64}`; } private static createUrls(uri: string): URL[] {