summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-01 10:56:54 +0300
committerPaul Buetow <paul@buetow.org>2026-05-01 10:56:54 +0300
commit3fcaaeb21c0243f3a181651bb3e7f643fcc7c421 (patch)
tree21d099fbfd360ff053e3a997582a53c4fb6d2020 /internal
parentf1a10883c0176eeb718280942d75c4241e8263d4 (diff)
task 2b: self-host terminal JetBrains Mono
Diffstat (limited to 'internal')
-rw-r--r--internal/generator/templates/themes/terminal/FONT_LICENSE.txt37
-rw-r--r--internal/generator/templates/themes/terminal/jetbrains-mono-v24-latin_latin-ext-700.woff2bin0 -> 25452 bytes
-rw-r--r--internal/generator/templates/themes/terminal/jetbrains-mono-v24-latin_latin-ext-regular.woff2bin0 -> 24532 bytes
-rw-r--r--internal/generator/templates/themes/terminal/theme.css26
4 files changed, 59 insertions, 4 deletions
diff --git a/internal/generator/templates/themes/terminal/FONT_LICENSE.txt b/internal/generator/templates/themes/terminal/FONT_LICENSE.txt
new file mode 100644
index 0000000..406369a
--- /dev/null
+++ b/internal/generator/templates/themes/terminal/FONT_LICENSE.txt
@@ -0,0 +1,37 @@
+JetBrains Mono
+==============
+
+This directory bundles the web fonts:
+
+ jetbrains-mono-v24-latin_latin-ext-regular.woff2 (weight 400)
+ jetbrains-mono-v24-latin_latin-ext-700.woff2 (weight 700)
+
+Subsets: latin, latin-ext.
+
+Source / version
+----------------
+- Family page : https://fonts.google.com/specimen/JetBrains+Mono
+- Designer : JetBrains
+- Webfont set : jetbrains-mono-v24 (latin + latin-ext, woff2)
+- Fetched via : https://gwfh.mranftl.com/fonts/jetbrains-mono (Webfonts Helper)
+- Download URL: https://gwfh.mranftl.com/api/fonts/jetbrains-mono?download=zip&subsets=latin,latin-ext&formats=woff2&variants=regular,700
+- Last modified upstream: 2025-09-11
+- Fetched on : 2026-05-01
+
+License
+-------
+SIL Open Font License, Version 1.1.
+
+ - Summary : https://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web
+ - Full text : https://openfontlicense.org/open-font-license-official-text/
+ - Project : https://github.com/JetBrains/JetBrainsMono
+
+The OFL allows free use, modification, and redistribution of the font,
+including embedding in commercial products. Any standalone modified
+version of the font itself must be released under the same license and
+must not use the Reserved Font Name "JetBrains Mono".
+
+Required attribution
+--------------------
+Font: "JetBrains Mono" by JetBrains — https://github.com/JetBrains/JetBrainsMono
+ Licensed under the SIL Open Font License 1.1.
diff --git a/internal/generator/templates/themes/terminal/jetbrains-mono-v24-latin_latin-ext-700.woff2 b/internal/generator/templates/themes/terminal/jetbrains-mono-v24-latin_latin-ext-700.woff2
new file mode 100644
index 0000000..346821f
--- /dev/null
+++ b/internal/generator/templates/themes/terminal/jetbrains-mono-v24-latin_latin-ext-700.woff2
Binary files differ
diff --git a/internal/generator/templates/themes/terminal/jetbrains-mono-v24-latin_latin-ext-regular.woff2 b/internal/generator/templates/themes/terminal/jetbrains-mono-v24-latin_latin-ext-regular.woff2
new file mode 100644
index 0000000..5d552e6
--- /dev/null
+++ b/internal/generator/templates/themes/terminal/jetbrains-mono-v24-latin_latin-ext-regular.woff2
Binary files differ
diff --git a/internal/generator/templates/themes/terminal/theme.css b/internal/generator/templates/themes/terminal/theme.css
index 7db2daf..a0f5429 100644
--- a/internal/generator/templates/themes/terminal/theme.css
+++ b/internal/generator/templates/themes/terminal/theme.css
@@ -1,6 +1,24 @@
- :root { --p:#33ff33; --dim:#1a7a1a; --bg:#0a0a0a; --bg2:#050505; }
+ /* Self-hosted web font: JetBrains Mono by JetBrains (SIL OFL 1.1).
+ Source: https://fonts.google.com/specimen/JetBrains+Mono
+ See FONT_LICENSE.txt in this directory. */
+ @font-face {
+ font-family: 'JetBrains Mono';
+ src: url('jetbrains-mono-v24-latin_latin-ext-regular.woff2') format('woff2');
+ font-weight: 400;
+ font-style: normal;
+ font-display: swap;
+ }
+ @font-face {
+ font-family: 'JetBrains Mono';
+ src: url('jetbrains-mono-v24-latin_latin-ext-700.woff2') format('woff2');
+ font-weight: 700;
+ font-style: normal;
+ font-display: swap;
+ }
+ :root { --p:#33ff33; --dim:#1a7a1a; --bg:#0a0a0a; --bg2:#050505;
+ --term-font:'JetBrains Mono','Courier New',Courier,monospace; }
* { margin:0; padding:0; box-sizing:border-box; }
- body { font-family:'Courier New',Courier,monospace; background:var(--bg); color:var(--p);
+ body { font-family:var(--term-font); background:var(--bg); color:var(--p);
overflow:hidden; height:100vh; height:100dvh; position:relative; }
/* CRT scanlines sit above the WebGL canvas */
body::before { content:''; position:fixed; inset:0; z-index:999; pointer-events:none;
@@ -57,9 +75,9 @@
border:1px solid var(--p); border-radius:0;
box-shadow:0 0 40px rgba(51,255,51,0.25); padding:36px; }
.modal-close { float:right; background:none; border:none; color:var(--p);
- font-family:monospace; font-size:0.9rem; cursor:pointer; letter-spacing:2px; }
+ font-family:var(--term-font); font-size:0.9rem; cursor:pointer; letter-spacing:2px; }
@media(max-width:640px) { .nav-hints{display:none;} header{padding:10px 16px;} .content{padding:12px 16px;} .modal-inner{padding:20px 14px} .transmit-btn{padding-top:11px;padding-bottom:11px;min-height:44px} .modal-close{padding:10px 14px;min-width:44px;min-height:44px;text-align:center} }
- [data-sno-theme="terminal"] .splash-overlay { background: var(--bg); font-family:'Courier New',monospace; }
+ [data-sno-theme="terminal"] .splash-overlay { background: var(--bg); font-family:var(--term-font); }
[data-sno-theme="terminal"] .splash-prompt { text-align:left; font-size:0.9rem; color:rgba(51,255,51,0.78); margin-bottom:0.5rem; }
[data-sno-theme="terminal"] .splash-title { font-size:clamp(1.2rem,4vw,1.65rem); color:var(--p);
text-shadow:0 0 12px var(--p); letter-spacing:0.15em; }