WIP
diff --git a/src/hb-ot-layout.hh b/src/hb-ot-layout.hh
index fcc0998..02c8c7b 100644
--- a/src/hb-ot-layout.hh
+++ b/src/hb-ot-layout.hh
@@ -34,6 +34,7 @@
#include "hb-font.hh"
#include "hb-buffer.hh"
#include "hb-open-type.hh"
+#include "hb-set-digest.hh"
/* Private API corresponding to hb-ot-layout.h: */
@@ -86,7 +87,22 @@
hb_buffer_t *buffer);
-struct hb_ot_layout_lookup_accelerator_t;
+struct hb_ot_layout_lookup_accelerator_t
+{
+ template <typename TLookup>
+ inline void init (const TLookup &lookup)
+ {
+ digest.init ();
+ lookup.add_coverage (&digest);
+ }
+ inline void fini (void) {}
+
+ inline bool may_have (hb_codepoint_t g) const
+ { return digest.may_have (g); }
+
+ private:
+ hb_set_digest_t digest;
+};
namespace OT {
struct hb_ot_apply_context_t;