Add hb_ot_shape_execute()
Not public yet.
diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc
index b6acb22..efa71ba 100644
--- a/src/hb-ot-shape.cc
+++ b/src/hb-ot-shape.cc
@@ -270,7 +270,7 @@
/* Do it! */
static void
-hb_ot_shape_internal (hb_ot_shape_context_t *c)
+hb_ot_shape_execute_internal (hb_ot_shape_context_t *c)
{
/* Save the original direction, we use it later. */
c->original_direction = c->buffer->props.direction;
@@ -333,6 +333,18 @@
}
void
+hb_ot_shape_execute (hb_ot_shape_plan_t *plan,
+ hb_font_t *font,
+ hb_face_t *face,
+ hb_buffer_t *buffer,
+ const hb_feature_t *user_features,
+ unsigned int num_user_features)
+{
+ hb_ot_shape_context_t c = {plan, font, face, buffer, user_features, num_user_features};
+ hb_ot_shape_execute_internal (&c);
+}
+
+void
hb_ot_shape (hb_font_t *font,
hb_face_t *face,
hb_buffer_t *buffer,
@@ -342,10 +354,7 @@
hb_ot_shape_plan_t plan;
hb_ot_shape_plan_internal (&plan, face, &buffer->props, user_features, num_user_features);
-
- hb_ot_shape_context_t c = {font, face, buffer, user_features, num_user_features};
- c.plan = &plan;
- hb_ot_shape_internal (&c);
+ hb_ot_shape_execute (&plan, font, face, buffer, user_features, num_user_features);
}