Files
ghostty/src/font/nerd_font_attributes.zig
Qwerasd c7e65b0c1c font: respect cell width attributes in nerd font constraints
This mostly applies to powerline glyphs, but is also relevant for heavy
bracket characters, which need to always be 1 wide otherwise they look
silly because they misalign depending on if there's a space after them
or not.
2025-07-06 11:23:49 -06:00

371 lines
11 KiB
Zig

//! This is a generated file, produced by nerd_font_codegen.py
//! DO NOT EDIT BY HAND!
//!
//! This file provides info extracted from the nerd fonts patcher script,
//! specifying the scaling/positioning attributes of various glyphs.
const Constraint = @import("face.zig").RenderOptions.Constraint;
/// Get the a constraints for the provided codepoint.
pub fn getConstraint(cp: u21) Constraint {
return switch (cp) {
0x2500...0x259f,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .center,
.align_vertical = .center,
.pad_left = -0.02,
.pad_right = -0.02,
.pad_top = -0.01,
.pad_bottom = -0.01,
},
0x2630,
=> .{
.size_horizontal = .cover,
.size_vertical = .fit,
.max_constraint_width = 1,
.align_horizontal = .center,
.align_vertical = .center,
.pad_left = 0.1,
.pad_right = 0.1,
.pad_top = 0.1,
.pad_bottom = 0.1,
},
0x276c...0x2771,
=> .{
.size_horizontal = .cover,
.size_vertical = .fit,
.max_constraint_width = 1,
.align_horizontal = .center,
.align_vertical = .center,
.pad_top = 0.3,
.pad_bottom = 0.3,
},
0xe0b0,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .start,
.align_vertical = .center,
.pad_left = -0.06,
.pad_right = -0.06,
.pad_top = -0.01,
.pad_bottom = -0.01,
.max_xy_ratio = 0.7,
},
0xe0b1,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .start,
.align_vertical = .center,
.max_xy_ratio = 0.7,
},
0xe0b2,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .end,
.align_vertical = .center,
.pad_left = -0.06,
.pad_right = -0.06,
.pad_top = -0.01,
.pad_bottom = -0.01,
.max_xy_ratio = 0.7,
},
0xe0b3,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .end,
.align_vertical = .center,
.max_xy_ratio = 0.7,
},
0xe0b4,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .start,
.align_vertical = .center,
.pad_left = -0.06,
.pad_right = -0.06,
.pad_top = -0.01,
.pad_bottom = -0.01,
.max_xy_ratio = 0.59,
},
0xe0b5,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .start,
.align_vertical = .center,
.max_xy_ratio = 0.5,
},
0xe0b6,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .end,
.align_vertical = .center,
.pad_left = -0.06,
.pad_right = -0.06,
.pad_top = -0.01,
.pad_bottom = -0.01,
.max_xy_ratio = 0.59,
},
0xe0b7,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .end,
.align_vertical = .center,
.max_xy_ratio = 0.5,
},
0xe0b8,
0xe0bc,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .start,
.align_vertical = .center,
.pad_left = -0.05,
.pad_right = -0.05,
.pad_top = -0.01,
.pad_bottom = -0.01,
},
0xe0b9,
0xe0bd,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .start,
.align_vertical = .center,
},
0xe0ba,
0xe0be,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .end,
.align_vertical = .center,
.pad_left = -0.05,
.pad_right = -0.05,
.pad_top = -0.01,
.pad_bottom = -0.01,
},
0xe0bb,
0xe0bf,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .end,
.align_vertical = .center,
},
0xe0c0,
0xe0c8,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.align_horizontal = .start,
.align_vertical = .center,
.pad_left = -0.05,
.pad_right = -0.05,
.pad_top = -0.01,
.pad_bottom = -0.01,
},
0xe0c1,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.align_horizontal = .start,
.align_vertical = .center,
},
0xe0c2,
0xe0ca,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.align_horizontal = .end,
.align_vertical = .center,
.pad_left = -0.05,
.pad_right = -0.05,
.pad_top = -0.01,
.pad_bottom = -0.01,
},
0xe0c3,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.align_horizontal = .end,
.align_vertical = .center,
},
0xe0c4,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.align_horizontal = .start,
.align_vertical = .center,
.pad_left = 0.03,
.pad_right = 0.03,
.pad_top = 0.03,
.pad_bottom = 0.03,
.max_xy_ratio = 0.86,
},
0xe0c5,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.align_horizontal = .end,
.align_vertical = .center,
.pad_left = 0.03,
.pad_right = 0.03,
.pad_top = 0.03,
.pad_bottom = 0.03,
.max_xy_ratio = 0.86,
},
0xe0c6,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.align_horizontal = .start,
.align_vertical = .center,
.pad_left = 0.03,
.pad_right = 0.03,
.pad_top = 0.03,
.pad_bottom = 0.03,
.max_xy_ratio = 0.78,
},
0xe0c7,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.align_horizontal = .end,
.align_vertical = .center,
.pad_left = 0.03,
.pad_right = 0.03,
.pad_top = 0.03,
.pad_bottom = 0.03,
.max_xy_ratio = 0.78,
},
0xe0cc,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.align_horizontal = .start,
.align_vertical = .center,
.pad_left = -0.02,
.pad_right = -0.02,
.pad_top = -0.01,
.pad_bottom = -0.01,
.max_xy_ratio = 0.85,
},
0xe0cd,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.align_horizontal = .start,
.align_vertical = .center,
.max_xy_ratio = 0.865,
},
0xe0ce,
0xe0d0...0xe0d1,
=> .{
.size_horizontal = .cover,
.size_vertical = .cover,
.align_horizontal = .start,
.align_vertical = .center,
},
0xe0cf,
0xe0d3,
0xe0d5,
=> .{
.size_horizontal = .cover,
.size_vertical = .cover,
.align_horizontal = .center,
.align_vertical = .center,
},
0xe0d2,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .start,
.align_vertical = .center,
.pad_left = -0.02,
.pad_right = -0.02,
.pad_top = -0.01,
.pad_bottom = -0.01,
.max_xy_ratio = 0.7,
},
0xe0d4,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .end,
.align_vertical = .center,
.pad_left = -0.02,
.pad_right = -0.02,
.pad_top = -0.01,
.pad_bottom = -0.01,
.max_xy_ratio = 0.7,
},
0xe0d6,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .start,
.align_vertical = .center,
.pad_left = -0.05,
.pad_right = -0.05,
.pad_top = -0.01,
.pad_bottom = -0.01,
.max_xy_ratio = 0.7,
},
0xe0d7,
=> .{
.size_horizontal = .stretch,
.size_vertical = .stretch,
.max_constraint_width = 1,
.align_horizontal = .end,
.align_vertical = .center,
.pad_left = -0.05,
.pad_right = -0.05,
.pad_top = -0.01,
.pad_bottom = -0.01,
.max_xy_ratio = 0.7,
},
0x23fb...0x23fe,
0x2665,
0x26a1,
0x2b58,
0xe000...0xe0a9,
0xe4fa...0xe7ef,
0xea60...0xec1e,
0xed00...0xf847,
0xf0001...0xf1af0,
=> .{
.size_horizontal = .fit,
.size_vertical = .fit,
.align_horizontal = .center,
.align_vertical = .center,
},
else => .none,
};
}