equal
deleted
inserted
replaced
260 float *x, float *y) const |
260 float *x, float *y) const |
261 { |
261 { |
262 hb_font_t *font = c->font; |
262 hb_font_t *font = c->font; |
263 unsigned int x_ppem = font->x_ppem; |
263 unsigned int x_ppem = font->x_ppem; |
264 unsigned int y_ppem = font->y_ppem; |
264 unsigned int y_ppem = font->y_ppem; |
265 hb_position_t cx, cy; |
265 hb_position_t cx = 0, cy = 0; |
266 hb_bool_t ret; |
266 hb_bool_t ret; |
267 |
267 |
268 ret = (x_ppem || y_ppem) && |
268 ret = (x_ppem || y_ppem) && |
269 font->get_glyph_contour_point_for_origin (glyph_id, anchorPoint, HB_DIRECTION_LTR, &cx, &cy); |
269 font->get_glyph_contour_point_for_origin (glyph_id, anchorPoint, HB_DIRECTION_LTR, &cx, &cy); |
270 *x = ret && x_ppem ? cx : font->em_fscale_x (xCoordinate); |
270 *x = ret && x_ppem ? cx : font->em_fscale_x (xCoordinate); |
1495 }; |
1495 }; |
1496 |
1496 |
1497 typedef OffsetListOf<PosLookup> PosLookupList; |
1497 typedef OffsetListOf<PosLookup> PosLookupList; |
1498 |
1498 |
1499 /* |
1499 /* |
1500 * GPOS -- The Glyph Positioning Table |
1500 * GPOS -- Glyph Positioning |
|
1501 * https://docs.microsoft.com/en-us/typography/opentype/spec/gpos |
1501 */ |
1502 */ |
1502 |
1503 |
1503 struct GPOS : GSUBGPOS |
1504 struct GPOS : GSUBGPOS |
1504 { |
1505 { |
1505 static const hb_tag_t tableTag = HB_OT_TAG_GPOS; |
1506 static const hb_tag_t tableTag = HB_OT_TAG_GPOS; |