diff --git a/src/sh2.less b/src/sh2.less index 0e625954..e8d79d55 100644 --- a/src/sh2.less +++ b/src/sh2.less @@ -30,6 +30,7 @@ @soft-blue: #729fcf; +/* @font-face { font-family: 'JetBrains Mono'; font-style: normal; @@ -38,7 +39,6 @@ url('../static/fonts/jetbrains-mono-v13-latin-200.woff2') format('woff2'), url('../static/fonts/jetbrains-mono-v13-latin-200.woff') format('woff'); } -/* jetbrains-mono-regular - latin */ @font-face { font-family: 'JetBrains Mono'; font-style: normal; @@ -47,7 +47,6 @@ url('../static/fonts/jetbrains-mono-v13-latin-regular.woff2') format('woff2'), url('../static/fonts/jetbrains-mono-v13-latin-regular.woff') format('woff'); } -/* jetbrains-mono-700 - latin */ @font-face { font-family: 'JetBrains Mono'; font-style: normal; @@ -56,6 +55,7 @@ url('../static/fonts/jetbrains-mono-v13-latin-700.woff2') format('woff2'), url('../static/fonts/jetbrains-mono-v13-latin-700.woff') format('woff'); } +*/ .mono-font(@size: inherit, @weight: inherit) { font-family: 'JetBrains Mono', monospace; diff --git a/src/sh2.ts b/src/sh2.ts index f2560eea..913a42b1 100644 --- a/src/sh2.ts +++ b/src/sh2.ts @@ -11,13 +11,29 @@ import {v4 as uuidv4} from "uuid"; // @ts-ignore let VERSION = __SHVERSION__; +let jbmFontNormal = new FontFace("JetBrains Mono", "url('static/fonts/jetbrains-mono-v13-latin-regular.woff2')", {style: "normal", weight: "400"}); +let jbmFont200 = new FontFace("JetBrains Mono", "url('static/fonts/jetbrains-mono-v13-latin-200.woff2')", {style: "normal", weight: "200"}); +let jbmFont700 = new FontFace("JetBrains Mono", "url('static/fonts/jetbrains-mono-v13-latin-700.woff2')", {style: "normal", weight: "700"}); +let loadPromise = document.fonts.add(jbmFontNormal); +document.fonts.add(jbmFont200); +document.fonts.add(jbmFont700); +jbmFontNormal.load(); +jbmFont200.load(); +jbmFont700.load(); + document.addEventListener("DOMContentLoaded", () => { let reactElem = React.createElement(Main, null, null); let elem = document.getElementById("app"); let root = createRoot(elem); - setTimeout(() => { + let isFontLoaded = document.fonts.check("12px 'JetBrains Mono'"); + if (isFontLoaded) { root.render(reactElem); - }, 500); + } + else { + document.fonts.ready.then(() => { + root.render(reactElem); + }); + } }); (window as any).mobx = mobx;