diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc index 5403798c7..1fe0d1756 100644 --- a/src/hb-ot-shape.cc +++ b/src/hb-ot-shape.cc @@ -581,38 +581,42 @@ hb_ot_shape (hb_font_t *font, hb_form_clusters (buffer); /* SUBSTITUTE */ + { - buffer->clear_masks (); + buffer->clear_masks (); - /* Mirroring needs to see the original direction */ - hb_mirror_chars (buffer); + /* Mirroring needs to see the original direction */ + hb_mirror_chars (buffer); - original_direction = hb_ensure_native_direction (buffer); + original_direction = hb_ensure_native_direction (buffer); - hb_substitute_default (font, face, buffer, features, num_features); + hb_substitute_default (font, face, buffer, features, num_features); - substitute_fallback = !hb_ot_substitute_complex (font, face, buffer, features, num_features, original_direction); + substitute_fallback = !hb_ot_substitute_complex (font, face, buffer, features, num_features, original_direction); - if (substitute_fallback) - hb_substitute_complex_fallback (font, face, buffer, features, num_features); + if (substitute_fallback) + hb_substitute_complex_fallback (font, face, buffer, features, num_features); + } /* POSITION */ + { - buffer->clear_masks (); + buffer->clear_masks (); - hb_position_default (font, face, buffer, features, num_features); + hb_position_default (font, face, buffer, features, num_features); - position_fallback = !hb_ot_position_complex (font, face, buffer, features, num_features, original_direction); + position_fallback = !hb_ot_position_complex (font, face, buffer, features, num_features, original_direction); - if (position_fallback) - hb_position_complex_fallback (font, face, buffer, features, num_features); + if (position_fallback) + hb_position_complex_fallback (font, face, buffer, features, num_features); - if (HB_DIRECTION_IS_BACKWARD (buffer->direction)) - hb_buffer_reverse (buffer); + if (HB_DIRECTION_IS_BACKWARD (buffer->direction)) + hb_buffer_reverse (buffer); - if (position_fallback) - hb_position_complex_fallback_visual (font, face, buffer, features, num_features); + if (position_fallback) + hb_position_complex_fallback_visual (font, face, buffer, features, num_features); + } buffer->direction = original_direction; }