remove dependency on Graphemes outside of unicode test/table

This commit is contained in:
Jacob Sandlund
2025-07-05 10:07:42 -04:00
parent 1bd7984ec7
commit a83e29c595
5 changed files with 13 additions and 13 deletions

View File

@ -36,6 +36,15 @@ pub fn init(b: *std.Build, cfg: *const Config, deps: *const SharedDeps) !Unicode
exe.root_module.addImport("ziglyph", dep.module("ziglyph"));
}
// Add zg dependencies used just for unicode-test
if (b.lazyDependency("zg", .{
.target = cfg.target,
.optimize = cfg.optimize,
})) |dep| {
exe.root_module.addImport("DisplayWidth", dep.module("DisplayWidth"));
exe.root_module.addImport("Graphemes", dep.module("Graphemes"));
}
// Add the old version of the unicode tables
const old_unicode_tables = try UnicodeTables.init(b);
old_unicode_tables.run.addArg("old");

View File

@ -416,12 +416,8 @@ pub fn add(
.optimize = optimize,
})) |dep| {
step.root_module.addImport("CaseFolding", dep.module("CaseFolding"));
if (self.config.emit_unicode_test) {
step.root_module.addImport("DisplayWidth", dep.module("DisplayWidth"));
}
step.root_module.addImport("Emoji", dep.module("Emoji"));
step.root_module.addImport("GeneralCategories", dep.module("GeneralCategories"));
step.root_module.addImport("Graphemes", dep.module("Graphemes"));
step.root_module.addImport("LetterCasing", dep.module("LetterCasing"));
}
if (b.lazyDependency("zf", .{

View File

@ -58,7 +58,7 @@ pub fn init(gpa: Allocator) !void {
// defer {
// const end = std.time.Instant.now() catch unreachable;
// // "[updateFrame critical time] <START us>\t<TIME_TAKEN us>"
// std.log.err("[sentry init time] start={}us duration={}ns", .{ start_micro, end.since(start) / std.time.ns_per_us });
// std.log.err("[sentry init time] start={}us duration={}us", .{ start_micro, end.since(start) / std.time.ns_per_us });
// }
// Must only start once

View File

@ -4,7 +4,7 @@ const Allocator = std.mem.Allocator;
const Graphemes = @import("Graphemes");
const font = @import("../main.zig");
const terminal = @import("../../terminal/main.zig");
const zg = &@import("../../global.zig").state.zg;
const unicode = @import("../../unicode/main.zig");
const log = std.log.scoped(.font_shaper);
@ -112,7 +112,7 @@ pub const Shaper = struct {
// font ligatures. However, we do support grapheme clustering.
// This means we can render things like skin tone emoji but
// we can't render things like single glyph "=>".
var break_state: Graphemes.State = .{};
var break_state: unicode.GraphemeBreakState = .{};
var cp1: u21 = @intCast(codepoints[0]);
var start: usize = 0;
@ -127,10 +127,9 @@ pub const Shaper = struct {
const cp2: u21 = @intCast(codepoints[i]);
defer cp1 = cp2;
break :blk Graphemes.graphemeBreak(
break :blk unicode.graphemeBreak(
cp1,
cp2,
zg.graphemes,
&break_state,
);
};

View File

@ -13,7 +13,6 @@ const apprt = @import("apprt.zig");
const CaseFolding = @import("CaseFolding");
const Emoji = @import("Emoji");
const GeneralCategories = @import("GeneralCategories");
const Graphemes = @import("Graphemes");
const LetterCasing = @import("LetterCasing");
const unicode = @import("unicode/main.zig");
@ -232,7 +231,6 @@ pub const Zg = struct {
case_folding: CaseFolding,
emoji: Emoji,
general_categories: GeneralCategories,
graphemes: Graphemes,
letter_casing: LetterCasing,
pub fn init(alloc: std.mem.Allocator) !Zg {
@ -240,7 +238,6 @@ pub const Zg = struct {
.case_folding = try CaseFolding.init(alloc),
.emoji = try Emoji.init(alloc),
.general_categories = try GeneralCategories.init(alloc),
.graphemes = try Graphemes.init(alloc),
.letter_casing = try LetterCasing.init(alloc),
};
}
@ -249,7 +246,6 @@ pub const Zg = struct {
self.case_folding.deinit(alloc);
self.emoji.deinit(alloc);
self.general_categories.deinit(alloc);
self.graphemes.deinit(alloc);
self.letter_casing.deinit(alloc);
}