From fcc0ee80e1f31d4f215a08cc7f1066218176495b Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Sat, 1 Oct 2016 20:12:25 +0200 Subject: [PATCH] [sfnt] Disable bitmap strikes if we don't have a bitmap data table. * src/sfnt/ttsbit.c (tt_face_load_sbit): Check whether we have a bitmap data table. --- ChangeLog | 7 +++++++ src/sfnt/ttsbit.c | 13 ++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 183d012f3..70ffa9412 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2016-10-01 Werner Lemberg + + [sfnt] Disable bitmap strikes if we don't have a bitmap data table. + + * src/sfnt/ttsbit.c (tt_face_load_sbit): Check whether we have + a bitmap data table. + 2016-10-01 Alexei Podtelezhnikov [smooth] Remove impossibility. diff --git a/src/sfnt/ttsbit.c b/src/sfnt/ttsbit.c index 0a9011151..b5986aa7c 100644 --- a/src/sfnt/ttsbit.c +++ b/src/sfnt/ttsbit.c @@ -190,12 +190,14 @@ break; default: + /* we ignore unknown table formats */ error = FT_THROW( Unknown_File_Format ); break; } if ( !error ) - FT_TRACE3(( "sbit_num_strikes: %u\n", face->sbit_num_strikes )); + FT_TRACE3(( "tt_face_load_sbit_strikes: found %u strikes\n", + face->sbit_num_strikes )); face->ebdt_start = 0; face->ebdt_size = 0; @@ -218,6 +220,15 @@ } } + if ( !face->ebdt_size ) + { + FT_TRACE2(( "tt_face_load_sbit_strikes:" + " no embedded bitmap data table found;\n" + " " + " resetting number of strikes to zero\n" )); + face->sbit_num_strikes = 0; + } + return FT_Err_Ok; Exit: