|
|
|
@ -173,6 +173,16 @@ VarComponent::get_path_at (hb_font_t *font, |
|
|
|
|
record += HBGlyphID16::static_size; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// ConditionSet
|
|
|
|
|
bool show = true; |
|
|
|
|
if (flags & (unsigned) flags_t::HAVE_CONDITION) |
|
|
|
|
{ |
|
|
|
|
unsigned conditionSetIndex; |
|
|
|
|
READ_UINT32VAR (conditionSetIndex); |
|
|
|
|
const auto &conditionSet = (&VARC+VARC.conditionSetList)[conditionSetIndex]; |
|
|
|
|
show = conditionSet.evaluate (coords.arrayZ, coords.length); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Axis values
|
|
|
|
|
|
|
|
|
|
hb_vector_t<unsigned> axisIndices; |
|
|
|
@ -296,10 +306,11 @@ VarComponent::get_path_at (hb_font_t *font, |
|
|
|
|
&draw_session.st}; |
|
|
|
|
hb_draw_session_t transformer_session {transformer_funcs, &context}; |
|
|
|
|
|
|
|
|
|
VARC.get_path_at (font, gid, |
|
|
|
|
transformer_session, component_coords, |
|
|
|
|
parent_gid, |
|
|
|
|
visited, edges_left, depth_left - 1); |
|
|
|
|
if (show) |
|
|
|
|
VARC.get_path_at (font, gid, |
|
|
|
|
transformer_session, component_coords, |
|
|
|
|
parent_gid, |
|
|
|
|
visited, edges_left, depth_left - 1); |
|
|
|
|
|
|
|
|
|
#undef PROCESS_TRANSFORM_COMPONENTS |
|
|
|
|
|
|
|
|
|