[subset/cff2] Parse vsindexdict in the subset accelerator private dicts The subset-side private-dict opset never handled OpCode_vsindexdict, so accelerator_subset_t's privateDicts[fd].ivs always stayed 0 and charstring interpretation during subsetting started from the wrong variation-store index for any FD whose Private dict declares a non-zero vsindex. Mirror what cff2_private_dict_opset_t does; the op bytes are still recorded so the verbatim-copy path is unchanged.
diff --git a/src/hb-ot-cff2-table.hh b/src/hb-ot-cff2-table.hh index 0618638..e46ea5a 100644 --- a/src/hb-ot-cff2-table.hh +++ b/src/hb-ot-cff2-table.hh
@@ -346,6 +346,12 @@ env.clear_args (); break; + case OpCode_vsindexdict: + env.process_vsindex (); + dictval.ivs = env.get_ivs (); + env.clear_args (); + break; + default: SUPER::process_op (op, env); if (!env.argStack.is_empty ()) return;