[OTLayout] Return correct value from recursion
Commit 4c4e8f0e75
broke contextual lookups
by making the recurse() function always return false.
Reported by Khaled. Test case: لا in Amiri.
This commit is contained in:
parent
f54cce3c6a
commit
f18ff5a84d
|
@ -71,7 +71,7 @@ struct hb_closure_context_t
|
||||||
nesting_level_left--;
|
nesting_level_left--;
|
||||||
recurse_func (this, lookup_index);
|
recurse_func (this, lookup_index);
|
||||||
nesting_level_left++;
|
nesting_level_left++;
|
||||||
return default_return_value ();
|
return VOID;
|
||||||
}
|
}
|
||||||
|
|
||||||
hb_face_t *face;
|
hb_face_t *face;
|
||||||
|
@ -112,7 +112,6 @@ struct hb_would_apply_context_t
|
||||||
inline return_t process (const T &obj) { return obj.would_apply (this); }
|
inline return_t process (const T &obj) { return obj.would_apply (this); }
|
||||||
static return_t default_return_value (void) { return false; }
|
static return_t default_return_value (void) { return false; }
|
||||||
bool stop_sublookup_iteration (const return_t r) const { return r; }
|
bool stop_sublookup_iteration (const return_t r) const { return r; }
|
||||||
return_t recurse (unsigned int lookup_index) { return true; }
|
|
||||||
|
|
||||||
hb_face_t *face;
|
hb_face_t *face;
|
||||||
const hb_codepoint_t *glyphs;
|
const hb_codepoint_t *glyphs;
|
||||||
|
@ -162,7 +161,7 @@ struct hb_collect_glyphs_context_t
|
||||||
hb_collect_glyphs_context_t new_c (this->face, NULL, NULL, NULL, &output, nesting_level_left);
|
hb_collect_glyphs_context_t new_c (this->face, NULL, NULL, NULL, &output, nesting_level_left);
|
||||||
recurse_func (&new_c, lookup_index);
|
recurse_func (&new_c, lookup_index);
|
||||||
nesting_level_left++;
|
nesting_level_left++;
|
||||||
return default_return_value ();
|
return VOID;
|
||||||
}
|
}
|
||||||
|
|
||||||
hb_face_t *face;
|
hb_face_t *face;
|
||||||
|
@ -236,9 +235,9 @@ struct hb_apply_context_t
|
||||||
return default_return_value ();
|
return default_return_value ();
|
||||||
|
|
||||||
nesting_level_left--;
|
nesting_level_left--;
|
||||||
recurse_func (this, lookup_index);
|
bool ret = recurse_func (this, lookup_index);
|
||||||
nesting_level_left++;
|
nesting_level_left++;
|
||||||
return default_return_value ();
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
hb_font_t *font;
|
hb_font_t *font;
|
||||||
|
|
Loading…
Reference in New Issue