From 497e7fb264ec5cb799c038cbe693b70410b18da3 Mon Sep 17 00:00:00 2001 From: Michiharu Ariza Date: Tue, 11 Sep 2018 16:47:55 -0700 Subject: [PATCH] misc bug fixes Added OpCode_FontMatrix to TopDictOpSet (yet to parse values) fixed a wrong assert in encode_int --- src/hb-cff-interp-dict-common.hh | 3 +++ src/hb-subset-cff-common.hh | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/hb-cff-interp-dict-common.hh b/src/hb-cff-interp-dict-common.hh index e589e9fed..acbc8cd83 100644 --- a/src/hb-cff-interp-dict-common.hh +++ b/src/hb-cff-interp-dict-common.hh @@ -279,6 +279,9 @@ struct TopDictOpSet : DictOpSet return false; env.clear_args (); break; + case OpCode_FontMatrix: + env.clear_args (); + break; default: return DictOpSet::process_op (op, env); } diff --git a/src/hb-subset-cff-common.hh b/src/hb-subset-cff-common.hh index 6f944d306..6c2b2a2d3 100644 --- a/src/hb-subset-cff-common.hh +++ b/src/hb-subset-cff-common.hh @@ -59,7 +59,7 @@ struct ByteStrBuff : hb_vector_t return encode_byte ((v >> 8) + OpCode_TwoByteNegInt0) && encode_byte (v & 0xFF); } } - assert ((v & ~0xFFFF) == 0); + assert ((-32768 <= v) && (v <= 32767)); return encode_byte (OpCode_shortint) && encode_byte ((v >> 8) & 0xFF) && encode_byte (v & 0xFF);