aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBobby <[email protected]>2025-11-27 10:36:39 +0530
committerBobby <[email protected]>2025-11-27 14:44:11 +0530
commitd511f3b512fc687e226497fe7553dee9ac45a445 (patch)
treee4b09b784ef9139a080c1916e70a7d9cf5bcd813
parentc4c9b8c39d528c5c803cafc407a2dbe291635b4b (diff)
downloadakiba-d511f3b512fc687e226497fe7553dee9ac45a445.tar.xz
akiba-d511f3b512fc687e226497fe7553dee9ac45a445.zip
update default font and impl color conversion
-rw-r--r--mirai/graphics/font.zig10
-rw-r--r--mirai/mirai.zig2
-rw-r--r--resources/fonts/default.psfbin8142 -> 0 bytes
-rw-r--r--resources/fonts/term.psfbin0 -> 5140 bytes
4 files changed, 10 insertions, 2 deletions
diff --git a/mirai/graphics/font.zig b/mirai/graphics/font.zig
index 715e33e..6ebd3d4 100644
--- a/mirai/graphics/font.zig
+++ b/mirai/graphics/font.zig
@@ -128,9 +128,17 @@ fn render_glyph(glyph: []const u8, x: u32, y: u32, fb: boot.FramebufferInfo, col
const py = y + row;
if (px < fb.width and py < fb.height) {
const offset = py * (fb.pitch / 4) + px;
- pixels[offset] = color;
+ pixels[offset] = convert_color(color);
}
}
}
}
}
+
+fn convert_color(color: u32) u32 {
+ // Convert RGBA to BGR if needed
+ const r = (color >> 16) & 0xFF;
+ const g = (color >> 8) & 0xFF;
+ const b = color & 0xFF;
+ return (b << 16) | (g << 8) | r;
+}
diff --git a/mirai/mirai.zig b/mirai/mirai.zig
index 0cbf237..63c1b0b 100644
--- a/mirai/mirai.zig
+++ b/mirai/mirai.zig
@@ -40,7 +40,7 @@ export fn mirai(multiboot_info_addr: u64) noreturn {
if (fs.find_file(system_cluster, "FONTS")) |fonts_dir| {
const fonts_cluster = (@as(u32, fonts_dir.first_cluster_high) << 16) | @as(u32, fonts_dir.first_cluster_low);
- if (fs.find_file(fonts_cluster, "DEFAULT.PSF")) |font_file| {
+ if (fs.find_file(fonts_cluster, "TERM.PSF")) |font_file| {
var font_buffer: [32768]u8 = undefined;
_ = fs.read_file(font_file, &font_buffer) catch {};
_ = font.init(font_buffer[0..font_file.file_size]) catch {};
diff --git a/resources/fonts/default.psf b/resources/fonts/default.psf
deleted file mode 100644
index 3658be4..0000000
--- a/resources/fonts/default.psf
+++ /dev/null
Binary files differ
diff --git a/resources/fonts/term.psf b/resources/fonts/term.psf
new file mode 100644
index 0000000..96673c4
--- /dev/null
+++ b/resources/fonts/term.psf
Binary files differ