fix: sCapHeight and sxHeight only exist when OS/2 version >= 2

This commit is contained in:
Qwerasd
2024-12-16 15:20:26 -05:00
parent 13e4861dff
commit a06388869d

View File

@ -775,10 +775,13 @@ pub const Face = struct {
// available, otherwise we try to measure the `H` and `x` glyphs. // available, otherwise we try to measure the `H` and `x` glyphs.
const cap_height: ?f64, const ex_height: ?f64 = heights: { const cap_height: ?f64, const ex_height: ?f64 = heights: {
if (maybe_os2) |os2| { if (maybe_os2) |os2| {
break :heights .{ // The OS/2 table does not include these metrics in version 1.
@as(f64, @floatFromInt(os2.sCapHeight)) * px_per_unit, if (os2.version >= 2) {
@as(f64, @floatFromInt(os2.sxHeight)) * px_per_unit, break :heights .{
}; @as(f64, @floatFromInt(os2.sCapHeight)) * px_per_unit,
@as(f64, @floatFromInt(os2.sxHeight)) * px_per_unit,
};
}
} }
break :heights .{ break :heights .{
cap: { cap: {