diff --git a/packages/ui/src/assets/fonts/BlexMonoNerdFontMono-Bold.woff2 b/packages/ui/src/assets/fonts/BlexMonoNerdFontMono-Bold.woff2
new file mode 100644
index 0000000000..b441202d1c
Binary files /dev/null and b/packages/ui/src/assets/fonts/BlexMonoNerdFontMono-Bold.woff2 differ
diff --git a/packages/ui/src/assets/fonts/BlexMonoNerdFontMono-Medium.woff2 b/packages/ui/src/assets/fonts/BlexMonoNerdFontMono-Medium.woff2
new file mode 100644
index 0000000000..d726b57c5c
Binary files /dev/null and b/packages/ui/src/assets/fonts/BlexMonoNerdFontMono-Medium.woff2 differ
diff --git a/packages/ui/src/assets/fonts/BlexMonoNerdFontMono-Regular.woff2 b/packages/ui/src/assets/fonts/BlexMonoNerdFontMono-Regular.woff2
new file mode 100644
index 0000000000..8c8a38b91b
Binary files /dev/null and b/packages/ui/src/assets/fonts/BlexMonoNerdFontMono-Regular.woff2 differ
diff --git a/packages/ui/src/assets/fonts/CaskaydiaCoveNerdFontMono-Bold.woff2 b/packages/ui/src/assets/fonts/CaskaydiaCoveNerdFontMono-Bold.woff2
new file mode 100644
index 0000000000..3593e5459d
Binary files /dev/null and b/packages/ui/src/assets/fonts/CaskaydiaCoveNerdFontMono-Bold.woff2 differ
diff --git a/packages/ui/src/assets/fonts/CaskaydiaCoveNerdFontMono-Regular.woff2 b/packages/ui/src/assets/fonts/CaskaydiaCoveNerdFontMono-Regular.woff2
new file mode 100644
index 0000000000..51c850980c
Binary files /dev/null and b/packages/ui/src/assets/fonts/CaskaydiaCoveNerdFontMono-Regular.woff2 differ
diff --git a/packages/ui/src/assets/fonts/FiraCodeNerdFontMono-Bold.woff2 b/packages/ui/src/assets/fonts/FiraCodeNerdFontMono-Bold.woff2
new file mode 100644
index 0000000000..7dad0b8aea
Binary files /dev/null and b/packages/ui/src/assets/fonts/FiraCodeNerdFontMono-Bold.woff2 differ
diff --git a/packages/ui/src/assets/fonts/FiraCodeNerdFontMono-Regular.woff2 b/packages/ui/src/assets/fonts/FiraCodeNerdFontMono-Regular.woff2
new file mode 100644
index 0000000000..7134c34f7d
Binary files /dev/null and b/packages/ui/src/assets/fonts/FiraCodeNerdFontMono-Regular.woff2 differ
diff --git a/packages/ui/src/assets/fonts/GeistMonoNerdFontMono-Bold.woff2 b/packages/ui/src/assets/fonts/GeistMonoNerdFontMono-Bold.woff2
new file mode 100644
index 0000000000..5346900dc2
Binary files /dev/null and b/packages/ui/src/assets/fonts/GeistMonoNerdFontMono-Bold.woff2 differ
diff --git a/packages/ui/src/assets/fonts/GeistMonoNerdFontMono-Medium.woff2 b/packages/ui/src/assets/fonts/GeistMonoNerdFontMono-Medium.woff2
new file mode 100644
index 0000000000..dafeb37795
Binary files /dev/null and b/packages/ui/src/assets/fonts/GeistMonoNerdFontMono-Medium.woff2 differ
diff --git a/packages/ui/src/assets/fonts/GeistMonoNerdFontMono-Regular.woff2 b/packages/ui/src/assets/fonts/GeistMonoNerdFontMono-Regular.woff2
new file mode 100644
index 0000000000..e8df6f452a
Binary files /dev/null and b/packages/ui/src/assets/fonts/GeistMonoNerdFontMono-Regular.woff2 differ
diff --git a/packages/ui/src/assets/fonts/HackNerdFontMono-Bold.woff2 b/packages/ui/src/assets/fonts/HackNerdFontMono-Bold.woff2
new file mode 100644
index 0000000000..e883f43308
Binary files /dev/null and b/packages/ui/src/assets/fonts/HackNerdFontMono-Bold.woff2 differ
diff --git a/packages/ui/src/assets/fonts/HackNerdFontMono-Regular.woff2 b/packages/ui/src/assets/fonts/HackNerdFontMono-Regular.woff2
new file mode 100644
index 0000000000..d4d3c10926
Binary files /dev/null and b/packages/ui/src/assets/fonts/HackNerdFontMono-Regular.woff2 differ
diff --git a/packages/ui/src/assets/fonts/InconsolataNerdFontMono-Bold.woff2 b/packages/ui/src/assets/fonts/InconsolataNerdFontMono-Bold.woff2
new file mode 100644
index 0000000000..dd2583aafb
Binary files /dev/null and b/packages/ui/src/assets/fonts/InconsolataNerdFontMono-Bold.woff2 differ
diff --git a/packages/ui/src/assets/fonts/InconsolataNerdFontMono-Regular.woff2 b/packages/ui/src/assets/fonts/InconsolataNerdFontMono-Regular.woff2
new file mode 100644
index 0000000000..b33b80592c
Binary files /dev/null and b/packages/ui/src/assets/fonts/InconsolataNerdFontMono-Regular.woff2 differ
diff --git a/packages/ui/src/assets/fonts/IntoneMonoNerdFontMono-Bold.woff2 b/packages/ui/src/assets/fonts/IntoneMonoNerdFontMono-Bold.woff2
new file mode 100644
index 0000000000..a433eb5f6c
Binary files /dev/null and b/packages/ui/src/assets/fonts/IntoneMonoNerdFontMono-Bold.woff2 differ
diff --git a/packages/ui/src/assets/fonts/IntoneMonoNerdFontMono-Regular.woff2 b/packages/ui/src/assets/fonts/IntoneMonoNerdFontMono-Regular.woff2
new file mode 100644
index 0000000000..37d5560ba8
Binary files /dev/null and b/packages/ui/src/assets/fonts/IntoneMonoNerdFontMono-Regular.woff2 differ
diff --git a/packages/ui/src/assets/fonts/JetBrainsMonoNerdFontMono-Bold.woff2 b/packages/ui/src/assets/fonts/JetBrainsMonoNerdFontMono-Bold.woff2
new file mode 100644
index 0000000000..4d671d1db4
Binary files /dev/null and b/packages/ui/src/assets/fonts/JetBrainsMonoNerdFontMono-Bold.woff2 differ
diff --git a/packages/ui/src/assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff2 b/packages/ui/src/assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff2
new file mode 100644
index 0000000000..5b6a7ec08f
Binary files /dev/null and b/packages/ui/src/assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff2 differ
diff --git a/packages/ui/src/assets/fonts/MesloLGSNerdFontMono-Bold.woff2 b/packages/ui/src/assets/fonts/MesloLGSNerdFontMono-Bold.woff2
new file mode 100644
index 0000000000..c301f79220
Binary files /dev/null and b/packages/ui/src/assets/fonts/MesloLGSNerdFontMono-Bold.woff2 differ
diff --git a/packages/ui/src/assets/fonts/MesloLGSNerdFontMono-Regular.woff2 b/packages/ui/src/assets/fonts/MesloLGSNerdFontMono-Regular.woff2
new file mode 100644
index 0000000000..b855fcda7b
Binary files /dev/null and b/packages/ui/src/assets/fonts/MesloLGSNerdFontMono-Regular.woff2 differ
diff --git a/packages/ui/src/assets/fonts/RobotoMonoNerdFontMono-Bold.woff2 b/packages/ui/src/assets/fonts/RobotoMonoNerdFontMono-Bold.woff2
new file mode 100644
index 0000000000..ea83b3deea
Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMonoNerdFontMono-Bold.woff2 differ
diff --git a/packages/ui/src/assets/fonts/RobotoMonoNerdFontMono-Regular.woff2 b/packages/ui/src/assets/fonts/RobotoMonoNerdFontMono-Regular.woff2
new file mode 100644
index 0000000000..750fe71c59
Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMonoNerdFontMono-Regular.woff2 differ
diff --git a/packages/ui/src/assets/fonts/SauceCodeProNerdFontMono-Bold.woff2 b/packages/ui/src/assets/fonts/SauceCodeProNerdFontMono-Bold.woff2
new file mode 100644
index 0000000000..c1b3e4e70b
Binary files /dev/null and b/packages/ui/src/assets/fonts/SauceCodeProNerdFontMono-Bold.woff2 differ
diff --git a/packages/ui/src/assets/fonts/SauceCodeProNerdFontMono-Regular.woff2 b/packages/ui/src/assets/fonts/SauceCodeProNerdFontMono-Regular.woff2
new file mode 100644
index 0000000000..be8f60a6fb
Binary files /dev/null and b/packages/ui/src/assets/fonts/SauceCodeProNerdFontMono-Regular.woff2 differ
diff --git a/packages/ui/src/assets/fonts/UbuntuMonoNerdFontMono-Bold.woff2 b/packages/ui/src/assets/fonts/UbuntuMonoNerdFontMono-Bold.woff2
new file mode 100644
index 0000000000..3466efea9e
Binary files /dev/null and b/packages/ui/src/assets/fonts/UbuntuMonoNerdFontMono-Bold.woff2 differ
diff --git a/packages/ui/src/assets/fonts/UbuntuMonoNerdFontMono-Regular.woff2 b/packages/ui/src/assets/fonts/UbuntuMonoNerdFontMono-Regular.woff2
new file mode 100644
index 0000000000..2132a437b5
Binary files /dev/null and b/packages/ui/src/assets/fonts/UbuntuMonoNerdFontMono-Regular.woff2 differ
diff --git a/packages/ui/src/assets/fonts/cascadia-code-nerd-font-bold.woff2 b/packages/ui/src/assets/fonts/cascadia-code-nerd-font-bold.woff2
new file mode 120000
index 0000000000..91c8c42965
--- /dev/null
+++ b/packages/ui/src/assets/fonts/cascadia-code-nerd-font-bold.woff2
@@ -0,0 +1 @@
+CaskaydiaCoveNerdFontMono-Bold.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/cascadia-code-nerd-font.woff2 b/packages/ui/src/assets/fonts/cascadia-code-nerd-font.woff2
new file mode 120000
index 0000000000..f5e9388925
--- /dev/null
+++ b/packages/ui/src/assets/fonts/cascadia-code-nerd-font.woff2
@@ -0,0 +1 @@
+CaskaydiaCoveNerdFontMono-Regular.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/fira-code-nerd-font-bold.woff2 b/packages/ui/src/assets/fonts/fira-code-nerd-font-bold.woff2
new file mode 120000
index 0000000000..40ea06ea1f
--- /dev/null
+++ b/packages/ui/src/assets/fonts/fira-code-nerd-font-bold.woff2
@@ -0,0 +1 @@
+FiraCodeNerdFontMono-Bold.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/fira-code-nerd-font.woff2 b/packages/ui/src/assets/fonts/fira-code-nerd-font.woff2
new file mode 120000
index 0000000000..92b5675aeb
--- /dev/null
+++ b/packages/ui/src/assets/fonts/fira-code-nerd-font.woff2
@@ -0,0 +1 @@
+FiraCodeNerdFontMono-Regular.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/geist-mono-bold.woff2 b/packages/ui/src/assets/fonts/geist-mono-bold.woff2
new file mode 120000
index 0000000000..46aa615675
--- /dev/null
+++ b/packages/ui/src/assets/fonts/geist-mono-bold.woff2
@@ -0,0 +1 @@
+GeistMonoNerdFontMono-Bold.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/geist-mono-medium.woff2 b/packages/ui/src/assets/fonts/geist-mono-medium.woff2
new file mode 120000
index 0000000000..62b2ed3ddd
--- /dev/null
+++ b/packages/ui/src/assets/fonts/geist-mono-medium.woff2
@@ -0,0 +1 @@
+GeistMonoNerdFontMono-Medium.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/geist-mono.woff2 b/packages/ui/src/assets/fonts/geist-mono.woff2
deleted file mode 100644
index 6c2f194c70..0000000000
Binary files a/packages/ui/src/assets/fonts/geist-mono.woff2 and /dev/null differ
diff --git a/packages/ui/src/assets/fonts/geist-mono.woff2 b/packages/ui/src/assets/fonts/geist-mono.woff2
new file mode 120000
index 0000000000..0b57cb92fe
--- /dev/null
+++ b/packages/ui/src/assets/fonts/geist-mono.woff2
@@ -0,0 +1 @@
+GeistMonoNerdFontMono-Regular.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/hack-nerd-font-bold.woff2 b/packages/ui/src/assets/fonts/hack-nerd-font-bold.woff2
new file mode 120000
index 0000000000..e5083df956
--- /dev/null
+++ b/packages/ui/src/assets/fonts/hack-nerd-font-bold.woff2
@@ -0,0 +1 @@
+HackNerdFontMono-Bold.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/hack-nerd-font.woff2 b/packages/ui/src/assets/fonts/hack-nerd-font.woff2
new file mode 120000
index 0000000000..935746196c
--- /dev/null
+++ b/packages/ui/src/assets/fonts/hack-nerd-font.woff2
@@ -0,0 +1 @@
+HackNerdFontMono-Regular.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/ibm-plex-mono-bold.woff2 b/packages/ui/src/assets/fonts/ibm-plex-mono-bold.woff2
new file mode 120000
index 0000000000..f31cff001f
--- /dev/null
+++ b/packages/ui/src/assets/fonts/ibm-plex-mono-bold.woff2
@@ -0,0 +1 @@
+BlexMonoNerdFontMono-Bold.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/ibm-plex-mono-medium.woff2 b/packages/ui/src/assets/fonts/ibm-plex-mono-medium.woff2
new file mode 120000
index 0000000000..50487e3c28
--- /dev/null
+++ b/packages/ui/src/assets/fonts/ibm-plex-mono-medium.woff2
@@ -0,0 +1 @@
+BlexMonoNerdFontMono-Medium.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/ibm-plex-mono.woff2 b/packages/ui/src/assets/fonts/ibm-plex-mono.woff2
deleted file mode 100644
index 2553571d82..0000000000
Binary files a/packages/ui/src/assets/fonts/ibm-plex-mono.woff2 and /dev/null differ
diff --git a/packages/ui/src/assets/fonts/ibm-plex-mono.woff2 b/packages/ui/src/assets/fonts/ibm-plex-mono.woff2
new file mode 120000
index 0000000000..b47b298530
--- /dev/null
+++ b/packages/ui/src/assets/fonts/ibm-plex-mono.woff2
@@ -0,0 +1 @@
+BlexMonoNerdFontMono-Regular.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/inconsolata-nerd-font-bold.woff2 b/packages/ui/src/assets/fonts/inconsolata-nerd-font-bold.woff2
new file mode 120000
index 0000000000..8842341649
--- /dev/null
+++ b/packages/ui/src/assets/fonts/inconsolata-nerd-font-bold.woff2
@@ -0,0 +1 @@
+InconsolataNerdFontMono-Bold.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/inconsolata-nerd-font.woff2 b/packages/ui/src/assets/fonts/inconsolata-nerd-font.woff2
new file mode 120000
index 0000000000..61f898cab8
--- /dev/null
+++ b/packages/ui/src/assets/fonts/inconsolata-nerd-font.woff2
@@ -0,0 +1 @@
+InconsolataNerdFontMono-Regular.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/intel-one-mono-nerd-font-bold.woff2 b/packages/ui/src/assets/fonts/intel-one-mono-nerd-font-bold.woff2
new file mode 120000
index 0000000000..d0970396de
--- /dev/null
+++ b/packages/ui/src/assets/fonts/intel-one-mono-nerd-font-bold.woff2
@@ -0,0 +1 @@
+IntoneMonoNerdFontMono-Bold.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/intel-one-mono-nerd-font.woff2 b/packages/ui/src/assets/fonts/intel-one-mono-nerd-font.woff2
new file mode 120000
index 0000000000..ebb75f7348
--- /dev/null
+++ b/packages/ui/src/assets/fonts/intel-one-mono-nerd-font.woff2
@@ -0,0 +1 @@
+IntoneMonoNerdFontMono-Regular.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/jetbrains-mono-nerd-font-bold.woff2 b/packages/ui/src/assets/fonts/jetbrains-mono-nerd-font-bold.woff2
new file mode 120000
index 0000000000..d8f9792864
--- /dev/null
+++ b/packages/ui/src/assets/fonts/jetbrains-mono-nerd-font-bold.woff2
@@ -0,0 +1 @@
+JetBrainsMonoNerdFontMono-Bold.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/jetbrains-mono-nerd-font.woff2 b/packages/ui/src/assets/fonts/jetbrains-mono-nerd-font.woff2
new file mode 120000
index 0000000000..e78e08a9f4
--- /dev/null
+++ b/packages/ui/src/assets/fonts/jetbrains-mono-nerd-font.woff2
@@ -0,0 +1 @@
+JetBrainsMonoNerdFontMono-Regular.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/meslo-lgs-nerd-font-bold.woff2 b/packages/ui/src/assets/fonts/meslo-lgs-nerd-font-bold.woff2
new file mode 120000
index 0000000000..ecccdfb564
--- /dev/null
+++ b/packages/ui/src/assets/fonts/meslo-lgs-nerd-font-bold.woff2
@@ -0,0 +1 @@
+MesloLGSNerdFontMono-Bold.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/meslo-lgs-nerd-font.woff2 b/packages/ui/src/assets/fonts/meslo-lgs-nerd-font.woff2
new file mode 120000
index 0000000000..83aaf40425
--- /dev/null
+++ b/packages/ui/src/assets/fonts/meslo-lgs-nerd-font.woff2
@@ -0,0 +1 @@
+MesloLGSNerdFontMono-Regular.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/roboto-mono-nerd-font-bold.woff2 b/packages/ui/src/assets/fonts/roboto-mono-nerd-font-bold.woff2
new file mode 120000
index 0000000000..9f250bb52b
--- /dev/null
+++ b/packages/ui/src/assets/fonts/roboto-mono-nerd-font-bold.woff2
@@ -0,0 +1 @@
+RobotoMonoNerdFontMono-Bold.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/roboto-mono-nerd-font.woff2 b/packages/ui/src/assets/fonts/roboto-mono-nerd-font.woff2
new file mode 120000
index 0000000000..17f3aa403d
--- /dev/null
+++ b/packages/ui/src/assets/fonts/roboto-mono-nerd-font.woff2
@@ -0,0 +1 @@
+RobotoMonoNerdFontMono-Regular.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/source-code-pro-nerd-font-bold.woff2 b/packages/ui/src/assets/fonts/source-code-pro-nerd-font-bold.woff2
new file mode 120000
index 0000000000..70b65ed06d
--- /dev/null
+++ b/packages/ui/src/assets/fonts/source-code-pro-nerd-font-bold.woff2
@@ -0,0 +1 @@
+SauceCodeProNerdFontMono-Bold.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/source-code-pro-nerd-font.woff2 b/packages/ui/src/assets/fonts/source-code-pro-nerd-font.woff2
new file mode 120000
index 0000000000..5503219c4d
--- /dev/null
+++ b/packages/ui/src/assets/fonts/source-code-pro-nerd-font.woff2
@@ -0,0 +1 @@
+SauceCodeProNerdFontMono-Regular.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/ubuntu-mono-nerd-font-bold.woff2 b/packages/ui/src/assets/fonts/ubuntu-mono-nerd-font-bold.woff2
new file mode 120000
index 0000000000..c4c87b522d
--- /dev/null
+++ b/packages/ui/src/assets/fonts/ubuntu-mono-nerd-font-bold.woff2
@@ -0,0 +1 @@
+UbuntuMonoNerdFontMono-Bold.woff2
\ No newline at end of file
diff --git a/packages/ui/src/assets/fonts/ubuntu-mono-nerd-font.woff2 b/packages/ui/src/assets/fonts/ubuntu-mono-nerd-font.woff2
new file mode 120000
index 0000000000..1d58e90fb2
--- /dev/null
+++ b/packages/ui/src/assets/fonts/ubuntu-mono-nerd-font.woff2
@@ -0,0 +1 @@
+UbuntuMonoNerdFontMono-Regular.woff2
\ No newline at end of file
diff --git a/packages/ui/src/components/font.tsx b/packages/ui/src/components/font.tsx
index b69139c0fe..7e4b77b1cf 100644
--- a/packages/ui/src/components/font.tsx
+++ b/packages/ui/src/components/font.tsx
@@ -1,6 +1,106 @@
import { Style, Link } from "@solidjs/meta"
import inter from "../assets/fonts/inter.woff2"
-import ibmPlexMono from "../assets/fonts/ibm-plex-mono.woff2"
+import ibmPlexMonoRegular from "../assets/fonts/ibm-plex-mono.woff2"
+import ibmPlexMonoMedium from "../assets/fonts/ibm-plex-mono-medium.woff2"
+import ibmPlexMonoBold from "../assets/fonts/ibm-plex-mono-bold.woff2"
+
+import cascadiaCode from "../assets/fonts/cascadia-code-nerd-font.woff2"
+import cascadiaCodeBold from "../assets/fonts/cascadia-code-nerd-font-bold.woff2"
+import firaCode from "../assets/fonts/fira-code-nerd-font.woff2"
+import firaCodeBold from "../assets/fonts/fira-code-nerd-font-bold.woff2"
+import hack from "../assets/fonts/hack-nerd-font.woff2"
+import hackBold from "../assets/fonts/hack-nerd-font-bold.woff2"
+import inconsolata from "../assets/fonts/inconsolata-nerd-font.woff2"
+import inconsolataBold from "../assets/fonts/inconsolata-nerd-font-bold.woff2"
+import intelOneMono from "../assets/fonts/intel-one-mono-nerd-font.woff2"
+import intelOneMonoBold from "../assets/fonts/intel-one-mono-nerd-font-bold.woff2"
+import jetbrainsMono from "../assets/fonts/jetbrains-mono-nerd-font.woff2"
+import jetbrainsMonoBold from "../assets/fonts/jetbrains-mono-nerd-font-bold.woff2"
+import mesloLgs from "../assets/fonts/meslo-lgs-nerd-font.woff2"
+import mesloLgsBold from "../assets/fonts/meslo-lgs-nerd-font-bold.woff2"
+import robotoMono from "../assets/fonts/roboto-mono-nerd-font.woff2"
+import robotoMonoBold from "../assets/fonts/roboto-mono-nerd-font-bold.woff2"
+import sourceCodePro from "../assets/fonts/source-code-pro-nerd-font.woff2"
+import sourceCodeProBold from "../assets/fonts/source-code-pro-nerd-font-bold.woff2"
+import ubuntuMono from "../assets/fonts/ubuntu-mono-nerd-font.woff2"
+import ubuntuMonoBold from "../assets/fonts/ubuntu-mono-nerd-font-bold.woff2"
+
+type MonoFont = {
+ family: string
+ regular: string
+ bold: string
+}
+
+export const MONO_NERD_FONTS = [
+ {
+ family: "JetBrains Mono Nerd Font",
+ regular: jetbrainsMono,
+ bold: jetbrainsMonoBold,
+ },
+ {
+ family: "Fira Code Nerd Font",
+ regular: firaCode,
+ bold: firaCodeBold,
+ },
+ {
+ family: "Cascadia Code Nerd Font",
+ regular: cascadiaCode,
+ bold: cascadiaCodeBold,
+ },
+ {
+ family: "Hack Nerd Font",
+ regular: hack,
+ bold: hackBold,
+ },
+ {
+ family: "Source Code Pro Nerd Font",
+ regular: sourceCodePro,
+ bold: sourceCodeProBold,
+ },
+ {
+ family: "Inconsolata Nerd Font",
+ regular: inconsolata,
+ bold: inconsolataBold,
+ },
+ {
+ family: "Roboto Mono Nerd Font",
+ regular: robotoMono,
+ bold: robotoMonoBold,
+ },
+ {
+ family: "Ubuntu Mono Nerd Font",
+ regular: ubuntuMono,
+ bold: ubuntuMonoBold,
+ },
+ {
+ family: "Intel One Mono Nerd Font",
+ regular: intelOneMono,
+ bold: intelOneMonoBold,
+ },
+ {
+ family: "Meslo LGS Nerd Font",
+ regular: mesloLgs,
+ bold: mesloLgsBold,
+ },
+] satisfies MonoFont[]
+
+const monoNerdCss = MONO_NERD_FONTS.map(
+ (font) => `
+ @font-face {
+ font-family: "${font.family}";
+ src: url("${font.regular}") format("woff2");
+ font-display: swap;
+ font-style: normal;
+ font-weight: 400;
+ }
+ @font-face {
+ font-family: "${font.family}";
+ src: url("${font.bold}") format("woff2");
+ font-display: swap;
+ font-style: normal;
+ font-weight: 700;
+ }`,
+).join("")
export const Font = () => {
return (
@@ -23,10 +123,24 @@ export const Font = () => {
}
@font-face {
font-family: "IBM Plex Mono";
- src: url("${ibmPlexMono}") format("woff2-variations");
+ src: url("${ibmPlexMonoRegular}") format("woff2");
font-display: swap;
font-style: normal;
- font-weight: 400 700;
+ font-weight: 400;
+ }
+ @font-face {
+ font-family: "IBM Plex Mono";
+ src: url("${ibmPlexMonoMedium}") format("woff2");
+ font-display: swap;
+ font-style: normal;
+ font-weight: 500;
+ }
+ @font-face {
+ font-family: "IBM Plex Mono";
+ src: url("${ibmPlexMonoBold}") format("woff2");
+ font-display: swap;
+ font-style: normal;
+ font-weight: 700;
}
@font-face {
font-family: "IBM Plex Mono Fallback";
@@ -36,9 +150,10 @@ export const Font = () => {
descent-override: 25%;
line-gap-override: 1%;
}
+${monoNerdCss}
`}
-
+
>
)
}