mirror of https://github.com/OpenTTD/OpenTTD
Fix: [ICU] crash when trying to break a non-breaking run (#10791)
Clusters from harfbuzz are indexed from the start of the buffer, not from the start of the run analyzed. This confuses other parts of the code that do assume they are from the start of the run.pull/10776/head
parent
bc6a4b1d08
commit
aed36a609c
|
@ -208,7 +208,7 @@ void ICURun::Shape(UChar *buff, size_t buff_length) {
|
|||
x_advance = glyph_pos[i].x_advance / FONT_SCALE;
|
||||
}
|
||||
|
||||
this->glyph_to_char.push_back(glyph_info[i].cluster);
|
||||
this->glyph_to_char.push_back(glyph_info[i].cluster - this->start);
|
||||
this->advance.push_back(x_advance);
|
||||
advance += x_advance;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue