Imported Upstream version 8.2.2
[platform/upstream/harfbuzz.git] / util / shape-consumer.hh
index 2115189..15c193f 100644 (file)
@@ -61,11 +61,11 @@ struct shape_consumer_t : shape_options_t
 
     for (unsigned int n = num_iterations; n; n--)
     {
-      const char *error = nullptr;
-
-      populate_buffer (buffer, text, text_len, app.text_before, app.text_after);
+      populate_buffer (buffer, text, text_len, app.text_before, app.text_after, app.font);
       if (n == 1)
        output.consume_text (buffer, text, text_len, utf8_clusters);
+
+      const char *error = nullptr;
       if (!shape (app.font, buffer, &error))
       {
        failed = true;
@@ -77,7 +77,10 @@ struct shape_consumer_t : shape_options_t
       }
     }
 
-    output.consume_glyphs (buffer, text, text_len, utf8_clusters);
+    if (glyphs)
+      output.consume_glyphs (buffer, nullptr, 0, false);
+    else
+      output.consume_glyphs (buffer, text, text_len, utf8_clusters);
     return true;
   }
   template <typename app_t>