diff --git a/src/gfx_layout_icu.cpp b/src/gfx_layout_icu.cpp --- a/src/gfx_layout_icu.cpp +++ b/src/gfx_layout_icu.cpp @@ -206,7 +206,7 @@ void ICURun::Shape(UChar *buff, size_t b x_advance = glyph_pos[i].x_advance / FONT_SCALE; } - this->glyph_to_char.push_back(glyph_info[i].cluster - this->start); + this->glyph_to_char.push_back(glyph_info[i].cluster); this->advance.push_back(x_advance); advance += x_advance; } @@ -465,7 +465,7 @@ std::unique_ptrpartial_offset; + new_partial_length = char_pos - overflow_run->start - this->partial_offset; } }