gfx: font: begin adding text shaping via harfbuzz

Helps hexops/mach#877

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2023-10-03 04:33:26 -07:00
parent 3bcbdc4682
commit 87c3de78f5
7 changed files with 333 additions and 9 deletions

View file

@ -1,11 +1,17 @@
pub const util = @import("util.zig");
pub const util = @import("util.zig"); // TODO: banish 2-level deep namespaces
pub const Sprite = @import("Sprite.zig");
pub const Atlas = @import("atlas/Atlas.zig");
pub const Text = @import("Text.zig");
pub const FontRenderer = @import("font.zig").FontRenderer;
pub const RGBA32 = @import("font.zig").RGBA32;
pub const Glyph = @import("font.zig").Glyph;
pub const GlyphMetrics = @import("font.zig").GlyphMetrics;
// TODO: integrate font rendering
// pub const RGBA32 = @import("font.zig").RGBA32;
// pub const FontRenderer = @import("font.zig").FontRenderer;
// pub const Glyph = @import("font.zig").Glyph;
// pub const GlyphMetrics = @import("font.zig").GlyphMetrics;
pub const Font = @import("font/main.zig").Font;
pub const TextRun = @import("font/main.zig").TextRun;
pub const Glyph = @import("font/main.zig").Glyph;
test {
const std = @import("std");
@ -13,9 +19,9 @@ test {
// std.testing.refAllDeclsRecursive(@This());
std.testing.refAllDeclsRecursive(util);
// std.testing.refAllDeclsRecursive(Sprite);
std.testing.refAllDeclsRecursive(Atlas);
// std.testing.refAllDeclsRecursive(Text);
std.testing.refAllDeclsRecursive(FontRenderer);
std.testing.refAllDeclsRecursive(RGBA32);
std.testing.refAllDeclsRecursive(Font);
std.testing.refAllDeclsRecursive(TextRun);
std.testing.refAllDeclsRecursive(Glyph);
std.testing.refAllDeclsRecursive(GlyphMetrics);
}