mirror of
https://github.com/harfbuzz/harfbuzz.git
synced 2025-04-14 17:13:40 +00:00
[unsafe-to-break] Mark all positions as unsafe in alternative shapers
This commit is contained in:
parent
05fabbd03e
commit
239119a631
4 changed files with 11 additions and 0 deletions
|
@ -1180,6 +1180,9 @@ resize_and_retry:
|
|||
pos->x_advance = info->mask;
|
||||
pos->x_offset = info->var1.i32;
|
||||
pos->y_offset = info->var2.i32;
|
||||
|
||||
info->mask = HB_GLYPH_FLAG_UNSAFE_TO_BREAK;
|
||||
|
||||
info++, pos++;
|
||||
}
|
||||
else
|
||||
|
@ -1188,6 +1191,9 @@ resize_and_retry:
|
|||
pos->y_advance = info->mask;
|
||||
pos->x_offset = info->var1.i32;
|
||||
pos->y_offset = info->var2.i32;
|
||||
|
||||
info->mask = HB_GLYPH_FLAG_UNSAFE_TO_BREAK;
|
||||
|
||||
info++, pos++;
|
||||
}
|
||||
|
||||
|
|
|
@ -880,6 +880,8 @@ retry_getglyphs:
|
|||
pos->x_offset =
|
||||
x_mult * (isRightToLeft ? -info->var1.i32 : info->var1.i32);
|
||||
pos->y_offset = y_mult * info->var2.i32;
|
||||
|
||||
info->mask = HB_GLYPH_FLAG_UNSAFE_TO_BREAK;
|
||||
}
|
||||
|
||||
if (isRightToLeft)
|
||||
|
|
|
@ -355,6 +355,7 @@ _hb_graphite2_shape (hb_shape_plan_t *shape_plan,
|
|||
hb_glyph_info_t *info = &buffer->info[clusters[i].base_glyph + j];
|
||||
info->codepoint = gids[clusters[i].base_glyph + j];
|
||||
info->cluster = clusters[i].cluster;
|
||||
info->mask = HB_GLYPH_FLAG_UNSAFE_TO_BREAK;
|
||||
info->var1.i32 = clusters[i].advance; // all glyphs in the cluster get the same advance
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1024,6 +1024,8 @@ retry:
|
|||
pos->x_advance = x_mult * (int32_t) info->mask;
|
||||
pos->x_offset = x_mult * (backward ? -info->var1.i32 : info->var1.i32);
|
||||
pos->y_offset = y_mult * info->var2.i32;
|
||||
|
||||
info->mask = HB_GLYPH_FLAG_UNSAFE_TO_BREAK;
|
||||
}
|
||||
|
||||
if (backward)
|
||||
|
|
Loading…
Add table
Reference in a new issue