From 33479f23c4db257912f68f24fd865e96a82e53f0 Mon Sep 17 00:00:00 2001 From: Antoine BERNIER Date: Thu, 31 Aug 2023 12:12:12 +0000 Subject: [PATCH] multiple custom fonts --- assets/Catamaran-Regular.ttf | Bin 0 -> 53164 bytes netlify/edge-functions/custom-fonts.tsx | 59 ++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 assets/Catamaran-Regular.ttf create mode 100644 netlify/edge-functions/custom-fonts.tsx diff --git a/assets/Catamaran-Regular.ttf b/assets/Catamaran-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1c139156d092f93bba76f3607cb190122078e4b7 GIT binary patch literal 53164 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 Q%YDf^FhG?35Vrom0IE{$M*si- literal 0 HcmV?d00001 diff --git a/netlify/edge-functions/custom-fonts.tsx b/netlify/edge-functions/custom-fonts.tsx new file mode 100644 index 0000000..045f171 --- /dev/null +++ b/netlify/edge-functions/custom-fonts.tsx @@ -0,0 +1,59 @@ +/** @jsxImportSource https://esm.sh/react */ + +import { ImageResponse } from "../../mod.ts"; + +type Weight = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900; +type Style = "normal" | "italic"; + +const customFonts = [ + { + familyName: "Typewriter", + ttf: "https://deno.land/x/og_edge@0.0.1/assets/TYPEWR__.TTF", + weight: 400, + style: "normal", + }, + { + familyName: "catamaran", + ttf: "https://deno.land/x/og_edge@0.0.1/assets/Catamaran-Regular.ttf", + weight: 400, + style: "normal", + }, +]; + +const fonts = Promise.all(customFonts.map(({ ttf }) => fetch(ttf).then(res) => res.arrayBuffer()))); + +export default async function handler() { + const fontsDatas = await fonts; + + const fontsOptions = fontsDatas.map((fontData, i) => ({ + name: customFonts[i].familyName, + data: fontData, + style: customFonts[i].style as Style, + weight: customFonts[i].weight as Weight, + })); + + return new ImageResponse( +
+

+ Hello world! +

+
, + { + width: 1200, + height: 630, + fonts: fontsOptions, + }, + ); +} \ No newline at end of file