Skip to content

fix(ssh): bundle JetBrains Mono so the terminal is monospaced everywhere - #86

Merged
keyldev merged 1 commit into
mainfrom
feat/terminal-mono-font
Oct 5, 2026
Merged

keyldev merged 1 commit into
mainfrom
feat/terminal-mono-font

Conversation

@keyldev

@keyldev keyldev commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator
  • Android has none of Cascadia/Consolas/Menlo; the proportional fallback left holes after i/l and let m/w overlap
  • Regular + Bold from the official v2.304 release, SIL OFL 1.1 (license text alongside)

Summary

Related

Type

  • Bug fix
  • Feature
  • Refactor / cleanup
  • Docs / CI
  • Other:

Checklist

  • Builds with 0 warnings (TreatWarningsAsErrors=true).
  • Tests pass (dotnet test); new Core logic has unit tests.
  • No layering violation — App references Core only (Infrastructure / Video / Devices wired via DI in a head).
  • Scope stays within one phase (didn't pull work from a later phase's "Не входит").
  • README / docs updated if public commands, options, or setup changed.

Platforms tested

  • Windows
  • Linux
  • macOS
  • Android
  • iOS
  • CI build only

Screenshots / notes

- Android has none of Cascadia/Consolas/Menlo; the proportional fallback left holes after i/l and let m/w overlap
- Regular + Bold from the official v2.304 release, SIL OFL 1.1 (license text alongside)
@keyldev
keyldev merged commit a2ed46b into main Oct 5, 2026
4 of 5 checks passed
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Bundle JetBrains Mono for consistent SSH terminal spacing

🐞 Bug fix 🕐 10-20 Minutes

Grey Divider

AI Description

• Use bundled JetBrains Mono instead of platform font names to prevent uneven terminal spacing on
 Android.
• Include regular and bold font weights with the SIL Open Font License.
Diagram

graph TD
  A["JetBrains Mono files"] --> B["App font assets"] --> C["Avalonia FontFamily"] --> D["TerminalView"] --> E["Terminal grid"]
Loading
High-Level Assessment

Bundling one known monospace family is appropriate because the existing platform-name fallback produced proportional glyphs on Android. Platform-specific font selection would retain that dependency and add maintenance complexity; verify the packaged fonts resolve on supported platforms.

Files changed (2) +100 / -5

Bug fix (1) +7 / -5
TerminalView.csRender terminal text with bundled JetBrains Mono +7/-5

Render terminal text with bundled JetBrains Mono

• Replaces the platform font-family list with an Avalonia resource URI for JetBrains Mono. Existing typefaces for regular, bold, italic, and bold-italic terminal text now resolve through that family.

src/OpenIPC.Viewer.App/Controls/TerminalView.cs

Documentation (1) +93 / -0
JetBrainsMono-OFL.txtInclude the JetBrains Mono font license +93/-0

Include the JetBrains Mono font license

• Adds the copyright notice and SIL Open Font License 1.1 text alongside the bundled font assets.

src/OpenIPC.Viewer.App/Assets/Fonts/JetBrainsMono-OFL.txt

@keyldev
keyldev deleted the feat/terminal-mono-font branch October 5, 2026 21:01
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can turn on the rule miner and Qodo learns your standards from review history

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant