[hb-old] Fix clusters
Unlike its "documentation", hb-old's log_clusters are, well, indeed
logical, not visual. Fixup. Adapted / copied from hb-uniscribe.
diff --git a/src/hb-uniscribe.cc b/src/hb-uniscribe.cc
index d41542b..6b9a261 100644
--- a/src/hb-uniscribe.cc
+++ b/src/hb-uniscribe.cc
@@ -257,8 +257,8 @@
#define ALLOCATE_ARRAY(Type, name, len) \
Type *name = (Type *) scratch; \
- scratch += len * sizeof (name[0]); \
- scratch_size -= len * sizeof (name[0]);
+ scratch += (len) * sizeof ((name)[0]); \
+ scratch_size -= (len) * sizeof ((name)[0]);
#define utf16_index() var1.u32
@@ -294,6 +294,7 @@
ALLOCATE_ARRAY (GOFFSET, offsets, glyphs_size);
ALLOCATE_ARRAY (uint32_t, vis_clusters, glyphs_size);
+#undef ALLOCATE_ARRAY
#define MAX_ITEMS 256