diff options
author | Werner Lemberg <wl@gnu.org> | 2018-02-17 18:35:15 +0100 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2018-02-17 18:35:15 +0100 |
commit | 713d68ee9f47cc8df56e47fa2f54b191bb8c3186 (patch) | |
tree | 6af86fac3e0745fd505358c18a36fc4bacf087e4 | |
parent | 9fbd0041ca1e3cd96ebd9e3ee1cf8797251198ed (diff) | |
download | freetype2-713d68ee9f47cc8df56e47fa2f54b191bb8c3186.tar.gz |
[sfnt] Prefer `CBDT'/`CBLC' over `glyf' table (#53154).
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | src/sfnt/sfobjs.c | 9 |
2 files changed, 13 insertions, 0 deletions
@@ -1,3 +1,7 @@ +2018-02-17 Werner Lemberg <wl@gnu.org> + + [sfnt] Prefer `CBDT'/`CBLC' over `glyf' table (#53154). + 2018-02-06 Werner Lemberg <wl@gnu.org> [truetype] Integer overflow issues. diff --git a/src/sfnt/sfobjs.c b/src/sfnt/sfobjs.c index 0c917030f..6ba8509f5 100644 --- a/src/sfnt/sfobjs.c +++ b/src/sfnt/sfobjs.c @@ -1144,6 +1144,8 @@ FT_Bool has_outline; FT_Bool is_apple_sbit; FT_Bool is_apple_sbix; + FT_Bool has_CBLC; + FT_Bool has_CBDT; FT_Bool ignore_typographic_family = FALSE; FT_Bool ignore_typographic_subfamily = FALSE; @@ -1224,6 +1226,13 @@ goto Exit; } + has_CBLC = !face->goto_table( face, TTAG_CBLC, stream, 0 ); + has_CBDT = !face->goto_table( face, TTAG_CBDT, stream, 0 ); + + /* Ignore outlines for CBLC/CBDT fonts. */ + if ( has_CBLC || has_CBDT ) + has_outline = FALSE; + /* OpenType 1.8.2 introduced limits to this value; */ /* however, they make sense for older SFNT fonts also */ if ( face->header.Units_Per_EM < 16 || |