[layout] Optimize buffer message calls
Those aren't exactly free. They were showing up in profiles.
diff --git a/src/hb-ot-layout.cc b/src/hb-ot-layout.cc
index 0dc5bf2..7a0d026 100644
--- a/src/hb-ot-layout.cc
+++ b/src/hb-ot-layout.cc
@@ -1959,7 +1959,8 @@
auto &lookup = lookups[table_index][i];
unsigned int lookup_index = lookup.index;
- if (!buffer->message (font, "start lookup %u feature '%c%c%c%c'", lookup_index, HB_UNTAG (lookup.feature_tag))) continue;
+ if (buffer->messaging () &&
+ !buffer->message (font, "start lookup %u feature '%c%c%c%c'", lookup_index, HB_UNTAG (lookup.feature_tag))) continue;
/* c.digest is a digest of all the current glyphs in the buffer
* (plus some past glyphs).
@@ -1978,10 +1979,11 @@
proxy.table.get_lookup (lookup_index),
proxy.accels[lookup_index]);
}
- else
+ else if (buffer->messaging ())
(void) buffer->message (font, "skipped lookup %u feature '%c%c%c%c' because no glyph matches", lookup_index, HB_UNTAG (lookup.feature_tag));
- (void) buffer->message (font, "end lookup %u feature '%c%c%c%c'", lookup_index, HB_UNTAG (lookup.feature_tag));
+ if (buffer->messaging ())
+ (void) buffer->message (font, "end lookup %u feature '%c%c%c%c'", lookup_index, HB_UNTAG (lookup.feature_tag));
}
if (stage->pause_func)