aboutsummaryrefslogtreecommitdiff
path: root/freetype/src/type42/t42objs.c
diff options
context:
space:
mode:
Diffstat (limited to 'freetype/src/type42/t42objs.c')
-rw-r--r--freetype/src/type42/t42objs.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/freetype/src/type42/t42objs.c b/freetype/src/type42/t42objs.c
index 2595ecc25..66bdb6907 100644
--- a/freetype/src/type42/t42objs.c
+++ b/freetype/src/type42/t42objs.c
@@ -47,6 +47,12 @@
if ( FT_ALLOC( face->ttf_data, 12 ) )
goto Exit;
+ /* while parsing the font we always update `face->ttf_size' so that */
+ /* even in case of buggy data (which might lead to premature end of */
+ /* scanning without causing an error) the call to `FT_Open_Face' in */
+ /* `T42_Face_Init' passes the correct size */
+ face->ttf_size = 12;
+
error = t42_parser_init( parser,
face->root.stream,
memory,
@@ -286,7 +292,9 @@
FT_Open_Args args;
- args.flags = FT_OPEN_MEMORY;
+ args.flags = FT_OPEN_MEMORY | FT_OPEN_DRIVER;
+ args.driver = FT_Get_Module( FT_FACE_LIBRARY( face ),
+ "truetype" );
args.memory_base = face->ttf_data;
args.memory_size = face->ttf_size;