[truetype] Fix handling of phantom points in composite glyphs.

Problem reported by Nigel Tao <nigeltao@golang.org>.

This is a follow-up commit to the previous one.

* src/truetype/ttgload.c (load_truetype_glyph): Call
`tt_get_metrics' after loading the glyph header.
2.6.5
Werner Lemberg 11 years ago
parent 7e4b0fbfdd
commit 5e225b7c15
  1. 10
      ChangeLog
  2. 14
      src/truetype/ttgload.c

@ -1,3 +1,13 @@
2013-11-06 Werner Lemberg <wl@gnu.org>
[truetype] Fix handling of phantom points in composite glyphs.
Problem reported by Nigel Tao <nigeltao@golang.org>.
This is a follow-up commit to the previous one.
* src/truetype/ttgload.c (load_truetype_glyph): Call
`tt_get_metrics' after loading the glyph header.
2013-11-06 Werner Lemberg <wl@gnu.org>
[truetype] Improve emulation of vertical metrics.

@ -1387,8 +1387,6 @@
y_scale = 0x10000L;
}
tt_get_metrics( loader, glyph_index );
/* Set `offset' to the start of the glyph relative to the start of */
/* the `glyf' table, and `byte_len' to the length of the glyph in */
/* bytes. */
@ -1448,7 +1446,15 @@
/* read glyph header first */
error = face->read_glyph_header( loader );
if ( error || header_only )
if ( error )
goto Exit;
/* the metrics must be computed after loading the glyph header */
/* since we need the glyph's `yMax' value in case the vertical */
/* metrics must be emulated */
tt_get_metrics( loader, glyph_index );
if ( header_only )
goto Exit;
}
@ -1459,6 +1465,8 @@
loader->bbox.yMin = 0;
loader->bbox.yMax = 0;
tt_get_metrics( loader, glyph_index );
if ( header_only )
goto Exit;

Loading…
Cancel
Save