jetbrains for terminal font. restore font loading. remove fractional font size. set line-height to 1.5 (not 20px).

fix terminal size calculation.
This commit is contained in:
sawka 2023-10-09 22:29:05 -07:00
parent 3bc024c983
commit 3359ee7457
10 changed files with 34 additions and 15 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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 {

View File

@ -96,6 +96,8 @@
}
.terminal-wrapper {
line-height: normal;
&.zero-height {
padding: 0;
margin: 0;

View File

@ -52,3 +52,4 @@
// @font-face declaration lives in app.less
@fixed-font: "Martian Mono", sans-serif;
@terminal-font: "JetBrains Mono", sans-serif;

View File

@ -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);
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;

View File

@ -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) => {

View File

@ -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 (
<div

View File

@ -266,31 +266,31 @@ function incObs(inum: mobx.IObservableValue<number>) {
// @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"];