From 3359ee7457c46e26d3604a2ad39886f8b25d0d93 Mon Sep 17 00:00:00 2001 From: sawka Date: Mon, 9 Oct 2023 22:29:05 -0700 Subject: [PATCH] jetbrains for terminal font. restore font loading. remove fractional font size. set line-height to 1.5 (not 20px). fix terminal size calculation. --- .../fonts/jetbrains-mono-v13-latin-200.woff2 | Bin 0 -> 21012 bytes .../fonts/jetbrains-mono-v13-latin-700.woff2 | Bin 0 -> 21080 bytes .../jetbrains-mono-v13-latin-regular.woff2 | Bin 0 -> 20388 bytes src/app/app.less | 13 +++++++++---- src/app/line/lines.less | 2 ++ src/index.less | 1 + src/index.ts | 12 +++++++++++- src/plugins/terminal/term.ts | 1 + src/plugins/terminal/terminal.tsx | 2 +- src/util/util.ts | 18 +++++++++--------- 10 files changed, 34 insertions(+), 15 deletions(-) create mode 100644 public/fonts/jetbrains-mono-v13-latin-200.woff2 create mode 100644 public/fonts/jetbrains-mono-v13-latin-700.woff2 create mode 100644 public/fonts/jetbrains-mono-v13-latin-regular.woff2 diff --git a/public/fonts/jetbrains-mono-v13-latin-200.woff2 b/public/fonts/jetbrains-mono-v13-latin-200.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d23f9b05b27d94f5b966317feecbe2fe082ee8c1 GIT binary patch literal 21012 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ޑh*?#+x%b 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 Y&B9J*k;|*6e>lA5I*cAK4q##c0O6>QGXMYp literal 0 HcmV?d00001 diff --git a/public/fonts/jetbrains-mono-v13-latin-700.woff2 b/public/fonts/jetbrains-mono-v13-latin-700.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5737b146ef1ceec9adf352946f3b1aeead2c3fec GIT binary patch literal 21080 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 literal 0 HcmV?d00001 diff --git a/public/fonts/jetbrains-mono-v13-latin-regular.woff2 b/public/fonts/jetbrains-mono-v13-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..de8b746b8142015e0156b76ccf4952b998968d50 GIT binary patch literal 20388 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 literal 0 HcmV?d00001 diff --git a/src/app/app.less b/src/app/app.less index 6436aac1..29711a42 100644 --- a/src/app/app.less +++ b/src/app/app.less @@ -15,9 +15,9 @@ html, body { overflow: hidden; font-family: @fixed-font; - font-size: 12.5px; + font-size: 12px; font-weight: 300; - line-height: 20px; + line-height: 1.5; background: @base-background-transparent; color: @base-color; } @@ -29,9 +29,9 @@ body.is-dev { textarea { overflow: hidden; font-family: @fixed-font; - font-size: 12.5px; + font-size: 12px; font-weight: 300; - line-height: 20px; + line-height: 1.5; background: @base-background; color: @base-color; } @@ -234,10 +234,15 @@ a.a-block { position: absolute; z-index: -1; top: -5000px; + line-height: normal; .pre { white-space: pre; } + + .mono { + font-family: @terminal-font; + } } .text-button { diff --git a/src/app/line/lines.less b/src/app/line/lines.less index 6f3e8e9c..1787d859 100644 --- a/src/app/line/lines.less +++ b/src/app/line/lines.less @@ -96,6 +96,8 @@ } .terminal-wrapper { + line-height: normal; + &.zero-height { padding: 0; margin: 0; diff --git a/src/index.less b/src/index.less index 86907cf9..14f36174 100644 --- a/src/index.less +++ b/src/index.less @@ -52,3 +52,4 @@ // @font-face declaration lives in app.less @fixed-font: "Martian Mono", sans-serif; +@terminal-font: "JetBrains Mono", sans-serif; diff --git a/src/index.ts b/src/index.ts index 1e7c5f03..7f205343 100644 --- a/src/index.ts +++ b/src/index.ts @@ -4,17 +4,27 @@ import { createRoot } from "react-dom/client"; import { sprintf } from "sprintf-js"; import { App } from "./app/app"; import * as DOMPurify from "dompurify"; +import { loadFonts } from "./util/util"; // @ts-ignore let VERSION = __PROMPT_VERSION__; // @ts-ignore let BUILD = __PROMPT_BUILD__; +loadFonts(); + document.addEventListener("DOMContentLoaded", () => { let reactElem = React.createElement(App, null, null); let elem = document.getElementById("app"); let root = createRoot(elem); - root.render(reactElem); + let isFontLoaded = document.fonts.check("12px 'JetBrains Mono'"); + if (isFontLoaded) { + root.render(reactElem); + } else { + document.fonts.ready.then(() => { + root.render(reactElem); + }); + } }); (window as any).mobx = mobx; diff --git a/src/plugins/terminal/term.ts b/src/plugins/terminal/term.ts index b093c167..6bfee5bc 100644 --- a/src/plugins/terminal/term.ts +++ b/src/plugins/terminal/term.ts @@ -89,6 +89,7 @@ class TermWrap { rows: this.termSize.rows, cols: this.termSize.cols, fontSize: opts.fontSize, + fontFamily: "JetBrains Mono", theme: { foreground: terminal.foreground, background: terminal.background }, }); this.terminal._core._inputHandler._parser.setErrorHandler((state) => { diff --git a/src/plugins/terminal/terminal.tsx b/src/plugins/terminal/terminal.tsx index 578afb8a..5bc4c67f 100644 --- a/src/plugins/terminal/terminal.tsx +++ b/src/plugins/terminal/terminal.tsx @@ -150,7 +150,7 @@ class TerminalRenderer extends React.Component< .get(); let cmd = screen.getCmd(line); // will not be null let usedRows = screen.getUsedRows(lineutil.getRendererContext(line), line, cmd, width); - let termHeight = termHeightFromRows(usedRows <= 1 ? usedRows : usedRows + 4, GlobalModel.termFontSize.get()); + let termHeight = termHeightFromRows(usedRows, GlobalModel.termFontSize.get()); let termLoaded = this.termLoaded.get(); return (

) { // @check:font function loadFonts() { - let jbmFontNormal = new FontFace("JetBrains Mono", "url('static/fonts/jetbrains-mono-v13-latin-regular.woff2')", { + let jbmFontNormal = new FontFace("JetBrains Mono", "url('public/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')", { + let jbmFont200 = new FontFace("JetBrains Mono", "url('public/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')", { + let jbmFont700 = new FontFace("JetBrains Mono", "url('public/fonts/jetbrains-mono-v13-latin-700.woff2')", { style: "normal", weight: "700", }); - let faFont = new FontFace("FontAwesome", "url(static/fonts/fontawesome-webfont-4.7.woff2)", { - style: "normal", - weight: "normal", - }); + // let faFont = new FontFace("FontAwesome", "url(static/fonts/fontawesome-webfont-4.7.woff2)", { + // style: "normal", + // weight: "normal", + // }); let docFonts: any = document.fonts; // work around ts typing issue docFonts.add(jbmFontNormal); docFonts.add(jbmFont200); docFonts.add(jbmFont700); - docFonts.add(faFont); + // docFonts.add(faFont); jbmFontNormal.load(); jbmFont200.load(); jbmFont700.load(); - faFont.load(); + // faFont.load(); } const DOW_STRS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];