diff --git a/pkg/fontconfig/char_set.zig b/pkg/fontconfig/char_set.zig index 5ab7cd201..3101f7258 100644 --- a/pkg/fontconfig/char_set.zig +++ b/pkg/fontconfig/char_set.zig @@ -11,6 +11,10 @@ pub const CharSet = opaque { c.FcCharSetDestroy(self.cval()); } + pub fn hasChar(self: *CharSet, cp: u32) bool { + return c.FcCharSetHasChar(self.cval(), cp) == c.FcTrue; + } + pub inline fn cval(self: *CharSet) *c.struct__FcCharSet { return @ptrCast( *c.struct__FcCharSet, @@ -20,6 +24,10 @@ pub const CharSet = opaque { }; test "create" { + const testing = std.testing; + var fs = CharSet.create(); defer fs.destroy(); + + try testing.expect(!fs.hasChar(0x20)); } diff --git a/pkg/fontconfig/lang_set.zig b/pkg/fontconfig/lang_set.zig index 113932571..7f71f394a 100644 --- a/pkg/fontconfig/lang_set.zig +++ b/pkg/fontconfig/lang_set.zig @@ -11,6 +11,10 @@ pub const LangSet = opaque { c.FcLangSetDestroy(self.cval()); } + pub fn hasLang(self: *LangSet, lang: [:0]const u8) bool { + return c.FcLangSetHasLang(self.cval(), lang.ptr) == c.FcTrue; + } + pub inline fn cval(self: *LangSet) *c.struct__FcLangSet { return @ptrCast( *c.struct__FcLangSet, @@ -20,6 +24,10 @@ pub const LangSet = opaque { }; test "create" { + const testing = std.testing; + var fs = LangSet.create(); defer fs.destroy(); + + try testing.expect(!fs.hasLang("und-zsye")); }