diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2023-01-18 21:45:29 -0500 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2023-01-18 21:47:55 -0500 |
| commit | db848c219c63e0f24412e160782cddb86f5d950c (patch) | |
| tree | 7681b5a2dfff55b6563d8bd234aeca4edc1834dd | |
| parent | 6b36076aa7c6f00eac3c2916b33313780708fbdd (diff) | |
Add JetBrains Mono
| -rw-r--r-- | docs/JetBrainsMono_sub.woff2 | bin | 0 -> 173400 bytes | |||
| -rw-r--r-- | docs/fonts.html | 41 | ||||
| -rw-r--r-- | docs/repl.js | 4 | ||||
| -rw-r--r-- | docs/style.css | 7 |
4 files changed, 49 insertions, 3 deletions
diff --git a/docs/JetBrainsMono_sub.woff2 b/docs/JetBrainsMono_sub.woff2 Binary files differnew file mode 100644 index 00000000..e3fd214d --- /dev/null +++ b/docs/JetBrainsMono_sub.woff2 diff --git a/docs/fonts.html b/docs/fonts.html index 1e44081a..a2bc9c96 100644 --- a/docs/fonts.html +++ b/docs/fonts.html @@ -39,6 +39,7 @@ <li><a href="https://github.com/rbanffy/3270font">3270</a>, based on the IBM 3270 terminal family</li> <li><a href="https://typeof.net/Iosevka/">Iosevka</a> family: Extended Term shown here; many options available</li> <li><a href="https://github.com/cormullion/juliamono">Julia Mono</a></li> + <li><a href="https://www.jetbrains.com/lp/mono/">JetBrains Mono</a></li> </ul> <p>Other than DejaVu and BQN386, the versions embedded on this page are small subsets, and you should get your copy from the links above (unless perhaps you want to use them for embedding as well). In addition to these, <a href="https://www.fsd.it/shop/fonts/pragmatapro/">Pragmata Pro</a> and <a href="https://www.evertype.com/emono/">Everson Mono</a> have full support, but each charges a significant fee for usage and I can't freely embed them here.</p> @@ -151,6 +152,25 @@ Iosevka Term Extended </pre> </td> </tr> + +<tr> +<td colspan="2"> +<div style="text-align:center">JetBrains Mono</div> +<pre class="JetBr" style="width:48%; margin-left:auto; margin-right:auto"><span class='Modifier'>`</span><span class='Number'>1234567890</span><span class='Function'>-=</span> ~<span class='Function'>!</span><span class='String'>@</span><span class='Comment'>#</span>$%^&*<span class='Paren'>()</span><span class='Modifier2'>_</span><span class='Function'>+</span> + <span class='Value'>qwertyuiop</span>[] <span class='Function'>QWERTYUIOP</span><span class='Brace'>{}</span> + <span class='Value'>asdfghjkl;</span><span class='String'>'</span>\ <span class='Function'>ASDFGHJKL</span><span class='Value'>:</span><span class='String'>"</span><span class='Function'>|</span> + <span class='Value'>zxcvbnm</span><span class='Separator'>,</span><span class='Number'>.</span><span class='Function'>/</span> <span class='Function'>ZXCVBNM<></span><span class='Value'>?</span> + +<span class='Modifier'>˜˘¨⁼⌜´˝</span> <span class='Number'>∞¯</span><span class='Value'>•</span><span class='Function'>÷×</span> <span class='Function'>¬</span><span class='Modifier2'>⎉⚇⍟◶⊘⎊</span>⍎⍕<span class='Bracket'>⟨⟩</span><span class='Function'>√⋆</span> + <span class='Function'>⌽</span><span class='Value'>𝕨</span><span class='Function'>∊↑∧</span> <span class='Function'>⊔⊏⊐</span><span class='Number'>π</span><span class='Gets'>←→</span> ↙<span class='Function'>𝕎⍷</span><span class='Value'>𝕣</span><span class='Function'>⍋</span> <span class='Function'>⊑⊒</span>⍳<span class='Function'>⊣⊢</span> + <span class='Function'>⍉</span><span class='Value'>𝕤</span><span class='Function'>↕</span><span class='Value'>𝕗𝕘</span><span class='Modifier2'>⊸∘○⟜</span><span class='Separator'>⋄</span><span class='Gets'>↩</span> ↖<span class='Function'>𝕊</span> <span class='Function'>𝔽𝔾«</span> <span class='Modifier2'>⌾</span><span class='Function'>»</span><span class='Nothing'>·</span><span class='Modifier'>˙</span> + <span class='Function'>⥊</span><span class='Value'>𝕩</span><span class='Function'>↓∨⌊</span> <span class='Function'>≡∾≍≠</span> <span class='Ligature'>‿</span> <span class='Function'>⋈𝕏</span> <span class='Function'>⍒⌈</span> <span class='Function'>≢≤≥</span><span class='Gets'>⇐</span> + +⍬⍺⍵⍴⍳⍸⌷⍨⍤⍥⍣⊖⊂⊃⊆⊇∩∪⊥⊤⍝⍀⌿⍪ +⎕⌺⌹⌸⍞⍠⌶⍱⍲⍫∇∆⍢⍙… +</pre> +</td> +</tr> </table> @@ -269,6 +289,25 @@ Iosevka Term Extended <span class='Brace'>}</span> </pre> +<pre class="JetBr"><span class='Value ul'>JetBrains Mono</span> + + <span class='Value'>c</span><span class='Gets'>←</span><span class='Value'>𝕩</span><span class='Function'>=</span><span class='String'>'#'</span><span class='Separator'>⋄</span><span class='Value'>s</span><span class='Gets'>←</span><span class='Function'>/</span><span class='Number'>0</span><span class='Ligature'>‿</span><span class='Number'>0</span><span class='Modifier2'>⊸</span><span class='Function'>«</span><span class='Modifier2'>⊸</span><span class='Function'>∧</span><span class='Value'>sm</span><span class='Gets'>←</span><span class='Value'>𝕩</span><span class='Function'>=</span><span class='String'>'''</span><span class='Separator'>⋄</span><span class='Value'>d</span><span class='Gets'>←</span><span class='Function'>/</span><span class='Value'>dm</span><span class='Gets'>←</span><span class='Value'>𝕩</span><span class='Function'>=</span><span class='String'>'"'</span> + <span class='Value'>g</span><span class='Gets'>←</span><span class='Function'>⍋</span><span class='Value'>q</span><span class='Gets'>←</span><span class='Function'>∾</span><span class='Bracket'>⟨</span> <span class='Value'>s</span><span class='Separator'>⋄</span><span class='Number'>¯1</span><span class='Function'>↓</span><span class='Value'>d</span><span class='Separator'>⋄</span><span class='Function'>/</span><span class='Value'>c</span><span class='Bracket'>⟩</span> <span class='Separator'>⋄</span><span class='Value'>q</span><span class='Gets'>↩</span><span class='Value'>g</span><span class='Function'>⊏</span><span class='Value'>q</span> <span class='Comment'># Open indices +</span> <span class='Value'>e</span><span class='Gets'>←</span> <span class='Value'>g</span><span class='Function'>⊏∾</span><span class='Bracket'>⟨</span><span class='Number'>2</span><span class='Function'>+</span><span class='Value'>s</span><span class='Separator'>⋄</span> <span class='Number'>1</span><span class='Function'>↓</span><span class='Value'>d</span><span class='Separator'>⋄</span><span class='Function'>-</span><span class='Modifier2'>⟜</span><span class='Function'>»</span><span class='Modifier2'>∘</span><span class='Function'>⊏</span><span class='Modifier2'>⟜</span><span class='Paren'>(</span><span class='Number'>0</span><span class='Function'>∾+</span><span class='Modifier'>`</span><span class='Value'>c</span><span class='Paren'>)</span><span class='Modifier2'>⊸</span><span class='Function'>//</span><span class='Paren'>(</span><span class='Value'>𝕩</span><span class='Function'>=</span><span class='Value'>lf</span><span class='Paren'>)</span><span class='Function'>∾</span><span class='Number'>1</span><span class='Bracket'>⟩</span> <span class='Comment'># Matching close indices +</span> <span class='Function'>Se</span><span class='Gets'>←</span><span class='Brace'>{</span><span class='Paren'>(</span><span class='Function'>⊏</span><span class='Modifier'>˜</span><span class='Value'>𝕨</span><span class='Paren'>)</span><span class='Function'>Se</span> <span class='Number'>1</span><span class='Modifier'>¨</span><span class='Modifier2'>⌾</span><span class='Paren'>((</span><span class='Value'>𝕩</span><span class='Function'>/</span><span class='Value'>𝕨</span><span class='Paren'>)</span><span class='Modifier2'>⊸</span><span class='Function'>⊏</span><span class='Paren'>)</span><span class='Value'>𝕩</span><span class='Brace'>}</span><span class='Modifier2'>⍟</span><span class='Paren'>(</span><span class='Number'>0</span><span class='Function'>=</span><span class='Number'>¯1</span><span class='Function'>⊑⊢</span><span class='Paren'>)</span> <span class='Comment'># Mark reachable openings +</span> +<span class='Function'>PrecedesGroup</span> <span class='Gets'>←</span> <span class='Brace'>{</span> + <span class='Comment'># We prepend a 0 to 𝕨, so that 0 is the "before start" index, with a +</span> <span class='Comment'># false value, and normal indices are increased by 1. +</span> <span class='Value'>𝕨</span> <span class='Function'>∾</span><span class='Modifier'>˜</span><span class='Gets'>↩</span> <span class='Number'>0</span> + <span class='Value'>inds</span> <span class='Gets'>←</span> <span class='Number'>1</span> <span class='Function'>+</span> <span class='Function'>↕≠</span><span class='Value'>𝕩</span> + <span class='Comment'># Zero out indices where 𝕩 was true, and find the greatest index so +</span> <span class='Comment'># far at each position. +</span> <span class='Value'>last</span> <span class='Gets'>←</span> <span class='Function'>⌈</span><span class='Modifier'>`</span> <span class='Value'>inds</span> <span class='Function'>×</span> <span class='Function'>¬</span><span class='Value'>𝕩</span> + <span class='Value'>last</span> <span class='Function'>⊏</span> <span class='Value'>𝕨</span> +<span class='Brace'>}</span> +</pre> + <p style="margin-top:4em">Finally, a REPL where you can enter any code you like (but remember, not all characters from these fonts are embedded—just those likely to be used in BQN).</code> <div class="fonts"> @@ -284,6 +323,8 @@ Iosevka Term Extended <label for="f4">Iosevka</label> <input type="radio" id="f5" name="font" class="Julia"/> <label for="f5">Julia</label> + <input type="radio" id="f6" name="font" class="JetBr"/> + <label for="f6">JetBrains</label> </div> <div id="setfont"> <div class="cont"> diff --git a/docs/repl.js b/docs/repl.js index 46fc5b5c..cff7d1ac 100644 --- a/docs/repl.js +++ b/docs/repl.js @@ -190,8 +190,8 @@ appendHTML(doc.kb, '<div class="kbext"></div>'); doc.kbext = doc.kb.querySelector('.kbext'); if (doc.demo) { - let fonts=[["BQN386"],["DejaVu","Mod"],["Fairfax","HD"],["3270","font"],["Iosevka","Term"],["Julia","Mono"]]; - let fclass = f => f==="3270"?"f"+f:f + let fonts=[["BQN386"],["DejaVu","Mod"],["Fairfax","HD"],["3270","font"],["Iosevka","Term"],["Julia","Mono"],["JetBrains","Mono"]]; + let fclass = f => f==="3270"?"f"+f:f==="JetBrains"?"JetBr":f; let fontsel = '<select title="Select font">'+fonts.map(f => '<option value="'+f[0]+'">'+f[0]+(f[1]?' '+f[1]:'')+'</option>' ).join("")+'select'; diff --git a/docs/style.css b/docs/style.css index 2e76b27f..dbfad949 100644 --- a/docs/style.css +++ b/docs/style.css @@ -83,13 +83,18 @@ li ul { src: url(JuliaMono_sub.woff2) format('woff2'); } @font-face{ + font-family: JetBrainsMono; + src: url(JetBrainsMono_sub.woff2) format('woff2'); +} +@font-face{ font-family: f3270; src: url(3270_sub.woff2) format('woff2'); } pre.DejaVu , .DejaVu .key, .DejaVu .code, .DejaVu .highlight, .DejaVu .rslt { font-family:BQNMod,monospace; } pre.BQN386 , .BQN386 .key, .BQN386 .code, .BQN386 .highlight, .BQN386 .rslt { font-family:BQN,monospace; } -pre.Iosevka, .Iosevka .key, .Iosevka .code, .Iosevka .highlight, .Iosevka .rslt { font-family:Iosevka,f3270,monospace; } +pre.Iosevka, .Iosevka .key, .Iosevka .code, .Iosevka .highlight, .Iosevka .rslt { font-family:Iosevka,monospace; } pre.Julia , .Julia .key, .Julia .code, .Julia .highlight, .Julia .rslt { font-family:JuliaMono,monospace; } +pre.JetBr , .JetBr .key, .JetBr .code, .JetBr .highlight, .JetBr .rslt { font-family:JetBrainsMono,monospace; } pre.Fairfax, .Fairfax .key, .Fairfax .code, .Fairfax .highlight, .Fairfax .rslt { font-family:FFHD,monospace; font-size:1.1rem; line-height:1.01; } .Fairfax .key { line-height:1.25; } pre.f3270 , .f3270 .key, .f3270 .code, .f3270 .highlight, .f3270 .rslt { font-family:f3270,monospace; font-size:1rem; line-height:1.1; } |
