Self-host font

This commit is contained in:
Kalle 2026-08-06 17:34:30 +03:00
parent 81cb406f1e
commit 04460d56d1
4 changed files with 41 additions and 8 deletions

View File

@ -34,6 +34,7 @@ import * as NotificationRepository from "~/features/notifications/NotificationRe
import { NOTIFICATIONS } from "~/features/notifications/notifications-contants";
import { resolveSidebarData } from "~/features/sidebar/core/sidebar.server";
import { useDebounce } from "~/hooks/useDebounce";
import lexendLatinUrl from "~/styles/fonts/lexend-latin.woff2?url";
import type { SendouRouteHandle } from "~/utils/remix.server";
import type { Route } from "./+types/root";
import { Catcher } from "./components/Catcher";
@ -79,6 +80,7 @@ export const middleware: Route.MiddlewareFunction[] = [
i18nMiddleware,
];
import "~/styles/fonts.css";
import "~/styles/vars.css";
import "~/styles/normalize.css";
import "~/styles/common.css";
@ -481,14 +483,13 @@ function HydrationTestIndicator() {
function Fonts() {
return (
<>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="" />
<link
href="https://fonts.googleapis.com/css2?family=Lexend:wght@400;500;600;700&display=swap"
rel="stylesheet"
/>
</>
<link
rel="preload"
href={lexendLatinUrl}
as="font"
type="font/woff2"
crossOrigin="anonymous"
/>
);
}

32
app/styles/fonts.css Normal file
View File

@ -0,0 +1,32 @@
/*
Lexend variable font, self-hosted. The weight range is capped at 700 to match
`--weight-extra`, so `font-weight: bolder` keeps clamping there as it did when
the four static weights were requested from Google Fonts.
The vietnamese subset is intentionally omitted: no locale uses it.
*/
@font-face {
font-family: "Lexend";
font-style: normal;
font-weight: 400 700;
font-display: swap;
src: url("./fonts/lexend-latin.woff2") format("woff2");
unicode-range:
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: "Lexend";
font-style: normal;
font-weight: 400 700;
font-display: swap;
src: url("./fonts/lexend-latin-ext.woff2") format("woff2");
unicode-range:
U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
U+A720-A7FF;
}

Binary file not shown.

Binary file not shown.