From fc36d9453ed7edb0a570abc44d7caa87aafb0fcf Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Fri, 15 May 2009 20:11:10 -0400 Subject: [PATCH] [GSUB] Add GSUB::substitute_lookup() --- src/hb-ot-layout-gsub-private.h | 7 +++++++ src/hb-ot-layout.cc | 5 +---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/hb-ot-layout-gsub-private.h b/src/hb-ot-layout-gsub-private.h index 2bf1e9f..3980c6c 100644 --- a/src/hb-ot-layout-gsub-private.h +++ b/src/hb-ot-layout-gsub-private.h @@ -692,6 +692,7 @@ struct ContextSubstFormat1 { }; ASSERT_SIZE (ContextSubstFormat1, 6); + struct SubClassRule { /* TODO */ @@ -1177,6 +1178,12 @@ struct GSUB : GSUBGPOS { return *(SubstLookup*)&(((GSUBGPOS *)this)->get_lookup (i)); } + inline bool substitute_lookup (hb_ot_layout_t *layout, + hb_buffer_t *buffer, + unsigned int lookup_index, + hb_ot_layout_feature_mask_t mask) const { + return get_lookup (lookup_index).substitute_string (layout, buffer, mask); + } }; DEFINE_NULL_ALIAS (GSUB, GSUBGPOS); diff --git a/src/hb-ot-layout.cc b/src/hb-ot-layout.cc index 0cbc1bf..1d696c7 100644 --- a/src/hb-ot-layout.cc +++ b/src/hb-ot-layout.cc @@ -529,10 +529,7 @@ hb_ot_layout_substitute_lookup (hb_ot_layout_t *layout, unsigned int lookup_index, hb_ot_layout_feature_mask_t mask) { - const GSUB &gsub = *(layout->gsub); - const SubstLookup &l = gsub.get_lookup (lookup_index); - - return l.substitute_string (layout, buffer, mask); + return layout->gsub->substitute_lookup (layout, buffer, lookup_index, mask); } -- 2.7.4