diff --git a/src/OT/Var/VARC/VARC.cc b/src/OT/Var/VARC/VARC.cc index 9385f6f34..428d9568f 100644 --- a/src/OT/Var/VARC/VARC.cc +++ b/src/OT/Var/VARC/VARC.cc @@ -302,6 +302,16 @@ VarComponent::get_path_at (hb_font_t *font, visited, edges_left, depth_left - 1); #undef PROCESS_TRANSFORM_COMPONENTS + + // Read reserved records + unsigned i = flags & (unsigned) flags_t::RESERVED_MASK; + while (i) + { + HB_UNUSED uint32_t discard; + READ_UINT32VAR (discard); + i &= i - 1; + } + #undef READ_UINT32VAR return record; diff --git a/src/OT/Var/VARC/VARC.hh b/src/OT/Var/VARC/VARC.hh index 553376148..a96b1cf7c 100644 --- a/src/OT/Var/VARC/VARC.hh +++ b/src/OT/Var/VARC/VARC.hh @@ -38,7 +38,7 @@ struct VarComponent GID_IS_24BIT = 1u << 12, HAVE_SKEW_X = 1u << 13, HAVE_SKEW_Y = 1u << 14, - RESERVED = ~((1u << 15) - 1), + RESERVED_MASK = ~((1u << 15) - 1), }; HB_INTERNAL hb_ubytes_t