T1_Open_Face now tolerates a face with no charstrings if there is an incremental loading interface. This is essential if incremental loading of Type 1 fonts supplied by PostScript is to work.
diff --git a/src/type1/t1load.c b/src/type1/t1load.c
index b06c8d8..3b7c9d7 100644
--- a/src/type1/t1load.c
+++ b/src/type1/t1load.c
@@ -1711,11 +1711,14 @@
type1->subrs_len = loader.subrs.lengths;
}
- if ( !loader.charstrings.init )
- {
- FT_ERROR(( "T1_Open_Face: no charstrings array in face!\n" ));
- error = T1_Err_Invalid_File_Format;
- }
+#ifdef FT_CONFIG_OPTION_INCREMENTAL
+ if (!face->root.internal->incremental_interface)
+#endif
+ if ( !loader.charstrings.init )
+ {
+ FT_ERROR(( "T1_Open_Face: no charstrings array in face!\n" ));
+ error = T1_Err_Invalid_File_Format;
+ }
loader.charstrings.init = 0;
type1->charstrings_block = loader.charstrings.block;