|
|
@ -1598,20 +1598,20 @@ struct GPOS : GSUBGPOS |
|
|
|
static void |
|
|
|
static void |
|
|
|
fix_cursive_minor_offset (hb_glyph_position_t *pos, unsigned int i, hb_direction_t direction) |
|
|
|
fix_cursive_minor_offset (hb_glyph_position_t *pos, unsigned int i, hb_direction_t direction) |
|
|
|
{ |
|
|
|
{ |
|
|
|
unsigned int j = pos[i].cursive_chain(); |
|
|
|
unsigned int j = pos[i].cursive_chain(); |
|
|
|
if (likely (!j)) |
|
|
|
if (likely (!j)) |
|
|
|
return; |
|
|
|
return; |
|
|
|
|
|
|
|
|
|
|
|
j += i; |
|
|
|
j += i; |
|
|
|
|
|
|
|
|
|
|
|
pos[i].cursive_chain() = 0; |
|
|
|
pos[i].cursive_chain() = 0; |
|
|
|
|
|
|
|
|
|
|
|
fix_cursive_minor_offset (pos, j, direction); |
|
|
|
fix_cursive_minor_offset (pos, j, direction); |
|
|
|
|
|
|
|
|
|
|
|
if (HB_DIRECTION_IS_HORIZONTAL (direction)) |
|
|
|
if (HB_DIRECTION_IS_HORIZONTAL (direction)) |
|
|
|
pos[i].y_offset += pos[j].y_offset; |
|
|
|
pos[i].y_offset += pos[j].y_offset; |
|
|
|
else |
|
|
|
else |
|
|
|
pos[i].x_offset += pos[j].x_offset; |
|
|
|
pos[i].x_offset += pos[j].x_offset; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static void |
|
|
|
static void |
|
|
|