[>64k:layout:(Chain)Context] Implement format 5
Implements part of https://github.com/be-fonts/boring-expansion-spec/issues/34
Subset does NOT lower format.
diff --git a/src/hb-ot-layout-gsubgpos.hh b/src/hb-ot-layout-gsubgpos.hh
index b78a255..0e312e2 100644
--- a/src/hb-ot-layout-gsubgpos.hh
+++ b/src/hb-ot-layout-gsubgpos.hh
@@ -2595,6 +2595,9 @@
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
case 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
case 3: return_trace (c->dispatch (u.format3, std::forward<Ts> (ds)...));
+#ifndef HB_NO_BORING_EXPANSION
+ case 5: return_trace (c->dispatch (u.format5, std::forward<Ts> (ds)...));
+#endif
default:return_trace (c->default_return_value ());
}
}
@@ -2605,6 +2608,9 @@
ContextFormat1 format1;
ContextFormat2_5<SmallTypes> format2;
ContextFormat3 format3;
+#ifndef HB_NO_BORING_EXPANSION
+ ContextFormat2_5<MediumTypes> format5;
+#endif
} u;
};
@@ -3750,6 +3756,9 @@
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
case 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
case 3: return_trace (c->dispatch (u.format3, std::forward<Ts> (ds)...));
+#ifndef HB_NO_BORING_EXPANSION
+ case 5: return_trace (c->dispatch (u.format5, std::forward<Ts> (ds)...));
+#endif
default:return_trace (c->default_return_value ());
}
}
@@ -3760,6 +3769,9 @@
ChainContextFormat1 format1;
ChainContextFormat2_5<SmallTypes> format2;
ChainContextFormat3 format3;
+#ifndef HB_NO_BORING_EXPANSION
+ ChainContextFormat2_5<MediumTypes> format5;
+#endif
} u;
};