I am having a weird problem where I can render text with HarfBuzz and it is generally doing the right thing in terms of shaping, but glyph offsets seem to be coming out zero all the time, leading to general badness.
Here's a very clear case, I am rendering Chinese with the initial character being this left-bracket-quote-thing that is supposed to be offset pretty far to the right: [image: Inline image 1] (Yeah, nothing is really happening here to shape this text, I am just saying that the shaping and all that is working fine with Arabic etc, but this particular square-bracket quote is a really obvious case of an offset being wrong). The hb_glyph_position_t for this glyph gives me: x_advance = 2880 y_advance = 0 x_offset = 0 y_offset = 0 Now, when I ask FreeType about the glyph, format = FT_GLYPH_FORMAT_BITMAP bitmap_left = 29 bitmap_top = 39 advance.x = 2880 advance.y = 0 metrics.horiBearingX = 1856 metrics.horiBearingY = 2496 metrics.horiAdvanace = 2880 So the advances agree, but the offsets are getting dropped on the floor somehow. When I change my code to use FreeType's offsets, I get: [image: Inline image 2] and all is right with the world. But of course the whole *point* of using HarfBuzz is that I am supposed to be able to listen to what HB tells me. So this is a problem. (My Arabic rendering is messed up too, by the way ... you can see the current results at this blog posting: http://the-witness.net/news/2015/12/entering-the-home-stretch/ ... so it is not like this is a corner case.) To shape I am doing this: hb_buffer_clear_contents(hb_buffer); hb_buffer_set_direction(hb_buffer, HB_DIRECTION_LTR); hb_buffer_set_script(hb_buffer, HB_SCRIPT_UNKNOWN); hb_buffer_set_language(hb_buffer, hb_language_from_string("zh_TW", -1)); hb_buffer_add_utf8(hb_buffer, s, len, 0, len); hb_shape(hb_font, hb_buffer, features, num_features); (num_features == 0 in this case.) It seems pretty straightforward. But since there doesn't seem to be any real HB documentation anywhere that I can find, I don't really know. This is using HarfBuzz 1.1.2 on Windows. Anyone have any idea what is going on here?
_______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
