mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-25 13:16:11 +03:00
remove dependency on Graphemes outside of unicode test/table
This commit is contained in:
@ -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"));
|
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
|
// Add the old version of the unicode tables
|
||||||
const old_unicode_tables = try UnicodeTables.init(b);
|
const old_unicode_tables = try UnicodeTables.init(b);
|
||||||
old_unicode_tables.run.addArg("old");
|
old_unicode_tables.run.addArg("old");
|
||||||
|
@ -416,12 +416,8 @@ pub fn add(
|
|||||||
.optimize = optimize,
|
.optimize = optimize,
|
||||||
})) |dep| {
|
})) |dep| {
|
||||||
step.root_module.addImport("CaseFolding", dep.module("CaseFolding"));
|
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("Emoji", dep.module("Emoji"));
|
||||||
step.root_module.addImport("GeneralCategories", dep.module("GeneralCategories"));
|
step.root_module.addImport("GeneralCategories", dep.module("GeneralCategories"));
|
||||||
step.root_module.addImport("Graphemes", dep.module("Graphemes"));
|
|
||||||
step.root_module.addImport("LetterCasing", dep.module("LetterCasing"));
|
step.root_module.addImport("LetterCasing", dep.module("LetterCasing"));
|
||||||
}
|
}
|
||||||
if (b.lazyDependency("zf", .{
|
if (b.lazyDependency("zf", .{
|
||||||
|
@ -58,7 +58,7 @@ pub fn init(gpa: Allocator) !void {
|
|||||||
// defer {
|
// defer {
|
||||||
// const end = std.time.Instant.now() catch unreachable;
|
// const end = std.time.Instant.now() catch unreachable;
|
||||||
// // "[updateFrame critical time] <START us>\t<TIME_TAKEN us>"
|
// // "[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
|
// Must only start once
|
||||||
|
@ -4,7 +4,7 @@ const Allocator = std.mem.Allocator;
|
|||||||
const Graphemes = @import("Graphemes");
|
const Graphemes = @import("Graphemes");
|
||||||
const font = @import("../main.zig");
|
const font = @import("../main.zig");
|
||||||
const terminal = @import("../../terminal/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);
|
const log = std.log.scoped(.font_shaper);
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ pub const Shaper = struct {
|
|||||||
// font ligatures. However, we do support grapheme clustering.
|
// font ligatures. However, we do support grapheme clustering.
|
||||||
// This means we can render things like skin tone emoji but
|
// This means we can render things like skin tone emoji but
|
||||||
// we can't render things like single glyph "=>".
|
// 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 cp1: u21 = @intCast(codepoints[0]);
|
||||||
|
|
||||||
var start: usize = 0;
|
var start: usize = 0;
|
||||||
@ -127,10 +127,9 @@ pub const Shaper = struct {
|
|||||||
const cp2: u21 = @intCast(codepoints[i]);
|
const cp2: u21 = @intCast(codepoints[i]);
|
||||||
defer cp1 = cp2;
|
defer cp1 = cp2;
|
||||||
|
|
||||||
break :blk Graphemes.graphemeBreak(
|
break :blk unicode.graphemeBreak(
|
||||||
cp1,
|
cp1,
|
||||||
cp2,
|
cp2,
|
||||||
zg.graphemes,
|
|
||||||
&break_state,
|
&break_state,
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -13,7 +13,6 @@ const apprt = @import("apprt.zig");
|
|||||||
const CaseFolding = @import("CaseFolding");
|
const CaseFolding = @import("CaseFolding");
|
||||||
const Emoji = @import("Emoji");
|
const Emoji = @import("Emoji");
|
||||||
const GeneralCategories = @import("GeneralCategories");
|
const GeneralCategories = @import("GeneralCategories");
|
||||||
const Graphemes = @import("Graphemes");
|
|
||||||
const LetterCasing = @import("LetterCasing");
|
const LetterCasing = @import("LetterCasing");
|
||||||
const unicode = @import("unicode/main.zig");
|
const unicode = @import("unicode/main.zig");
|
||||||
|
|
||||||
@ -232,7 +231,6 @@ pub const Zg = struct {
|
|||||||
case_folding: CaseFolding,
|
case_folding: CaseFolding,
|
||||||
emoji: Emoji,
|
emoji: Emoji,
|
||||||
general_categories: GeneralCategories,
|
general_categories: GeneralCategories,
|
||||||
graphemes: Graphemes,
|
|
||||||
letter_casing: LetterCasing,
|
letter_casing: LetterCasing,
|
||||||
|
|
||||||
pub fn init(alloc: std.mem.Allocator) !Zg {
|
pub fn init(alloc: std.mem.Allocator) !Zg {
|
||||||
@ -240,7 +238,6 @@ pub const Zg = struct {
|
|||||||
.case_folding = try CaseFolding.init(alloc),
|
.case_folding = try CaseFolding.init(alloc),
|
||||||
.emoji = try Emoji.init(alloc),
|
.emoji = try Emoji.init(alloc),
|
||||||
.general_categories = try GeneralCategories.init(alloc),
|
.general_categories = try GeneralCategories.init(alloc),
|
||||||
.graphemes = try Graphemes.init(alloc),
|
|
||||||
.letter_casing = try LetterCasing.init(alloc),
|
.letter_casing = try LetterCasing.init(alloc),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -249,7 +246,6 @@ pub const Zg = struct {
|
|||||||
self.case_folding.deinit(alloc);
|
self.case_folding.deinit(alloc);
|
||||||
self.emoji.deinit(alloc);
|
self.emoji.deinit(alloc);
|
||||||
self.general_categories.deinit(alloc);
|
self.general_categories.deinit(alloc);
|
||||||
self.graphemes.deinit(alloc);
|
|
||||||
self.letter_casing.deinit(alloc);
|
self.letter_casing.deinit(alloc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user