diff options
| author | salmonik <salmonik@tuta.io> | 2026-07-31 17:28:31 +0200 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-07-31 17:28:31 +0200 |
| commit | 994a2196745637fd0805132711b1ed9354b75426 (patch) | |
| tree | c666940f060aa8db028c75fd3aef799fabbd69b4 /shell | |
| parent | tty + vt terminal split, rsdosedit editor (1:1 UNIX console) (diff) | |
| download | rs-dos-994a2196745637fd0805132711b1ed9354b75426.tar.gz rs-dos-994a2196745637fd0805132711b1ed9354b75426.zip | |
vt: decode UTF-8, render box-drawing/arrow glyphs procedurally
The editor's gutter '│' (U+2502) appeared as '???' — write_bytes fed
each UTF-8 byte to the state machine, which mapped every byte >= 0x80
to '?', and the Latin-1 font has no box-drawing glyphs anyway.
- vt.write_bytes now decodes UTF-8 sequences; printable non-ASCII
dispatches to the glyph path instead of the byte parser.
- gop: unicode_glyph_bits() procedurally rasterises box-drawing
(U+2500-257F light/heavy/double), arrows (U+2190-2193) and the em
dash (U+2014) — pure geometry, no font data needed; blit_glyph falls
back to it for ch >= 256.
Verified via framebuffer dumps: editor gutter │ renders as a vertical
line, help screen ═ separators and ←→↑↓ all render as lines (no '?').
Shell banner em dash renders too.
Diffstat (limited to 'shell')
| -rw-r--r-- | shell/src/lib.rs | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/shell/src/lib.rs b/shell/src/lib.rs index ec2474d..4601b98 100644 --- a/shell/src/lib.rs +++ b/shell/src/lib.rs | |||
| @@ -279,7 +279,6 @@ fn cmd_hexdump(args: &str) { | |||
| 279 | } | 279 | } |
| 280 | } | 280 | } |
| 281 | 281 | ||
| 282 | |||
| 283 | // --------------------------------------------------------------------------- | 282 | // --------------------------------------------------------------------------- |
| 284 | // edit — run the built-in editor (rsdosedit) on a file | 283 | // edit — run the built-in editor (rsdosedit) on a file |
| 285 | // --------------------------------------------------------------------------- | 284 | // --------------------------------------------------------------------------- |
