[HB] Use face_t directly instead of ot_layout_t
diff --git a/src/hb-ot-layout-private.h b/src/hb-ot-layout-private.h
index 447c750..d3f3abb 100644
--- a/src/hb-ot-layout-private.h
+++ b/src/hb-ot-layout-private.h
@@ -31,10 +31,12 @@
 
 #include "hb-ot-layout.h"
 
-#include "hb-font-private.h"
+#include "hb-font.h"
 #include "hb-buffer-private.h"
 
 
+HB_BEGIN_DECLS
+
 typedef unsigned int hb_ot_layout_class_t;
 
 /*
@@ -45,6 +47,8 @@
 
 struct _hb_ot_layout_t
 {
+  hb_face_t *face; /* XXX can do without this */
+
   const struct GDEF *gdef;
   const struct GSUB *gsub;
   const struct GPOS *gpos;
@@ -59,7 +63,7 @@
 typedef struct _hb_ot_layout_context_t hb_ot_layout_context_t;
 struct _hb_ot_layout_context_t
 {
-  hb_ot_layout_t *layout;
+  hb_face_t *face;
   hb_font_t *font;
 
   union info_t
@@ -74,40 +78,42 @@
 };
 
 
-HB_BEGIN_DECLS
+void
+_hb_ot_layout_init (hb_ot_layout_t *layout,
+		    hb_face_t      *face);
+
+void
+_hb_ot_layout_fini (hb_ot_layout_t *layout);
+
 
 /*
  * GDEF
  */
 
 HB_INTERNAL hb_bool_t
-_hb_ot_layout_has_new_glyph_classes (hb_ot_layout_t *layout);
-
-HB_INTERNAL unsigned int
-_hb_ot_layout_get_glyph_property (hb_ot_layout_t *layout,
-				  hb_codepoint_t  glyph);
+_hb_ot_layout_has_new_glyph_classes (hb_face_t *face);
 
 HB_INTERNAL void
-_hb_ot_layout_set_glyph_property (hb_ot_layout_t *layout,
+_hb_ot_layout_set_glyph_property (hb_face_t      *face,
 				  hb_codepoint_t  glyph,
 				  unsigned int    property);
 
 HB_INTERNAL void
-_hb_ot_layout_set_glyph_class (hb_ot_layout_t             *layout,
+_hb_ot_layout_set_glyph_class (hb_face_t                  *face,
 			       hb_codepoint_t              glyph,
 			       hb_ot_layout_glyph_class_t  klass);
 
 HB_INTERNAL hb_bool_t
-_hb_ot_layout_check_glyph_property (hb_ot_layout_t  *layout,
+_hb_ot_layout_check_glyph_property (hb_face_t    *face,
 				    hb_internal_glyph_info_t *ginfo,
-				    unsigned int     lookup_flags,
-				    unsigned int    *property);
+				    unsigned int  lookup_flags,
+				    unsigned int *property);
 
 HB_INTERNAL hb_bool_t
-_hb_ot_layout_skip_mark (hb_ot_layout_t  *layout,
-			  hb_internal_glyph_info_t *ginfo,
-			  unsigned int     lookup_flags,
-			  unsigned int    *property);
+_hb_ot_layout_skip_mark (hb_face_t    *face,
+			 hb_internal_glyph_info_t *ginfo,
+			 unsigned int  lookup_flags,
+			 unsigned int *property);
 
 HB_END_DECLS