From 76ea563673d24ae1673a5aa3a21da6014479d433 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sat, 4 May 2013 16:01:20 -0400 Subject: [PATCH] [OTLayout] Add note about collect_glyphs() and recursive lookups --- src/hb-ot-layout-gsubgpos-private.hh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/hb-ot-layout-gsubgpos-private.hh b/src/hb-ot-layout-gsubgpos-private.hh index f46b3782e..5a5bce334 100644 --- a/src/hb-ot-layout-gsubgpos-private.hh +++ b/src/hb-ot-layout-gsubgpos-private.hh @@ -158,7 +158,13 @@ struct hb_collect_glyphs_context_t /* Note that GPOS sets recurse_func to NULL already, so it doesn't get * past the previous check. For GSUB, we only want to collect the output - * glyphs in the recursion. If output is not requested, we can go home now. */ + * glyphs in the recursion. If output is not requested, we can go home now. + * + * Note further, that the above is not exactly correct. A recursed lookup + * is allowed to match input that is not matched in the context, but that's + * not how most fonts are built. It's possible to relax that and recurse + * with all sets here if it proves to be an issue. + */ if (output == hb_set_get_empty ()) return HB_VOID;