From 33ec7d473b6438b98893d7e76eff9123338c85c6 Mon Sep 17 00:00:00 2001 From: David Turner Date: Tue, 2 May 2000 10:51:04 +0000 Subject: [PATCH] removed an over-zealous assertation that halted the engine with a few weird fonts. --- src/base/ftstream.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/base/ftstream.c b/src/base/ftstream.c index c580ac81e..a39106808 100644 --- a/src/base/ftstream.c +++ b/src/base/ftstream.c @@ -188,7 +188,16 @@ BASE_FUNC void FT_Forget_Frame( FT_Stream stream ) { - FT_Assert( stream && stream->cursor != 0 ); + /* IMPORTANT: The assertion stream->cursor != 0 was removed, given */ + /* that it is possible to access a frame of length 0 in */ + /* some weird fonts (usually, when accessing an array of */ + /* 0 records, like in some strange kern tables).. */ + /* */ + /* In this case, the loader code handles the 0-length table */ + /* gracefully, however, stream.cursor is really set to 0 by the */ + /* FT_Access_Frame call, and this is not an error.. */ + /* */ + FT_Assert( stream ); if (stream->read) { @@ -206,7 +215,7 @@ { FT_Char result; - FT_Assert( stream && stream->cursor && stream->cursor ); + FT_Assert( stream && stream->cursor ); result = 0; if (stream->cursor < stream->limit)