From 77ee26d54e7c4df01bfd77ea1a3f0eecf84bb8a3 Mon Sep 17 00:00:00 2001 From: Ali Chraghi Date: Thu, 29 Sep 2022 19:13:08 +0330 Subject: [PATCH] freetype: fix compilation errors --- libs/freetype/src/Face.zig | 12 ++++++------ libs/freetype/src/computations.zig | 4 ++-- libs/freetype/src/harfbuzz/buffer.zig | 6 ++++-- libs/freetype/src/harfbuzz/font.zig | 18 +++++++++--------- libs/freetype/src/main.zig | 13 ------------- 5 files changed, 21 insertions(+), 32 deletions(-) diff --git a/libs/freetype/src/Face.zig b/libs/freetype/src/Face.zig index 708a384c..8f3041c9 100644 --- a/libs/freetype/src/Face.zig +++ b/libs/freetype/src/Face.zig @@ -131,9 +131,9 @@ pub fn getKerning(self: Face, left_char_index: u32, right_char_index: u32, mode: } pub fn getTrackKerning(self: Face, point_size: i32, degree: i32) Error!i32 { - var kerning: i32 = 0; - try intToError(c.FT_Get_Track_Kerning(self.handle, point_size, degree, &@intCast(c_long, kerning))); - return kerning; + var kerning: c_long = 0; + try intToError(c.FT_Get_Track_Kerning(self.handle, point_size, degree, kerning)); + return @intCast(i32, kerning); } pub fn getGlyphName(self: Face, index: u32, buf: []u8) Error!void { @@ -308,9 +308,9 @@ pub fn availableSizes(self: Face) []BitmapSize { } pub fn getAdvance(self: Face, glyph_index: u32, load_flags: LoadFlags) Error!i32 { - var a: i32 = 0; - try intToError(c.FT_Get_Advance(self.handle, glyph_index, @bitCast(i32, load_flags), &@intCast(c_long, a))); - return a; + var a: c_long = 0; + try intToError(c.FT_Get_Advance(self.handle, glyph_index, @bitCast(i32, load_flags), &a)); + return @intCast(i32, a); } pub fn getAdvances(self: Face, start: u32, advances_out: []c_long, load_flags: LoadFlags) Error!void { diff --git a/libs/freetype/src/computations.zig b/libs/freetype/src/computations.zig index 0390a6d4..dfb096f3 100644 --- a/libs/freetype/src/computations.zig +++ b/libs/freetype/src/computations.zig @@ -62,8 +62,8 @@ pub fn vectorLength(vec: *Vector) i32 { return @intCast(i32, _c.FT_Vector_Length(vec)); } -pub fn vectorPolarize(vec: *Vector, length: *i32, angle: *i32) void { - _c.FT_Vector_Polarize(vec, &@intCast(c_long, length.*), &@intCast(c_long, angle.*)); +pub fn vectorPolarize(vec: *Vector, length: *c_long, angle: *c_long) void { + _c.FT_Vector_Polarize(vec, length, angle); } pub fn vectorFromPolar(vec: *Vector, length: i32, angle: i32) void { diff --git a/libs/freetype/src/harfbuzz/buffer.zig b/libs/freetype/src/harfbuzz/buffer.zig index 10b5cd97..7106b1ef 100644 --- a/libs/freetype/src/harfbuzz/buffer.zig +++ b/libs/freetype/src/harfbuzz/buffer.zig @@ -80,8 +80,10 @@ pub const SegmentProps = struct { return c.hb_segment_properties_hash(&self.cast()); } - pub fn overlay(self: SegmentProps, src: SegmentProps) void { - c.hb_segment_properties_overlay(&self.cast(), &src.cast()); + pub fn overlay(self: *SegmentProps, src: SegmentProps) void { + var seg_props = self.cast(); + c.hb_segment_properties_overlay(&seg_props, &src.cast()); + self.* = SegmentProps.from(seg_props); } }; diff --git a/libs/freetype/src/harfbuzz/font.zig b/libs/freetype/src/harfbuzz/font.zig index cd12e553..e50e94c4 100644 --- a/libs/freetype/src/harfbuzz/font.zig +++ b/libs/freetype/src/harfbuzz/font.zig @@ -56,21 +56,21 @@ pub const Font = struct { } pub fn getPPEM(self: Font) @Vector(2, u32) { - var x: u32 = 0; - var y: u32 = 0; - c.hb_font_get_ppem(self.handle, &@intCast(c_uint, x), &@intCast(c_uint, y)); - return @Vector(2, u32){ x, y }; + var x: c_uint = 0; + var y: c_uint = 0; + c.hb_font_get_ppem(self.handle, &x, &y); + return @Vector(2, u32){ @intCast(u32, x), @intCast(u32, y) }; } pub fn getPTEM(self: Font) f32 { return c.hb_font_get_ptem(self.handle); } - pub fn getScale(self: Font) @Vector(2, u32) { - var x: u32 = 0; - var y: u32 = 0; - c.hb_font_get_scale(self.handle, &@intCast(c_int, x), &@intCast(c_int, y)); - return @Vector(2, u32){ x, y }; + pub fn getScale(self: Font) @Vector(2, i32) { + var x: c_int = 0; + var y: c_int = 0; + c.hb_font_get_scale(self.handle, &x, &y); + return @Vector(2, i32){ @intCast(i32, x), @intCast(i32, y) }; } pub fn setFace(self: Font, face: Face) void { diff --git a/libs/freetype/src/main.zig b/libs/freetype/src/main.zig index db58fec8..c3df86f1 100644 --- a/libs/freetype/src/main.zig +++ b/libs/freetype/src/main.zig @@ -65,19 +65,6 @@ test "load glyph" { face.deinit(); } -test "attach file" { - const lib = try ft.Library.init(); - const face = try lib.createFace(sdkPath("/../upstream/assets/DejaVuSans.pfb"), 0); - try face.attachFile(sdkPath("/../upstream/assets/DejaVuSans.pfm")); -} - -test "attach from memory" { - const lib = try ft.Library.init(); - const face = try lib.createFace(sdkPath("/../upstream/assets/DejaVuSans.pfb"), 0); - const file = @embedFile(sdkPath("/../upstream/assets/DejaVuSans.pfm")); - try face.attachMemory(file); -} - test "charmap iterator" { const lib = try ft.Library.init(); const face = try lib.createFace(firasans_font_path, 0);