From: Behdad Esfahbod Date: Thu, 10 Dec 2015 15:37:49 +0000 (+0100) Subject: [ot-font] Respect OS/2 fsSelection USE_TYPO_METRICS bit X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3ad16048fdd841f31f1cb98d7ff9ea1871841146;p=platform%2Fupstream%2FlibHarfBuzzSharp.git [ot-font] Respect OS/2 fsSelection USE_TYPO_METRICS bit --- diff --git a/src/hb-ot-font.cc b/src/hb-ot-font.cc index a0f1e30..e7b57b8 100644 --- a/src/hb-ot-font.cc +++ b/src/hb-ot-font.cc @@ -62,11 +62,15 @@ struct hb_ot_face_metrics_accelerator_t { hb_blob_t *os2_blob = OT::Sanitizer::sanitize (face->reference_table (os2_tag)); const OT::os2 *os2 = OT::Sanitizer::lock_instance (os2_blob); - this->ascender = os2->sTypoAscender; - this->descender = os2->sTypoDescender; - this->line_gap = os2->sTypoLineGap; +#define USE_TYPO_METRICS (1u<<7) + if (0 != (os2->fsSelection & USE_TYPO_METRICS)) + { + this->ascender = os2->sTypoAscender; + this->descender = os2->sTypoDescender; + this->line_gap = os2->sTypoLineGap; + got_font_extents = (this->ascender | this->descender) != 0; + } hb_blob_destroy (os2_blob); - got_font_extents = (this->ascender | this->descender) != 0; } hb_blob_t *_hea_blob = OT::Sanitizer::sanitize (face->reference_table (_hea_tag));