* 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"
hb_codepoint_t glyph,
unsigned int start_offset,
unsigned int *caret_count /* IN/OUT */,
- int *caret_array /* OUT */);
+ hb_position_t *caret_array /* OUT */);
/*
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,
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
*/