|
|
|
@ -164,9 +164,14 @@ hb_ot_metrics_get_position (hb_font_t *font, |
|
|
|
|
case HB_OT_METRICS_TAG_HORIZONTAL_CARET_RISE: |
|
|
|
|
case HB_OT_METRICS_TAG_HORIZONTAL_CARET_RUN: |
|
|
|
|
{ |
|
|
|
|
unsigned rise = face->table.hhea->caretSlopeRise; |
|
|
|
|
unsigned upem = face->get_upem (); |
|
|
|
|
unsigned mult = (font->slant && rise && rise < upem) ? hb_min (upem / rise, 256u) : 1u; |
|
|
|
|
unsigned mult = 1u; |
|
|
|
|
|
|
|
|
|
if (font->slant) |
|
|
|
|
{ |
|
|
|
|
unsigned rise = face->table.hhea->caretSlopeRise; |
|
|
|
|
unsigned upem = face->get_upem (); |
|
|
|
|
mult = (rise && rise < upem) ? hb_min (upem / rise, 256u) : 1u; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (metrics_tag == HB_OT_METRICS_TAG_HORIZONTAL_CARET_RISE) |
|
|
|
|
return mult * GET_METRIC_Y (hhea, caretSlopeRise); |
|
|
|
|