Skip to content
  • Behdad Esfahbod's avatar
    [break-thai] Fix two bugs in libthai glue layer · c6d6cfff
    Behdad Esfahbod authored
    First bug is, we were passing as count to th_brk, the UTF-8
    length instead of TIS length.  Ouch!  I'm not sure how this
    was never caught...
    
    The other one was, break-thai was possibly marking a position
    is_line_break when break.c has already set it to is_char_break=FALSE.
    This broke the invariant that if a position is line-break, then it
    must be char-break as well.  This, in turn was hitting assertions
    in certain conditions.  Hit it with this for example:
    
    $ ./pango-view --text 'ส์" (S' --width 43 --font 156px
    
    Note that in a correct world the Latin part of that string should
    not reach break-thai.c at all, but that's not how pango-layout.c
    breaks right now.  See comment before pango_break() call in
    pango-layout.c.
    c6d6cfff