[otfallback] Never fallback-position a below-mark upwards
Test with WinXP times.ttf and U+05D9,U+05B5.
This commit is contained in:
parent
8177da29ad
commit
dba9580237
|
@ -261,6 +261,12 @@ position_mark (const hb_ot_shape_plan_t *plan,
|
||||||
case HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT:
|
case HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT:
|
||||||
case HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW:
|
case HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW:
|
||||||
pos.y_offset = base_extents.y_bearing + base_extents.height - mark_extents.y_bearing;
|
pos.y_offset = base_extents.y_bearing + base_extents.height - mark_extents.y_bearing;
|
||||||
|
/* Never shift a "below" mark upwards. */
|
||||||
|
if ((y_gap > 0) == (pos.y_offset > 0))
|
||||||
|
{
|
||||||
|
base_extents.height -= pos.y_offset;
|
||||||
|
pos.y_offset = 0;
|
||||||
|
}
|
||||||
base_extents.height += mark_extents.height;
|
base_extents.height += mark_extents.height;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue