inline static bool serialize_offset4_op (hb_serialize_context_t *c, OpCode op, int value)
{
- if (value == 0) return true;
return serialize_uint4_op (c, op, value);
}
inline static bool serialize_offset2_op (hb_serialize_context_t *c, OpCode op, int value)
{
- if (value == 0) return true;
return serialize_uint2_op (c, op, value);
}
};
case OpCode_Encoding:
dictval.EncodingOffset = env.argStack.pop_uint ();
env.clear_args ();
+ if (unlikely (dictval.EncodingOffset == 0)) return;
break;
case OpCode_charset:
dictval.CharsetOffset = env.argStack.pop_uint ();
env.clear_args ();
+ if (unlikely (dictval.CharsetOffset == 0)) return;
break;
case OpCode_FDSelect:
final_size += offsets.globalSubrsInfo.size;
/* Encoding */
- if (!subset_encoding && acc.is_predef_charset ())
+ if (!subset_encoding)
offsets.encodingOffset = acc.topDict.EncodingOffset;
else
+ {
offsets.encodingOffset = final_size;
- if (subset_encoding)
final_size += plan_subset_encoding (acc, plan);
+ }
/* Charset */
if (!subset_charset && acc.is_predef_charset ())