Do mirroring

This commit is contained in:
Behdad Esfahbod 2009-12-20 16:28:01 +01:00
parent 0465e69832
commit 6a2ef5aa54
1 changed files with 17 additions and 1 deletions

View File

@ -103,6 +103,21 @@ hb_ensure_native_direction (hb_buffer_t *buffer)
return original_direction; return original_direction;
} }
static void
hb_mirror_chars (hb_buffer_t *buffer)
{
unsigned int count;
hb_unicode_funcs_t *unicode = buffer->unicode;
if (HB_DIRECTION_IS_FORWARD (buffer->direction))
return;
count = buffer->in_length;
for (buffer->in_pos = 0; buffer->in_pos < count; buffer->in_pos++) {
IN_CURGLYPH() = hb_unicode_get_mirroring (unicode, IN_CURGLYPH());
}
}
void void
hb_shape (hb_font_t *font, hb_shape (hb_font_t *font,
@ -116,7 +131,8 @@ hb_shape (hb_font_t *font,
hb_form_clusters (buffer); hb_form_clusters (buffer);
original_direction = hb_ensure_native_direction (buffer); original_direction = hb_ensure_native_direction (buffer);
/* do_mirroring (buffer); */ hb_mirror_chars (buffer);
/* OT preprocess */ /* OT preprocess */
hb_map_glyphs (font, face, buffer); hb_map_glyphs (font, face, buffer);