diff --git a/src/hb-ot-metrics-internal.cc b/src/hb-ot-metrics-internal.cc index ccf4e3706..513053c1f 100644 --- a/src/hb-ot-metrics-internal.cc +++ b/src/hb-ot-metrics-internal.cc @@ -60,14 +60,14 @@ hb_ot_metrics_get_position_internal (hb_face_t *face, (face->table.TABLE->has_data () && \ (position && (*position = face->table.TABLE->ATTR + GET_VAR), true)) case HB_OT_METRICS_HORIZONTAL_ASCENDER: - return face->table.OS2->use_typo_metrics () ? - GET_METRIC (OS2, sTypoAscender) : GET_METRIC (hhea, ascender); + return (face->table.OS2->use_typo_metrics () && GET_METRIC (OS2, sTypoAscender)) || + GET_METRIC (hhea, ascender); case HB_OT_METRICS_HORIZONTAL_DESCENDER: - return face->table.OS2->use_typo_metrics () ? - GET_METRIC (OS2, sTypoDescender) : GET_METRIC (hhea, descender); + return (face->table.OS2->use_typo_metrics () && GET_METRIC (OS2, sTypoDescender)) || + GET_METRIC (hhea, descender); case HB_OT_METRICS_HORIZONTAL_LINE_GAP: - return face->table.OS2->use_typo_metrics () ? - GET_METRIC (OS2, sTypoLineGap) : GET_METRIC (hhea, lineGap); + return (face->table.OS2->use_typo_metrics () && GET_METRIC (OS2, sTypoLineGap)) || + GET_METRIC (hhea, lineGap); case HB_OT_METRICS_HORIZONTAL_CLIPPING_ASCENT: return GET_METRIC (OS2, usWinAscent); case HB_OT_METRICS_HORIZONTAL_CLIPPING_DESCENT: return GET_METRIC (OS2, usWinDescent); case HB_OT_METRICS_VERTICAL_ASCENDER: return GET_METRIC (vhea, ascender);