I *think* thins might be happening simply becasue in icu-le-hb the buffer is created in the LayoutEngine constructor and destroyed in destructor. At the end of each layoutChars call, the buffer size is set to 0 by calling hb_buffer_set_length(fHbBuffer, 0). But between consecutive layoutChars calls the same buffer is used. My assumption is (I could be wrong though) that in some cases the buffer's content_type will be HB_BUFFER_CONTENT_TYPE_GLYPHS from the previous call. This then causes assert to fail when hb_buffer_add_utf16 is called before the next shaping call.
But so far I did not observe any other ill effects. As I said, the shaping process seems to work fine. > -----Original Message----- > From: "Dejan Kovacevic" <[email protected]> > To: "Behdad Esfahbod" <[email protected]>, [email protected] > Date: 11/15/13 12:28 > Subject: Re: [HarfBuzz] assert in hb_buffer_add_utf > > Yes, it appears icu-le-hb hits it. Other than that, seems to work fine (but > will be doing some more testing later)... > > > -----Original Message----- > > From: "Behdad Esfahbod" <[email protected]> > > To: "Dejan Kovacevic" <[email protected]>, [email protected] > > Date: 11/15/13 12:18 > > Subject: Re: [HarfBuzz] assert in hb_buffer_add_utf > > > > On 13-11-15 12:13 PM, Dejan Kovacevic wrote: > > > The hb_buffer_add_utf function starts with the following assert > > > (hb-buffer.cc: line 1289): > > > > > > assert (buffer->content_type == HB_BUFFER_CONTENT_TYPE_UNICODE || > > > (!buffer->len && buffer->content_type == > > > HB_BUFFER_CONTENT_TYPE_INVALID)); > > > > > > I have observed that buffer->content_type can also be > > > HB_BUFFER_CONTENT_TYPE_GLYPHS, in which case the assert fails. Not sure > > > if this is by design. > > > > That's exactly why the assert is there. If you use the buffer correctly the > > assert will never be hit. Do you have a use case that is asserting > > currently? > > > > -- > > behdad > > http://behdad.org/ > > > _______________________________________________ > HarfBuzz mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/harfbuzz _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
