[config] Re-enable BORING_EXPANSION
Only the non-experimental parts (currently avar2) are enabled by default.
This commit is contained in:
parent
6a47ef34b1
commit
02b76393ef
|
@ -49,7 +49,7 @@ struct Coverage
|
||||||
HBUINT16 format; /* Format identifier */
|
HBUINT16 format; /* Format identifier */
|
||||||
CoverageFormat1_3<SmallTypes> format1;
|
CoverageFormat1_3<SmallTypes> format1;
|
||||||
CoverageFormat2_4<SmallTypes> format2;
|
CoverageFormat2_4<SmallTypes> format2;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
CoverageFormat1_3<MediumTypes>format3;
|
CoverageFormat1_3<MediumTypes>format3;
|
||||||
CoverageFormat2_4<MediumTypes>format4;
|
CoverageFormat2_4<MediumTypes>format4;
|
||||||
#endif
|
#endif
|
||||||
|
@ -65,7 +65,7 @@ struct Coverage
|
||||||
{
|
{
|
||||||
case 1: return_trace (u.format1.sanitize (c));
|
case 1: return_trace (u.format1.sanitize (c));
|
||||||
case 2: return_trace (u.format2.sanitize (c));
|
case 2: return_trace (u.format2.sanitize (c));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return_trace (u.format3.sanitize (c));
|
case 3: return_trace (u.format3.sanitize (c));
|
||||||
case 4: return_trace (u.format4.sanitize (c));
|
case 4: return_trace (u.format4.sanitize (c));
|
||||||
#endif
|
#endif
|
||||||
|
@ -87,7 +87,7 @@ struct Coverage
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return u.format1.get_coverage (glyph_id);
|
case 1: return u.format1.get_coverage (glyph_id);
|
||||||
case 2: return u.format2.get_coverage (glyph_id);
|
case 2: return u.format2.get_coverage (glyph_id);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3.get_coverage (glyph_id);
|
case 3: return u.format3.get_coverage (glyph_id);
|
||||||
case 4: return u.format4.get_coverage (glyph_id);
|
case 4: return u.format4.get_coverage (glyph_id);
|
||||||
#endif
|
#endif
|
||||||
|
@ -100,7 +100,7 @@ struct Coverage
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return u.format1.get_population ();
|
case 1: return u.format1.get_population ();
|
||||||
case 2: return u.format2.get_population ();
|
case 2: return u.format2.get_population ();
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3.get_population ();
|
case 3: return u.format3.get_population ();
|
||||||
case 4: return u.format4.get_population ();
|
case 4: return u.format4.get_population ();
|
||||||
#endif
|
#endif
|
||||||
|
@ -127,7 +127,7 @@ struct Coverage
|
||||||
}
|
}
|
||||||
u.format = count <= num_ranges * 3 ? 1 : 2;
|
u.format = count <= num_ranges * 3 ? 1 : 2;
|
||||||
|
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
if (count && last > 0xFFFFu)
|
if (count && last > 0xFFFFu)
|
||||||
u.format += 2;
|
u.format += 2;
|
||||||
#endif
|
#endif
|
||||||
|
@ -136,7 +136,7 @@ struct Coverage
|
||||||
{
|
{
|
||||||
case 1: return_trace (u.format1.serialize (c, glyphs));
|
case 1: return_trace (u.format1.serialize (c, glyphs));
|
||||||
case 2: return_trace (u.format2.serialize (c, glyphs));
|
case 2: return_trace (u.format2.serialize (c, glyphs));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return_trace (u.format3.serialize (c, glyphs));
|
case 3: return_trace (u.format3.serialize (c, glyphs));
|
||||||
case 4: return_trace (u.format4.serialize (c, glyphs));
|
case 4: return_trace (u.format4.serialize (c, glyphs));
|
||||||
#endif
|
#endif
|
||||||
|
@ -166,7 +166,7 @@ struct Coverage
|
||||||
{
|
{
|
||||||
case 1: return u.format1.intersects (glyphs);
|
case 1: return u.format1.intersects (glyphs);
|
||||||
case 2: return u.format2.intersects (glyphs);
|
case 2: return u.format2.intersects (glyphs);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3.intersects (glyphs);
|
case 3: return u.format3.intersects (glyphs);
|
||||||
case 4: return u.format4.intersects (glyphs);
|
case 4: return u.format4.intersects (glyphs);
|
||||||
#endif
|
#endif
|
||||||
|
@ -179,7 +179,7 @@ struct Coverage
|
||||||
{
|
{
|
||||||
case 1: return u.format1.intersects_coverage (glyphs, index);
|
case 1: return u.format1.intersects_coverage (glyphs, index);
|
||||||
case 2: return u.format2.intersects_coverage (glyphs, index);
|
case 2: return u.format2.intersects_coverage (glyphs, index);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3.intersects_coverage (glyphs, index);
|
case 3: return u.format3.intersects_coverage (glyphs, index);
|
||||||
case 4: return u.format4.intersects_coverage (glyphs, index);
|
case 4: return u.format4.intersects_coverage (glyphs, index);
|
||||||
#endif
|
#endif
|
||||||
|
@ -196,7 +196,7 @@ struct Coverage
|
||||||
{
|
{
|
||||||
case 1: return u.format1.collect_coverage (glyphs);
|
case 1: return u.format1.collect_coverage (glyphs);
|
||||||
case 2: return u.format2.collect_coverage (glyphs);
|
case 2: return u.format2.collect_coverage (glyphs);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3.collect_coverage (glyphs);
|
case 3: return u.format3.collect_coverage (glyphs);
|
||||||
case 4: return u.format4.collect_coverage (glyphs);
|
case 4: return u.format4.collect_coverage (glyphs);
|
||||||
#endif
|
#endif
|
||||||
|
@ -212,7 +212,7 @@ struct Coverage
|
||||||
{
|
{
|
||||||
case 1: return u.format1.intersect_set (glyphs, intersect_glyphs);
|
case 1: return u.format1.intersect_set (glyphs, intersect_glyphs);
|
||||||
case 2: return u.format2.intersect_set (glyphs, intersect_glyphs);
|
case 2: return u.format2.intersect_set (glyphs, intersect_glyphs);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3.intersect_set (glyphs, intersect_glyphs);
|
case 3: return u.format3.intersect_set (glyphs, intersect_glyphs);
|
||||||
case 4: return u.format4.intersect_set (glyphs, intersect_glyphs);
|
case 4: return u.format4.intersect_set (glyphs, intersect_glyphs);
|
||||||
#endif
|
#endif
|
||||||
|
@ -231,7 +231,7 @@ struct Coverage
|
||||||
{
|
{
|
||||||
case 1: u.format1.init (c_.u.format1); return;
|
case 1: u.format1.init (c_.u.format1); return;
|
||||||
case 2: u.format2.init (c_.u.format2); return;
|
case 2: u.format2.init (c_.u.format2); return;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: u.format3.init (c_.u.format3); return;
|
case 3: u.format3.init (c_.u.format3); return;
|
||||||
case 4: u.format4.init (c_.u.format4); return;
|
case 4: u.format4.init (c_.u.format4); return;
|
||||||
#endif
|
#endif
|
||||||
|
@ -244,7 +244,7 @@ struct Coverage
|
||||||
{
|
{
|
||||||
case 1: return u.format1.__more__ ();
|
case 1: return u.format1.__more__ ();
|
||||||
case 2: return u.format2.__more__ ();
|
case 2: return u.format2.__more__ ();
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3.__more__ ();
|
case 3: return u.format3.__more__ ();
|
||||||
case 4: return u.format4.__more__ ();
|
case 4: return u.format4.__more__ ();
|
||||||
#endif
|
#endif
|
||||||
|
@ -257,7 +257,7 @@ struct Coverage
|
||||||
{
|
{
|
||||||
case 1: u.format1.__next__ (); break;
|
case 1: u.format1.__next__ (); break;
|
||||||
case 2: u.format2.__next__ (); break;
|
case 2: u.format2.__next__ (); break;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: u.format3.__next__ (); break;
|
case 3: u.format3.__next__ (); break;
|
||||||
case 4: u.format4.__next__ (); break;
|
case 4: u.format4.__next__ (); break;
|
||||||
#endif
|
#endif
|
||||||
|
@ -273,7 +273,7 @@ struct Coverage
|
||||||
{
|
{
|
||||||
case 1: return u.format1.get_glyph ();
|
case 1: return u.format1.get_glyph ();
|
||||||
case 2: return u.format2.get_glyph ();
|
case 2: return u.format2.get_glyph ();
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3.get_glyph ();
|
case 3: return u.format3.get_glyph ();
|
||||||
case 4: return u.format4.get_glyph ();
|
case 4: return u.format4.get_glyph ();
|
||||||
#endif
|
#endif
|
||||||
|
@ -287,7 +287,7 @@ struct Coverage
|
||||||
{
|
{
|
||||||
case 1: return u.format1 != o.u.format1;
|
case 1: return u.format1 != o.u.format1;
|
||||||
case 2: return u.format2 != o.u.format2;
|
case 2: return u.format2 != o.u.format2;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3 != o.u.format3;
|
case 3: return u.format3 != o.u.format3;
|
||||||
case 4: return u.format4 != o.u.format4;
|
case 4: return u.format4 != o.u.format4;
|
||||||
#endif
|
#endif
|
||||||
|
@ -302,7 +302,7 @@ struct Coverage
|
||||||
{
|
{
|
||||||
case 1: it.u.format1 = u.format1.__end__ (); break;
|
case 1: it.u.format1 = u.format1.__end__ (); break;
|
||||||
case 2: it.u.format2 = u.format2.__end__ (); break;
|
case 2: it.u.format2 = u.format2.__end__ (); break;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: it.u.format3 = u.format3.__end__ (); break;
|
case 3: it.u.format3 = u.format3.__end__ (); break;
|
||||||
case 4: it.u.format4 = u.format4.__end__ (); break;
|
case 4: it.u.format4 = u.format4.__end__ (); break;
|
||||||
#endif
|
#endif
|
||||||
|
@ -314,7 +314,7 @@ struct Coverage
|
||||||
private:
|
private:
|
||||||
unsigned int format;
|
unsigned int format;
|
||||||
union {
|
union {
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
CoverageFormat2_4<MediumTypes>::iter_t format4; /* Put this one first since it's larger; helps shut up compiler. */
|
CoverageFormat2_4<MediumTypes>::iter_t format4; /* Put this one first since it's larger; helps shut up compiler. */
|
||||||
CoverageFormat1_3<MediumTypes>::iter_t format3;
|
CoverageFormat1_3<MediumTypes>::iter_t format3;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -13,7 +13,7 @@ struct MarkBasePos
|
||||||
union {
|
union {
|
||||||
HBUINT16 format; /* Format identifier */
|
HBUINT16 format; /* Format identifier */
|
||||||
MarkBasePosFormat1_2<SmallTypes> format1;
|
MarkBasePosFormat1_2<SmallTypes> format1;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
MarkBasePosFormat1_2<MediumTypes> format2;
|
MarkBasePosFormat1_2<MediumTypes> format2;
|
||||||
#endif
|
#endif
|
||||||
} u;
|
} u;
|
||||||
|
@ -26,7 +26,7 @@ struct MarkBasePos
|
||||||
if (unlikely (!c->may_dispatch (this, &u.format))) return_trace (c->no_dispatch_return_value ());
|
if (unlikely (!c->may_dispatch (this, &u.format))) return_trace (c->no_dispatch_return_value ());
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
|
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
|
case 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
|
||||||
#endif
|
#endif
|
||||||
default:return_trace (c->default_return_value ());
|
default:return_trace (c->default_return_value ());
|
||||||
|
|
|
@ -13,7 +13,7 @@ struct MarkLigPos
|
||||||
union {
|
union {
|
||||||
HBUINT16 format; /* Format identifier */
|
HBUINT16 format; /* Format identifier */
|
||||||
MarkLigPosFormat1_2<SmallTypes> format1;
|
MarkLigPosFormat1_2<SmallTypes> format1;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
MarkLigPosFormat1_2<MediumTypes> format2;
|
MarkLigPosFormat1_2<MediumTypes> format2;
|
||||||
#endif
|
#endif
|
||||||
} u;
|
} u;
|
||||||
|
@ -26,7 +26,7 @@ struct MarkLigPos
|
||||||
if (unlikely (!c->may_dispatch (this, &u.format))) return_trace (c->no_dispatch_return_value ());
|
if (unlikely (!c->may_dispatch (this, &u.format))) return_trace (c->no_dispatch_return_value ());
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
|
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
|
case 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
|
||||||
#endif
|
#endif
|
||||||
default:return_trace (c->default_return_value ());
|
default:return_trace (c->default_return_value ());
|
||||||
|
|
|
@ -13,7 +13,7 @@ struct MarkMarkPos
|
||||||
union {
|
union {
|
||||||
HBUINT16 format; /* Format identifier */
|
HBUINT16 format; /* Format identifier */
|
||||||
MarkMarkPosFormat1_2<SmallTypes> format1;
|
MarkMarkPosFormat1_2<SmallTypes> format1;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
MarkMarkPosFormat1_2<MediumTypes> format2;
|
MarkMarkPosFormat1_2<MediumTypes> format2;
|
||||||
#endif
|
#endif
|
||||||
} u;
|
} u;
|
||||||
|
@ -26,7 +26,7 @@ struct MarkMarkPos
|
||||||
if (unlikely (!c->may_dispatch (this, &u.format))) return_trace (c->no_dispatch_return_value ());
|
if (unlikely (!c->may_dispatch (this, &u.format))) return_trace (c->no_dispatch_return_value ());
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
|
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
|
case 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
|
||||||
#endif
|
#endif
|
||||||
default:return_trace (c->default_return_value ());
|
default:return_trace (c->default_return_value ());
|
||||||
|
|
|
@ -15,7 +15,7 @@ struct PairPos
|
||||||
HBUINT16 format; /* Format identifier */
|
HBUINT16 format; /* Format identifier */
|
||||||
PairPosFormat1_3<SmallTypes> format1;
|
PairPosFormat1_3<SmallTypes> format1;
|
||||||
PairPosFormat2_4<SmallTypes> format2;
|
PairPosFormat2_4<SmallTypes> format2;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
PairPosFormat1_3<MediumTypes> format3;
|
PairPosFormat1_3<MediumTypes> format3;
|
||||||
PairPosFormat2_4<MediumTypes> format4;
|
PairPosFormat2_4<MediumTypes> format4;
|
||||||
#endif
|
#endif
|
||||||
|
@ -30,7 +30,7 @@ struct PairPos
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
|
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 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return_trace (c->dispatch (u.format3, std::forward<Ts> (ds)...));
|
case 3: return_trace (c->dispatch (u.format3, std::forward<Ts> (ds)...));
|
||||||
case 4: return_trace (c->dispatch (u.format4, std::forward<Ts> (ds)...));
|
case 4: return_trace (c->dispatch (u.format4, std::forward<Ts> (ds)...));
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -14,7 +14,7 @@ struct AlternateSubst
|
||||||
union {
|
union {
|
||||||
HBUINT16 format; /* Format identifier */
|
HBUINT16 format; /* Format identifier */
|
||||||
AlternateSubstFormat1_2<SmallTypes> format1;
|
AlternateSubstFormat1_2<SmallTypes> format1;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
AlternateSubstFormat1_2<MediumTypes> format2;
|
AlternateSubstFormat1_2<MediumTypes> format2;
|
||||||
#endif
|
#endif
|
||||||
} u;
|
} u;
|
||||||
|
@ -27,7 +27,7 @@ struct AlternateSubst
|
||||||
if (unlikely (!c->may_dispatch (this, &u.format))) return_trace (c->no_dispatch_return_value ());
|
if (unlikely (!c->may_dispatch (this, &u.format))) return_trace (c->no_dispatch_return_value ());
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
|
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
|
case 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
|
||||||
#endif
|
#endif
|
||||||
default:return_trace (c->default_return_value ());
|
default:return_trace (c->default_return_value ());
|
||||||
|
|
|
@ -14,7 +14,7 @@ struct LigatureSubst
|
||||||
union {
|
union {
|
||||||
HBUINT16 format; /* Format identifier */
|
HBUINT16 format; /* Format identifier */
|
||||||
LigatureSubstFormat1_2<SmallTypes> format1;
|
LigatureSubstFormat1_2<SmallTypes> format1;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
LigatureSubstFormat1_2<MediumTypes> format2;
|
LigatureSubstFormat1_2<MediumTypes> format2;
|
||||||
#endif
|
#endif
|
||||||
} u;
|
} u;
|
||||||
|
@ -27,7 +27,7 @@ struct LigatureSubst
|
||||||
if (unlikely (!c->may_dispatch (this, &u.format))) return_trace (c->no_dispatch_return_value ());
|
if (unlikely (!c->may_dispatch (this, &u.format))) return_trace (c->no_dispatch_return_value ());
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
|
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
|
case 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
|
||||||
#endif
|
#endif
|
||||||
default:return_trace (c->default_return_value ());
|
default:return_trace (c->default_return_value ());
|
||||||
|
|
|
@ -14,7 +14,7 @@ struct MultipleSubst
|
||||||
union {
|
union {
|
||||||
HBUINT16 format; /* Format identifier */
|
HBUINT16 format; /* Format identifier */
|
||||||
MultipleSubstFormat1_2<SmallTypes> format1;
|
MultipleSubstFormat1_2<SmallTypes> format1;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
MultipleSubstFormat1_2<MediumTypes> format2;
|
MultipleSubstFormat1_2<MediumTypes> format2;
|
||||||
#endif
|
#endif
|
||||||
} u;
|
} u;
|
||||||
|
@ -28,7 +28,7 @@ struct MultipleSubst
|
||||||
if (unlikely (!c->may_dispatch (this, &u.format))) return_trace (c->no_dispatch_return_value ());
|
if (unlikely (!c->may_dispatch (this, &u.format))) return_trace (c->no_dispatch_return_value ());
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
|
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
|
case 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
|
||||||
#endif
|
#endif
|
||||||
default:return_trace (c->default_return_value ());
|
default:return_trace (c->default_return_value ());
|
||||||
|
|
|
@ -16,7 +16,7 @@ struct SingleSubst
|
||||||
HBUINT16 format; /* Format identifier */
|
HBUINT16 format; /* Format identifier */
|
||||||
SingleSubstFormat1_3<SmallTypes> format1;
|
SingleSubstFormat1_3<SmallTypes> format1;
|
||||||
SingleSubstFormat2_4<SmallTypes> format2;
|
SingleSubstFormat2_4<SmallTypes> format2;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
SingleSubstFormat1_3<MediumTypes> format3;
|
SingleSubstFormat1_3<MediumTypes> format3;
|
||||||
SingleSubstFormat2_4<MediumTypes> format4;
|
SingleSubstFormat2_4<MediumTypes> format4;
|
||||||
#endif
|
#endif
|
||||||
|
@ -32,7 +32,7 @@ struct SingleSubst
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...));
|
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 2: return_trace (c->dispatch (u.format2, std::forward<Ts> (ds)...));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return_trace (c->dispatch (u.format3, std::forward<Ts> (ds)...));
|
case 3: return_trace (c->dispatch (u.format3, std::forward<Ts> (ds)...));
|
||||||
case 4: return_trace (c->dispatch (u.format4, std::forward<Ts> (ds)...));
|
case 4: return_trace (c->dispatch (u.format4, std::forward<Ts> (ds)...));
|
||||||
#endif
|
#endif
|
||||||
|
@ -55,7 +55,7 @@ struct SingleSubst
|
||||||
format = 1;
|
format = 1;
|
||||||
hb_codepoint_t mask = 0xFFFFu;
|
hb_codepoint_t mask = 0xFFFFu;
|
||||||
|
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
if (+ glyphs
|
if (+ glyphs
|
||||||
| hb_map_retains_sorting (hb_first)
|
| hb_map_retains_sorting (hb_first)
|
||||||
| hb_filter ([] (hb_codepoint_t gid) { return gid > 0xFFFFu; }))
|
| hb_filter ([] (hb_codepoint_t gid) { return gid > 0xFFFFu; }))
|
||||||
|
@ -78,7 +78,7 @@ struct SingleSubst
|
||||||
| hb_map_retains_sorting (hb_first),
|
| hb_map_retains_sorting (hb_first),
|
||||||
delta));
|
delta));
|
||||||
case 2: return_trace (u.format2.serialize (c, glyphs));
|
case 2: return_trace (u.format2.serialize (c, glyphs));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return_trace (u.format3.serialize (c,
|
case 3: return_trace (u.format3.serialize (c,
|
||||||
+ glyphs
|
+ glyphs
|
||||||
| hb_map_retains_sorting (hb_first),
|
| hb_map_retains_sorting (hb_first),
|
||||||
|
|
|
@ -112,7 +112,7 @@ struct ClassDef : public OT::ClassDef
|
||||||
{
|
{
|
||||||
case 1: return ((ClassDefFormat1*)this)->sanitize (vertex);
|
case 1: return ((ClassDefFormat1*)this)->sanitize (vertex);
|
||||||
case 2: return ((ClassDefFormat2*)this)->sanitize (vertex);
|
case 2: return ((ClassDefFormat2*)this)->sanitize (vertex);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
// Not currently supported
|
// Not currently supported
|
||||||
case 3:
|
case 3:
|
||||||
case 4:
|
case 4:
|
||||||
|
|
|
@ -136,7 +136,7 @@ struct Coverage : public OT::Layout::Common::Coverage
|
||||||
{
|
{
|
||||||
case 1: return ((CoverageFormat1*)this)->sanitize (vertex);
|
case 1: return ((CoverageFormat1*)this)->sanitize (vertex);
|
||||||
case 2: return ((CoverageFormat2*)this)->sanitize (vertex);
|
case 2: return ((CoverageFormat2*)this)->sanitize (vertex);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
// Not currently supported
|
// Not currently supported
|
||||||
case 3:
|
case 3:
|
||||||
case 4:
|
case 4:
|
||||||
|
|
|
@ -355,7 +355,7 @@ struct GSTAR : public OT::GSUBGPOS
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return u.version1.get_lookup_list_offset ();
|
case 1: return u.version1.get_lookup_list_offset ();
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return u.version2.get_lookup_list_offset ();
|
case 2: return u.version2.get_lookup_list_offset ();
|
||||||
#endif
|
#endif
|
||||||
default: return 0;
|
default: return 0;
|
||||||
|
@ -374,7 +374,7 @@ struct GSTAR : public OT::GSUBGPOS
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: find_lookups<SmallTypes> (graph, lookups); break;
|
case 1: find_lookups<SmallTypes> (graph, lookups); break;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: find_lookups<MediumTypes> (graph, lookups); break;
|
case 2: find_lookups<MediumTypes> (graph, lookups); break;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -477,7 +477,7 @@ struct MarkBasePos : public OT::Layout::GPOS_impl::MarkBasePos
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1:
|
case 1:
|
||||||
return ((MarkBasePosFormat1*)(&u.format1))->split_subtables (c, parent_index, this_index);
|
return ((MarkBasePosFormat1*)(&u.format1))->split_subtables (c, parent_index, this_index);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: HB_FALLTHROUGH;
|
case 2: HB_FALLTHROUGH;
|
||||||
// Don't split 24bit PairPos's.
|
// Don't split 24bit PairPos's.
|
||||||
#endif
|
#endif
|
||||||
|
@ -494,7 +494,7 @@ struct MarkBasePos : public OT::Layout::GPOS_impl::MarkBasePos
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1:
|
case 1:
|
||||||
return ((MarkBasePosFormat1*)(&u.format1))->sanitize (vertex);
|
return ((MarkBasePosFormat1*)(&u.format1))->sanitize (vertex);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: HB_FALLTHROUGH;
|
case 2: HB_FALLTHROUGH;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -611,7 +611,7 @@ struct PairPos : public OT::Layout::GPOS_impl::PairPos
|
||||||
return ((PairPosFormat1*)(&u.format1))->split_subtables (c, parent_index, this_index);
|
return ((PairPosFormat1*)(&u.format1))->split_subtables (c, parent_index, this_index);
|
||||||
case 2:
|
case 2:
|
||||||
return ((PairPosFormat2*)(&u.format2))->split_subtables (c, parent_index, this_index);
|
return ((PairPosFormat2*)(&u.format2))->split_subtables (c, parent_index, this_index);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: HB_FALLTHROUGH;
|
case 3: HB_FALLTHROUGH;
|
||||||
case 4: HB_FALLTHROUGH;
|
case 4: HB_FALLTHROUGH;
|
||||||
// Don't split 24bit PairPos's.
|
// Don't split 24bit PairPos's.
|
||||||
|
@ -631,7 +631,7 @@ struct PairPos : public OT::Layout::GPOS_impl::PairPos
|
||||||
return ((PairPosFormat1*)(&u.format1))->sanitize (vertex);
|
return ((PairPosFormat1*)(&u.format1))->sanitize (vertex);
|
||||||
case 2:
|
case 2:
|
||||||
return ((PairPosFormat2*)(&u.format2))->sanitize (vertex);
|
return ((PairPosFormat2*)(&u.format2))->sanitize (vertex);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: HB_FALLTHROUGH;
|
case 3: HB_FALLTHROUGH;
|
||||||
case 4: HB_FALLTHROUGH;
|
case 4: HB_FALLTHROUGH;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -39,10 +39,6 @@
|
||||||
#define HB_NO_BEYOND_64K
|
#define HB_NO_BEYOND_64K
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef HB_BORING_EXPANSION
|
|
||||||
#define HB_NO_BORING_EXPANSION
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HB_TINY
|
#ifdef HB_TINY
|
||||||
#define HB_LEAN
|
#define HB_LEAN
|
||||||
#define HB_MINI
|
#define HB_MINI
|
||||||
|
|
Loading…
Reference in New Issue