Upgrade to latest harfbuzz
[framework/uifw/harfbuzz.git] / src / hb-ot-layout.h
index a6dbc61..b8b5baf 100644 (file)
  * Red Hat Author(s): Behdad Esfahbod
  */
 
+#ifndef HB_OT_H_IN
+#error "Include <hb-ot.h> instead."
+#endif
+
 #ifndef HB_OT_LAYOUT_H
 #define HB_OT_LAYOUT_H
 
-#include "hb-common.h"
-#include "hb-buffer.h"
-#include "hb-font.h"
+#include "hb.h"
 
 #include "hb-ot-tag.h"
 
@@ -63,7 +65,7 @@ hb_ot_layout_get_ligature_carets (hb_font_t      *font,
                                  hb_codepoint_t  glyph,
                                  unsigned int    start_offset,
                                  unsigned int   *caret_count /* IN/OUT */,
-                                 int            *caret_array /* OUT */);
+                                 hb_position_t  *caret_array /* OUT */);
 
 
 /*
@@ -92,7 +94,8 @@ hb_bool_t
 hb_ot_layout_table_choose_script (hb_face_t      *face,
                                  hb_tag_t        table_tag,
                                  const hb_tag_t *script_tags,
-                                 unsigned int   *script_index);
+                                 unsigned int   *script_index,
+                                 hb_tag_t       *chosen_script);
 
 unsigned int
 hb_ot_layout_table_get_feature_tags (hb_face_t    *face,
@@ -165,12 +168,26 @@ hb_ot_layout_feature_get_lookup_indexes (hb_face_t    *face,
 hb_bool_t
 hb_ot_layout_has_substitution (hb_face_t *face);
 
+/* Should be called before all the substitute_lookup's are done. */
+void
+hb_ot_layout_substitute_start (hb_buffer_t  *buffer);
+
 hb_bool_t
 hb_ot_layout_substitute_lookup (hb_face_t    *face,
                                hb_buffer_t  *buffer,
                                unsigned int  lookup_index,
                                hb_mask_t     mask);
 
+/* Should be called after all the substitute_lookup's are done */
+void
+hb_ot_layout_substitute_finish (hb_buffer_t  *buffer);
+
+
+void
+hb_ot_layout_substitute_closure_lookup (hb_face_t    *face,
+                                       hb_set_t     *glyphs,
+                                       unsigned int  lookup_index);
+
 /*
  * GPOS
  */