From 063704fa0df309971fbb3d89954b08a037e0167f Mon Sep 17 00:00:00 2001 From: Evan Date: Wed, 29 Apr 2026 16:19:56 -0600 Subject: [PATCH] Use OpenFront font for version (#3795) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Description: Screenshot 2026-04-29 at 4 18 23 PM ## Please complete the following: - [x] I have added screenshots for all UI updates - [x] I process any text displayed to the user through translateText() and I've added it to the en.json file - [x] I have added relevant tests to the test directory - [x] I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced ## Please put your Discord username so you can be contacted if a bug or regression is found: evan --- proprietary/fonts/OpenFront.ttf | Bin 0 -> 6008 bytes src/client/Main.ts | 9 +++++++++ src/client/styles.css | 1 + 3 files changed, 10 insertions(+) create mode 100644 proprietary/fonts/OpenFront.ttf diff --git a/proprietary/fonts/OpenFront.ttf b/proprietary/fonts/OpenFront.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4425bcdc5a73fbb3e45d76642c9e0f4bee7eb2bf GIT binary patch literal 6008 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 {}); + const versionElements = document.querySelectorAll( "#game-version, .game-version-display", ); @@ -275,6 +283,7 @@ class Client { const trimmed = version.trim(); const displayVersion = trimmed.startsWith("v") ? trimmed : `v${trimmed}`; versionElements.forEach((el) => { + (el as HTMLElement).style.fontFamily = '"OpenFront", Inter, sans-serif'; el.textContent = displayVersion; }); } diff --git a/src/client/styles.css b/src/client/styles.css index 4232caf91..a7549e6e1 100644 --- a/src/client/styles.css +++ b/src/client/styles.css @@ -6,6 +6,7 @@ @theme { --default-ring-width: 3px; --default-ring-color: var(--color-malibu-blue); + --font-display: "OpenFront", Inter, Arial, sans-serif; /* Openfront.io brand palette — see Openfront_Brand_Guidelines.pdf §4 */ --color-malibu-blue: #0084d1;