From 3d8dd0783af8491c9b78651b2d8a72b734be3dc0 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 8 Nov 2023 14:04:21 -0800 Subject: [PATCH] font: if VS15/16 not specified, prefer any presentation in explicit font MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #845 Quick background: Emoji codepoints are either default text or default graphical ("Emoji") presentation. An example of a default text emoji is ❤. You have to add VS16 to this emoji to get: ❤️. Some font are default graphical and require VS15 to force text. A font face can only advertise text vs emoji presentation for the entire font face. Some font faces (i.e. Cozette) include both text glyphs and emoji glyphs, but since they can only advertise as one, advertise as "text". As a result, if a user types an emoji such as 👽, it will fallback to another font to try to find a font that satisfies the "graphical" presentation requirement. But Cozette supports 👽, its just advertised as "text"! Normally, this behavior is what you want. However, if a user explicitly requests their font-family to be a font that contains a mix of test and emoji, they _probably_ want those emoji to be used regardless of default presentation. This is similar to a rich text editor (like TextEdit on Mac): if you explicitly select "Cozette" as your font, the alien emoji shows up using the text-based Cozette glyph. This commit changes our presentation handling behavior to do the following: * If no explicit variation selector (VS15/VS16) is specified, any matching codepoint in an explicitly loaded font (i.e. via `font-family`) will be used. * If an explicit variation selector is specified or our explicitly loaded fonts don't contain the codepoint, fallback fonts will be searched but require an exact match on presentation. * If no fallback is found with an exact match, any font with any presentation can match the codepoint. This commit should generally not change the behavior of Emoji or VS15/16 handling for almost all users. The only users impacted by this commit are specifically users who are using fonts with a mix of emoji and text. --- src/Surface.zig | 8 +- src/font/Group.zig | 295 ++++++++++++++++++++++++++++----- src/font/face.zig | 2 - src/font/res/CozetteVector.ttf | Bin 0 -> 307048 bytes src/font/shaper/run.zig | 9 +- src/font/test.zig | 12 ++ 6 files changed, 277 insertions(+), 49 deletions(-) create mode 100644 src/font/res/CozetteVector.ttf diff --git a/src/Surface.zig b/src/Surface.zig index 112344514..0187481d4 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -348,11 +348,11 @@ pub fn init( // Our built-in font will be used as a backup _ = try group.addFace( .regular, - .{ .loaded = try font.Face.init(font_lib, face_ttf, group.faceOptions()) }, + .{ .fallback_loaded = try font.Face.init(font_lib, face_ttf, group.faceOptions()) }, ); _ = try group.addFace( .bold, - .{ .loaded = try font.Face.init(font_lib, face_bold_ttf, group.faceOptions()) }, + .{ .fallback_loaded = try font.Face.init(font_lib, face_bold_ttf, group.faceOptions()) }, ); // Auto-italicize if we have to. @@ -363,11 +363,11 @@ pub fn init( if (builtin.os.tag != .macos or font.Discover == void) { _ = try group.addFace( .regular, - .{ .loaded = try font.Face.init(font_lib, face_emoji_ttf, group.faceOptions()) }, + .{ .fallback_loaded = try font.Face.init(font_lib, face_emoji_ttf, group.faceOptions()) }, ); _ = try group.addFace( .regular, - .{ .loaded = try font.Face.init(font_lib, face_emoji_text_ttf, group.faceOptions()) }, + .{ .fallback_loaded = try font.Face.init(font_lib, face_emoji_text_ttf, group.faceOptions()) }, ); } diff --git a/src/font/Group.zig b/src/font/Group.zig index 81ccbc066..74d0237c3 100644 --- a/src/font/Group.zig +++ b/src/font/Group.zig @@ -13,6 +13,7 @@ const Group = @This(); const std = @import("std"); const assert = std.debug.assert; const Allocator = std.mem.Allocator; +const ziglyph = @import("ziglyph"); const font = @import("main.zig"); const DeferredFace = @import("main.zig").DeferredFace; @@ -62,6 +63,20 @@ const DescriptorCache = std.HashMapUnmanaged( std.hash_map.default_max_load_percentage, ); +/// The requested presentation for a codepoint. +const PresentationMode = union(enum) { + /// The codepoint has an explicit presentation that is required, + /// i.e. VS15/V16. + explicit: Presentation, + + /// The codepoint has no explicit presentation and we should use + /// the presentation from the UCd. + default: Presentation, + + /// The codepoint can be any presentation. + any: void, +}; + /// The allocator for this group alloc: Allocator, @@ -104,17 +119,75 @@ descriptor_cache: DescriptorCache = .{}, /// terminal rendering will look wrong. sprite: ?font.sprite.Face = null, -/// A face in a group can be deferred or loaded. +/// A face in a group can be deferred or loaded. A deferred face +/// is not yet fully loaded and only represents the font descriptor +/// and usually uses less resources. A loaded face is fully parsed, +/// ready to rasterize, and usually uses more resources than a +/// deferred version. +/// +/// A face can also be a "fallback" variant that is still either +/// deferred or loaded. Today, there is only one different between +/// fallback and non-fallback (or "explicit") faces: the handling +/// of emoji presentation. +/// +/// For explicit faces, when an explicit emoji presentation is +/// not requested, we will use any glyph for that codepoint found +/// even if the font presentation does not match the UCD +/// (Unicode Character Database) value. When an explicit presentation +/// is requested (via either VS15/V16), that is always honored. +/// The reason we do this is because we assume that if a user +/// explicitly chosen a font face (hence it is "explicit" and +/// not "fallback"), they want to use any glyphs possible within that +/// font face. Fallback fonts on the other hand are picked as a +/// last resort, so we should prefer exactness if possible. pub const GroupFace = union(enum) { deferred: DeferredFace, // Not loaded - loaded: Face, // Loaded + loaded: Face, // Loaded, explicit use + + // The same as deferred/loaded but fallback font semantics (see large + // comment above GroupFace). + fallback_deferred: DeferredFace, + fallback_loaded: Face, pub fn deinit(self: *GroupFace) void { switch (self.*) { - .deferred => |*v| v.deinit(), - .loaded => |*v| v.deinit(), + inline .deferred, + .loaded, + .fallback_deferred, + .fallback_loaded, + => |*v| v.deinit(), } } + + /// True if this face satisfies the given codepoint and presentation. + fn hasCodepoint(self: GroupFace, cp: u32, p_mode: PresentationMode) bool { + return switch (self) { + // Non-fallback fonts require explicit presentation matching but + // otherwise don't care about presentation + .deferred => |v| switch (p_mode) { + .explicit => |p| v.hasCodepoint(cp, p), + .default, .any => v.hasCodepoint(cp, null), + }, + + .loaded => |face| switch (p_mode) { + .explicit => |p| face.presentation == p and face.glyphIndex(cp) != null, + .default, .any => face.glyphIndex(cp) != null, + }, + + // Fallback fonts require exact presentation matching. + .fallback_deferred => |v| switch (p_mode) { + .explicit, .default => |p| v.hasCodepoint(cp, p), + .any => v.hasCodepoint(cp, null), + }, + + .fallback_loaded => |face| switch (p_mode) { + .explicit, + .default, + => |p| face.presentation == p and face.glyphIndex(cp) != null, + .any => face.glyphIndex(cp) != null, + }, + }; + } }; pub fn init( @@ -222,8 +295,8 @@ pub fn setSize(self: *Group, size: font.face.DesiredSize) !void { var it = self.faces.iterator(); while (it.next()) |entry| { for (entry.value.items) |*elem| switch (elem.*) { - .deferred => continue, - .loaded => |*f| try f.setSize(self.faceOptions()), + .deferred, .fallback_deferred => continue, + .loaded, .fallback_loaded => |*f| try f.setSize(self.faceOptions()), }; } } @@ -286,9 +359,44 @@ pub const FontIndex = packed struct(FontIndex.Backing) { /// /// Optionally, a presentation format can be specified. This presentation /// format will be preferred but if it can't be found in this format, -/// any text format will be accepted. If presentation is null, any presentation -/// is allowed. This func will NOT determine the default presentation for +/// any format will be accepted. If presentation is null, the UCD +/// (Unicode Character Database) will be used to determine the default +/// presentation for the codepoint. /// a code point. +/// +/// This logic is relatively complex so the exact algorithm is documented +/// here. If this gets out of sync with the code, ask questions. +/// +/// 1. If a font style is requested that is disabled (i.e. bold), +/// we start over with the regular font style. The regular font style +/// cannot be disabled, but it can be replaced with a stylized font +/// face. +/// +/// 2. If there is a codepoint override for the codepoint, we satisfy +/// that requirement if we can, no matter what style or presentation. +/// +/// 3. If this is a sprite codepoint (such as an underline), then the +/// sprite font always is the result. +/// +/// 4. If the exact style and presentation request can be satisfied by +/// one of our loaded fonts, we return that value. We search loaded +/// fonts in the order they're added to the group, so the caller must +/// set the priority order. +/// +/// 5. If the style isn't regular, we restart this process at this point +/// but with the regular style. This lets us fall back to regular with +/// our loaded fonts before trying a fallback. We'd rather show a regular +/// version of a codepoint from a loaded font than find a new font in +/// the correct style because styles in other fonts often change +/// metrics like glyph widths. +/// +/// 6. If the style is regular, and font discovery is enabled, we look +/// for a fallback font to satisfy our request. +/// +/// 7. Finally, as a last resort, we fall back to restarting this whole +/// process with a regular font face satisfying ANY presentation for +/// the codepoint. If this fails, we return null. +/// pub fn indexForCodepoint( self: *Group, cp: u32, @@ -315,8 +423,20 @@ pub fn indexForCodepoint( } } + // Build our presentation mode. If we don't have an explicit presentation + // given then we use the UCD (Unicode Character Database) to determine + // the default presentation. Note there is some inefficiency here because + // we'll do this muliple times if we recurse, but this is a cached function + // call higher up (GroupCache) so this should be rare. + const p_mode: PresentationMode = if (p) |v| .{ .explicit = v } else .{ + .default = if (ziglyph.emoji.isEmojiPresentation(@intCast(cp))) + .emoji + else + .text, + }; + // If we can find the exact value, then return that. - if (self.indexForCodepointExact(cp, style, p)) |value| return value; + if (self.indexForCodepointExact(cp, style, p_mode)) |value| return value; // If we're not a regular font style, try looking for a regular font // that will satisfy this request. Blindly looking for unmatched styled @@ -343,19 +463,19 @@ pub fn indexForCodepoint( log.warn("fallback search failed with error err={}", .{err}); break; }; - const face = face_ orelse break; + const face: GroupFace = .{ .fallback_deferred = face_ orelse break }; // Discovery is supposed to only return faces that have our // codepoint but we can't search presentation in discovery so // we have to check it here. - if (!face.hasCodepoint(cp, p)) continue; + if (!face.hasCodepoint(cp, p_mode)) continue; var buf: [256]u8 = undefined; log.info("found codepoint 0x{x} in fallback face={s}", .{ cp, - face.name(&buf) catch "", + face_.?.name(&buf) catch "", }); - return self.addFace(style, .{ .deferred = face }) catch break :discover; + return self.addFace(style, face) catch break :discover; } log.debug("no fallback face found for cp={x}", .{cp}); @@ -365,21 +485,18 @@ pub fn indexForCodepoint( // If this is already regular, we're done falling back. if (style == .regular and p == null) return null; - // For non-regular fonts, we fall back to regular with no presentation - return self.indexForCodepointExact(cp, .regular, null); + // For non-regular fonts, we fall back to regular with any presentation + return self.indexForCodepointExact(cp, .regular, .{ .any = {} }); } -fn indexForCodepointExact(self: Group, cp: u32, style: Style, p: ?Presentation) ?FontIndex { +fn indexForCodepointExact( + self: Group, + cp: u32, + style: Style, + p_mode: PresentationMode, +) ?FontIndex { for (self.faces.get(style).items, 0..) |elem, i| { - const has_cp = switch (elem) { - .deferred => |v| v.hasCodepoint(cp, p), - .loaded => |face| loaded: { - if (p) |desired| if (face.presentation != desired) break :loaded false; - break :loaded face.glyphIndex(cp) != null; - }, - }; - - if (has_cp) { + if (elem.hasCodepoint(cp, p_mode)) { return FontIndex{ .style = style, .idx = @intCast(i), @@ -446,18 +563,16 @@ fn indexForCodepointOverride(self: *Group, cp: u32) !?FontIndex { } /// Check if a specific font index has a specific codepoint. This does not -/// necessarily force the font to load. +/// necessarily force the font to load. The presentation value "p" will +/// verify the Emoji representation matches if it is non-null. If "p" is +/// null then any presentation will be accepted. pub fn hasCodepoint(self: *Group, index: FontIndex, cp: u32, p: ?Presentation) bool { const list = self.faces.getPtr(index.style); if (index.idx >= list.items.len) return false; - const item = list.items[index.idx]; - return switch (item) { - .deferred => |v| v.hasCodepoint(cp, p), - .loaded => |face| loaded: { - if (p) |desired| if (face.presentation != desired) break :loaded false; - break :loaded face.glyphIndex(cp) != null; - }, - }; + return list.items[index.idx].hasCodepoint( + cp, + if (p) |v| .{ .explicit = v } else .{ .any = {} }, + ); } /// Returns the presentation for a specific font index. This is useful for @@ -479,14 +594,18 @@ pub fn faceFromIndex(self: *Group, index: FontIndex) !*Face { const list = self.faces.getPtr(index.style); const item = &list.items[index.idx]; return switch (item.*) { - .deferred => |*d| deferred: { + inline .deferred, .fallback_deferred => |*d, tag| deferred: { const face = try d.load(self.lib, self.faceOptions()); d.deinit(); - item.* = .{ .loaded = face }; + item.* = switch (tag) { + .deferred => .{ .loaded = face }, + .fallback_deferred => .{ .fallback_loaded = face }, + else => unreachable, + }; break :deferred &item.loaded; }, - .loaded => |*f| f, + .loaded, .fallback_loaded => |*f| f, }; } @@ -934,3 +1053,105 @@ test "faceFromIndex returns pointer" { try testing.expectEqual(@intFromPtr(face1), @intFromPtr(face2)); } } + +test "indexFromCodepoint: prefer emoji in non-fallback font" { + // CoreText can't load Noto + if (font.options.backend == .coretext) return error.SkipZigTest; + + const testing = std.testing; + const alloc = testing.allocator; + const testCozette = @import("test.zig").fontCozette; + const testEmoji = @import("test.zig").fontEmoji; + + var atlas_greyscale = try font.Atlas.init(alloc, 512, .greyscale); + defer atlas_greyscale.deinit(alloc); + + var lib = try Library.init(); + defer lib.deinit(); + + var group = try init(alloc, lib, .{ .points = 12 }); + defer group.deinit(); + + _ = try group.addFace( + .regular, + .{ .loaded = try Face.init( + lib, + testCozette, + .{ .size = .{ .points = 12 } }, + ) }, + ); + _ = try group.addFace( + .regular, + .{ .fallback_loaded = try Face.init( + lib, + testEmoji, + .{ .size = .{ .points = 12 } }, + ) }, + ); + + // The "alien" emoji is default emoji presentation but present + // in Cozette as text. Since Cozette isn't a fallback, we shoulod + // load it from there. + { + const idx = group.indexForCodepoint(0x1F47D, .regular, null).?; + try testing.expectEqual(Style.regular, idx.style); + try testing.expectEqual(@as(FontIndex.IndexInt, 0), idx.idx); + } + + // If we specifically request emoji, we should find it in the fallback. + { + const idx = group.indexForCodepoint(0x1F47D, .regular, .emoji).?; + try testing.expectEqual(Style.regular, idx.style); + try testing.expectEqual(@as(FontIndex.IndexInt, 1), idx.idx); + } +} + +test "indexFromCodepoint: prefer emoji with correct presentation" { + // CoreText can't load Noto + if (font.options.backend == .coretext) return error.SkipZigTest; + + const testing = std.testing; + const alloc = testing.allocator; + const testCozette = @import("test.zig").fontCozette; + const testEmoji = @import("test.zig").fontEmoji; + + var atlas_greyscale = try font.Atlas.init(alloc, 512, .greyscale); + defer atlas_greyscale.deinit(alloc); + + var lib = try Library.init(); + defer lib.deinit(); + + var group = try init(alloc, lib, .{ .points = 12 }); + defer group.deinit(); + + _ = try group.addFace( + .regular, + .{ .loaded = try Face.init( + lib, + testEmoji, + .{ .size = .{ .points = 12 } }, + ) }, + ); + _ = try group.addFace( + .regular, + .{ .loaded = try Face.init( + lib, + testCozette, + .{ .size = .{ .points = 12 } }, + ) }, + ); + + // Check that we check the default presentation + { + const idx = group.indexForCodepoint(0x1F47D, .regular, null).?; + try testing.expectEqual(Style.regular, idx.style); + try testing.expectEqual(@as(FontIndex.IndexInt, 0), idx.idx); + } + + // If we specifically request text + { + const idx = group.indexForCodepoint(0x1F47D, .regular, .text).?; + try testing.expectEqual(Style.regular, idx.style); + try testing.expectEqual(@as(FontIndex.IndexInt, 1), idx.idx); + } +} diff --git a/src/font/face.zig b/src/font/face.zig index 2087c864f..b8afee685 100644 --- a/src/font/face.zig +++ b/src/font/face.zig @@ -87,8 +87,6 @@ pub const RenderOptions = struct { thicken: bool = false, }; -pub const Foo = if (options.backend == .coretext) coretext.Face else void; - test { @import("std").testing.refAllDecls(@This()); } diff --git a/src/font/res/CozetteVector.ttf b/src/font/res/CozetteVector.ttf new file mode 100644 index 0000000000000000000000000000000000000000..05ba97603feff2f34d4dc93af277df62abce0bb2 GIT binary patch literal 307048 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%0A{u};;oIO6couN7f)L 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 literal 0 HcmV?d00001 diff --git a/src/font/shaper/run.zig b/src/font/shaper/run.zig index 9af4a9b4c..d74e86c52 100644 --- a/src/font/shaper/run.zig +++ b/src/font/shaper/run.zig @@ -1,7 +1,6 @@ const std = @import("std"); const assert = std.debug.assert; const Allocator = std.mem.Allocator; -const ziglyph = @import("ziglyph"); const font = @import("../main.zig"); const shape = @import("../shape.zig"); const terminal = @import("../../terminal/main.zig"); @@ -118,11 +117,9 @@ pub const RunIterator = struct { } else emoji: { // If we're not a grapheme, our individual char could be // an emoji so we want to check if we expect emoji presentation. - if (ziglyph.emoji.isEmojiPresentation(@intCast(cell.char))) { - break :emoji .emoji; - } - - break :emoji .text; + // The font group indexForCodepoint we use below will do this + // automatically. + break :emoji null; }; // If our cursor is on this line then we break the run around the diff --git a/src/font/test.zig b/src/font/test.zig index f07cefcd5..06bdc40d2 100644 --- a/src/font/test.zig +++ b/src/font/test.zig @@ -1,5 +1,17 @@ +//! Fonts that can be embedded with Ghostty. Note they are only actually +//! embedded in the binary if they are referenced by the code, so fonts +//! used for tests will not result in the final binary being larger. +//! +//! Be careful to ensure that any fonts you embed are licensed for +//! redistribution and include their license as necessary. + +/// Fonts with general properties pub const fontRegular = @embedFile("res/Inconsolata-Regular.ttf"); pub const fontBold = @embedFile("res/Inconsolata-Bold.ttf"); pub const fontEmoji = @embedFile("res/NotoColorEmoji.ttf"); pub const fontEmojiText = @embedFile("res/NotoEmoji-Regular.ttf"); pub const fontVariable = @embedFile("res/Lilex-VF.ttf"); + +/// Cozette is a unique font because it embeds some emoji characters +/// but has a text presentation. +pub const fontCozette = @embedFile("res/CozetteVector.ttf");