[cff] Handle T2 operator only with old CFF engine (#47157). * src/cff/cffparse.c (cff_parser_run) <opcode 31>: Enclose with
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
diff --git a/ChangeLog b/ChangeLog
index ceb6166..25f771b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2016-02-15 Werner Lemberg <wl@gnu.org>
+ [cff] Handle T2 operator only with old CFF engine (#47157).
+
+ * src/cff/cffparse.c (cff_parser_run) <opcode 31>: Enclose with
+ #ifdef CFF_CONFIG_OPTION_OLD_ENGINE...#endif.
+
+2016-02-15 Werner Lemberg <wl@gnu.org>
+
[cff] Partially handle `load' and `store' ops in old CFF engine.
Now all glyphs of MM CFFs like `ITCGaramondMM-It.otf' can be
diff --git a/src/cff/cffparse.c b/src/cff/cffparse.c
index 921c1a1..9b935c3 100644
--- a/src/cff/cffparse.c
+++ b/src/cff/cffparse.c
@@ -1049,6 +1049,7 @@
else if ( v > 246 )
p += 1;
}
+#ifdef CFF_CONFIG_OPTION_OLD_ENGINE
else if ( v == 31 )
{
/* a Type 2 charstring */
@@ -1177,6 +1178,7 @@
stack++;
}
}
+#endif /* CFF_CONFIG_OPTION_OLD_ENGINE */
else
{
/* This is not a number, hence it's an operator. Compute its code */