Logically separate feature allocation from application
authorBehdad Esfahbod <behdad@behdad.org>
Fri, 23 Jul 2010 21:35:54 +0000 (17:35 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Fri, 23 Jul 2010 21:35:54 +0000 (17:35 -0400)
src/hb-ot-shape.cc

index af15661..c9caff6 100644 (file)
@@ -251,10 +251,6 @@ setup_lookups (hb_face_t    *face,
                                     hb_ot_tag_from_language (buffer->props.language),
                                     &language_index);
 
-  if (hb_ot_layout_language_get_required_feature_index (face, table_tag, script_index, language_index,
-                                                       &feature_index))
-    add_feature (face, table_tag, feature_index, 1, lookups, num_lookups, room_lookups);
-
 
   hb_mask_allocator_t allocator;
 
@@ -290,6 +286,10 @@ setup_lookups (hb_face_t    *face,
 
   /* Gather lookup indices for features and set buffer masks at the same time */
 
+  if (hb_ot_layout_language_get_required_feature_index (face, table_tag, script_index, language_index,
+                                                       &feature_index))
+    add_feature (face, table_tag, feature_index, 1, lookups, num_lookups, room_lookups);
+
   const hb_mask_allocator_t::feature_map_t *map;
 
   hb_mask_t global_mask = allocator.get_global_mask ();