[ot-font] Prefer symbol cmap subtable if found
Fixes https://github.com/harfbuzz/harfbuzz/issues/1918
Hopefully doesn't break anyone...
diff --git a/src/hb-ot-cmap-table.hh b/src/hb-ot-cmap-table.hh
index 746e87f..23ea465 100644
--- a/src/hb-ot-cmap-table.hh
+++ b/src/hb-ot-cmap-table.hh
@@ -993,6 +993,15 @@
const CmapSubtable *subtable;
+ /* Symbol subtable.
+ * Prefer symbol if available.
+ * https://github.com/harfbuzz/harfbuzz/issues/1918 */
+ if ((subtable = this->find_subtable (3, 0)))
+ {
+ if (symbol) *symbol = true;
+ return subtable;
+ }
+
/* 32-bit subtables. */
if ((subtable = this->find_subtable (3, 10))) return subtable;
if ((subtable = this->find_subtable (0, 6))) return subtable;
@@ -1005,13 +1014,6 @@
if ((subtable = this->find_subtable (0, 1))) return subtable;
if ((subtable = this->find_subtable (0, 0))) return subtable;
- /* Symbol subtable. */
- if ((subtable = this->find_subtable (3, 0)))
- {
- if (symbol) *symbol = true;
- return subtable;
- }
-
/* Meh. */
return &Null (CmapSubtable);
}