freetype: install test exe and move all tests to src/main.zig
This commit is contained in:
parent
956e07b2ba
commit
a6a678b912
20 changed files with 72 additions and 1107 deletions
|
|
@ -3,7 +3,7 @@ const utils = @import("utils");
|
|||
const c = @import("c");
|
||||
const intToError = @import("error.zig").intToError;
|
||||
const Error = @import("error.zig").Error;
|
||||
const GlyphSlot = @import("freetype.zig").GlyphSlot;
|
||||
const GlyphSlot = @import("GlyphSlot.zig");
|
||||
const LoadFlags = @import("freetype.zig").LoadFlags;
|
||||
const FaceFlags = @import("freetype.zig").FaceFlags;
|
||||
const StyleFlags = @import("freetype.zig").StyleFlags;
|
||||
|
|
@ -2,11 +2,11 @@ const c = @import("c");
|
|||
const intToError = @import("error.zig").intToError;
|
||||
const Error = @import("error.zig").Error;
|
||||
const Glyph = @import("glyph.zig").Glyph;
|
||||
const Library = @import("freetype.zig").Library;
|
||||
const Face = @import("freetype.zig").Face;
|
||||
const Library = @import("Library.zig");
|
||||
const Face = @import("Face.zig");
|
||||
const RenderMode = @import("freetype.zig").RenderMode;
|
||||
const Matrix = @import("types.zig").Matrix;
|
||||
const Outline = @import("image.zig").Outline;
|
||||
const Outline = @import("Outline.zig");
|
||||
const GlyphFormat = @import("image.zig").GlyphFormat;
|
||||
const Vector = @import("image.zig").Vector;
|
||||
const GlyphMetrics = @import("image.zig").GlyphMetrics;
|
||||
|
|
@ -3,7 +3,7 @@ const c = @import("c");
|
|||
const intToError = @import("error.zig").intToError;
|
||||
const Error = @import("error.zig").Error;
|
||||
const Stroker = @import("stroke.zig").Stroker;
|
||||
const Face = @import("freetype.zig").Face;
|
||||
const Face = @import("Face.zig");
|
||||
const OpenArgs = @import("freetype.zig").OpenArgs;
|
||||
const LcdFilter = @import("lcdfilter.zig").LcdFilter;
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
const utils = @import("utils");
|
||||
const c = @import("c");
|
||||
const Face = @import("freetype.zig").Face;
|
||||
const Face = @import("Face.zig");
|
||||
|
||||
pub const Color = c.FT_Color;
|
||||
pub const LayerIterator = c.FT_LayerIterator;
|
||||
|
|
@ -4,11 +4,7 @@ const c = @import("c");
|
|||
const intToError = @import("error.zig").intToError;
|
||||
const Error = @import("error.zig").Error;
|
||||
const Generic = @import("types.zig").Generic;
|
||||
|
||||
pub usingnamespace @import("computations.zig");
|
||||
pub const Library = @import("Library.zig");
|
||||
pub const Face = @import("Face.zig");
|
||||
pub const GlyphSlot = @import("GlyphSlot.zig");
|
||||
const Face = @import("Face.zig");
|
||||
|
||||
pub const SizeRequest = c.FT_Size_RequestRec;
|
||||
pub const BitmapSize = c.FT_Bitmap_Size;
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
pub usingnamespace @import("color.zig");
|
||||
pub usingnamespace @import("freetype.zig");
|
||||
pub usingnamespace @import("glyph.zig");
|
||||
pub usingnamespace @import("image.zig");
|
||||
pub usingnamespace @import("lcdfilter.zig");
|
||||
pub usingnamespace @import("stroke.zig");
|
||||
pub usingnamespace @import("types.zig");
|
||||
pub const c = @import("c");
|
||||
pub const Error = @import("error.zig").Error;
|
||||
|
||||
const std = @import("std");
|
||||
|
||||
test {
|
||||
std.testing.refAllDeclsRecursive(@import("color.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("error.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("freetype.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("glyph.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("image.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("lcdfilter.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("stroke.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("types.zig"));
|
||||
}
|
||||
|
|
@ -3,12 +3,12 @@ const c = @import("c");
|
|||
const intToError = @import("error.zig").intToError;
|
||||
const Error = @import("error.zig").Error;
|
||||
const Stroker = @import("stroke.zig").Stroker;
|
||||
const Library = @import("freetype.zig").Library;
|
||||
const Library = @import("Library.zig");
|
||||
const RenderMode = @import("freetype.zig").RenderMode;
|
||||
const SizeMetrics = @import("freetype.zig").SizeMetrics;
|
||||
const Matrix = @import("types.zig").Matrix;
|
||||
const BBox = @import("types.zig").BBox;
|
||||
const Outline = @import("image.zig").Outline;
|
||||
const Outline = @import("Outline.zig");
|
||||
const GlyphFormat = @import("image.zig").GlyphFormat;
|
||||
const Vector = @import("image.zig").Vector;
|
||||
const Bitmap = @import("image.zig").Bitmap;
|
||||
|
|
@ -5,7 +5,6 @@ pub usingnamespace @import("face.zig");
|
|||
pub usingnamespace @import("font.zig");
|
||||
pub usingnamespace @import("shape.zig");
|
||||
pub usingnamespace @import("shape_plan.zig");
|
||||
pub const c = @import("c");
|
||||
|
||||
const std = @import("std");
|
||||
|
||||
|
|
@ -13,13 +12,3 @@ const std = @import("std");
|
|||
comptime {
|
||||
_ = @import("utils");
|
||||
}
|
||||
|
||||
test {
|
||||
std.testing.refAllDeclsRecursive(@import("blob.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("buffer.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("common.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("face.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("font.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("shape.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("shape_plan.zig"));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,8 +5,6 @@ const Error = @import("error.zig").Error;
|
|||
const Library = @import("Library.zig");
|
||||
const Color = @import("color.zig").Color;
|
||||
|
||||
pub const Outline = @import("Outline.zig");
|
||||
|
||||
pub const Vector = c.FT_Vector;
|
||||
pub const GlyphMetrics = c.FT_Glyph_Metrics;
|
||||
|
||||
113
freetype/src/main.zig
Normal file
113
freetype/src/main.zig
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
pub usingnamespace @import("color.zig");
|
||||
pub usingnamespace @import("freetype.zig");
|
||||
pub usingnamespace @import("glyph.zig");
|
||||
pub usingnamespace @import("image.zig");
|
||||
pub usingnamespace @import("lcdfilter.zig");
|
||||
pub usingnamespace @import("stroke.zig");
|
||||
pub usingnamespace @import("types.zig");
|
||||
pub usingnamespace @import("computations.zig");
|
||||
pub const Library = @import("Library.zig");
|
||||
pub const Face = @import("Face.zig");
|
||||
pub const GlyphSlot = @import("GlyphSlot.zig");
|
||||
pub const Error = @import("error.zig").Error;
|
||||
pub const Outline = @import("Outline.zig");
|
||||
pub const harfbuzz = @import("harfbuzz/main.zig");
|
||||
pub const c = @import("c");
|
||||
|
||||
const std = @import("std");
|
||||
const testing = std.testing;
|
||||
|
||||
// Remove once the stage2 compiler fixes pkg std not found
|
||||
comptime {
|
||||
_ = @import("utils");
|
||||
}
|
||||
|
||||
test {
|
||||
std.testing.refAllDeclsRecursive(@import("color.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("error.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("freetype.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("glyph.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("image.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("lcdfilter.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("stroke.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("types.zig"));
|
||||
std.testing.refAllDeclsRecursive(@import("computations.zig"));
|
||||
std.testing.refAllDeclsRecursive(Library);
|
||||
std.testing.refAllDeclsRecursive(Face);
|
||||
std.testing.refAllDeclsRecursive(GlyphSlot);
|
||||
std.testing.refAllDeclsRecursive(Outline);
|
||||
std.testing.refAllDeclsRecursive(harfbuzz);
|
||||
}
|
||||
|
||||
const firasans_font_path = thisDir() ++ "/../upstream/assets/FiraSans-Regular.ttf";
|
||||
const firasans_font_data = @embedFile(thisDir() ++ "/../upstream/assets/FiraSans-Regular.ttf");
|
||||
|
||||
fn thisDir() []const u8 {
|
||||
return std.fs.path.dirname(@src().file) orelse ".";
|
||||
}
|
||||
|
||||
test "create face from file" {
|
||||
const lib = try Library.init();
|
||||
_ = try lib.createFace(firasans_font_path, 0);
|
||||
}
|
||||
|
||||
test "create face from memory" {
|
||||
const lib = try Library.init();
|
||||
_ = try lib.createFaceMemory(firasans_font_data, 0);
|
||||
}
|
||||
|
||||
test "create stroker" {
|
||||
const lib = try Library.init();
|
||||
_ = try lib.createStroker();
|
||||
}
|
||||
|
||||
test "load glyph" {
|
||||
const lib = try Library.init();
|
||||
const face = try lib.createFace(firasans_font_path, 0);
|
||||
|
||||
try face.setPixelSizes(100, 100);
|
||||
try face.setCharSize(10 * 10, 0, 72, 0);
|
||||
|
||||
try face.loadGlyph(205, .{});
|
||||
try face.loadChar('A', .{});
|
||||
|
||||
face.deinit();
|
||||
}
|
||||
|
||||
test "attach file" {
|
||||
const lib = try Library.init();
|
||||
const face = try lib.createFace(thisDir() ++ "/../upstream/assets/DejaVuSans.pfb", 0);
|
||||
try face.attachFile(thisDir() ++ "/../upstream/assets/DejaVuSans.pfm");
|
||||
}
|
||||
|
||||
test "attach from memory" {
|
||||
const lib = try Library.init();
|
||||
const face = try lib.createFace(thisDir() ++ "/../upstream/assets/DejaVuSans.pfb", 0);
|
||||
const file = @embedFile(thisDir() ++ "/../upstream/assets/DejaVuSans.pfm");
|
||||
try face.attachMemory(file);
|
||||
}
|
||||
|
||||
test "charmap iterator" {
|
||||
const lib = try Library.init();
|
||||
const face = try lib.createFace(firasans_font_path, 0);
|
||||
var iterator = face.getCharmapIterator();
|
||||
var old_char: usize = 0;
|
||||
while (iterator.next()) |char| {
|
||||
try testing.expect(old_char != char);
|
||||
old_char = char;
|
||||
}
|
||||
}
|
||||
|
||||
test "get name index" {
|
||||
const lib = try Library.init();
|
||||
const face = try lib.createFace(firasans_font_path, 0);
|
||||
try testing.expectEqual(@as(u32, 1120), face.getNameIndex("summation").?);
|
||||
}
|
||||
|
||||
test "get index name" {
|
||||
const lib = try Library.init();
|
||||
const face = try lib.createFace(firasans_font_path, 0);
|
||||
var buf: [32]u8 = undefined;
|
||||
try face.getGlyphName(1120, &buf);
|
||||
try testing.expectEqualStrings(std.mem.sliceTo(&buf, 0), "summation");
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue