Add HB_NO_BEYOND_64K
This commit is contained in:
parent
c76fd3c5f9
commit
5a9c7930ef
|
@ -98,6 +98,10 @@
|
||||||
|
|
||||||
/* Closure of options. */
|
/* Closure of options. */
|
||||||
|
|
||||||
|
#ifdef HB_NO_BORING_EXPANSION
|
||||||
|
#define HB_NO_BEYOND_64K
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HB_DISABLE_DEPRECATED
|
#ifdef HB_DISABLE_DEPRECATED
|
||||||
#define HB_IF_NOT_DEPRECATED(x)
|
#define HB_IF_NOT_DEPRECATED(x)
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -274,7 +274,7 @@ struct hmtxvmtx
|
||||||
if (unlikely (!num_advances))
|
if (unlikely (!num_advances))
|
||||||
return default_advance;
|
return default_advance;
|
||||||
|
|
||||||
#ifdef HB_NO_BORING_EXPANSION
|
#ifdef HB_NO_BEYOND_64K
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1915,7 +1915,7 @@ struct ClassDef
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return u.format1.get_class (glyph_id);
|
case 1: return u.format1.get_class (glyph_id);
|
||||||
case 2: return u.format2.get_class (glyph_id);
|
case 2: return u.format2.get_class (glyph_id);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3.get_class (glyph_id);
|
case 3: return u.format3.get_class (glyph_id);
|
||||||
case 4: return u.format4.get_class (glyph_id);
|
case 4: return u.format4.get_class (glyph_id);
|
||||||
#endif
|
#endif
|
||||||
|
@ -1963,7 +1963,7 @@ struct ClassDef
|
||||||
format = 1;
|
format = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
if (glyph_max > 0xFFFFu)
|
if (glyph_max > 0xFFFFu)
|
||||||
format += 2;
|
format += 2;
|
||||||
#endif
|
#endif
|
||||||
|
@ -1974,7 +1974,7 @@ struct ClassDef
|
||||||
{
|
{
|
||||||
case 1: return_trace (u.format1.serialize (c, it));
|
case 1: return_trace (u.format1.serialize (c, it));
|
||||||
case 2: return_trace (u.format2.serialize (c, it));
|
case 2: return_trace (u.format2.serialize (c, it));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return_trace (u.format3.serialize (c, it));
|
case 3: return_trace (u.format3.serialize (c, it));
|
||||||
case 4: return_trace (u.format4.serialize (c, it));
|
case 4: return_trace (u.format4.serialize (c, it));
|
||||||
#endif
|
#endif
|
||||||
|
@ -1992,7 +1992,7 @@ struct ClassDef
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return_trace (u.format1.subset (c, klass_map, keep_empty_table, use_class_zero, glyph_filter));
|
case 1: return_trace (u.format1.subset (c, klass_map, keep_empty_table, use_class_zero, glyph_filter));
|
||||||
case 2: return_trace (u.format2.subset (c, klass_map, keep_empty_table, use_class_zero, glyph_filter));
|
case 2: return_trace (u.format2.subset (c, klass_map, keep_empty_table, use_class_zero, glyph_filter));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return_trace (u.format3.subset (c, klass_map, keep_empty_table, use_class_zero, glyph_filter));
|
case 3: return_trace (u.format3.subset (c, klass_map, keep_empty_table, use_class_zero, glyph_filter));
|
||||||
case 4: return_trace (u.format4.subset (c, klass_map, keep_empty_table, use_class_zero, glyph_filter));
|
case 4: return_trace (u.format4.subset (c, klass_map, keep_empty_table, use_class_zero, glyph_filter));
|
||||||
#endif
|
#endif
|
||||||
|
@ -2007,7 +2007,7 @@ struct ClassDef
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
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
|
||||||
|
@ -2020,7 +2020,7 @@ struct ClassDef
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return u.format1.cost ();
|
case 1: return u.format1.cost ();
|
||||||
case 2: return u.format2.cost ();
|
case 2: return u.format2.cost ();
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3.cost ();
|
case 3: return u.format3.cost ();
|
||||||
case 4: return u.format4.cost ();
|
case 4: return u.format4.cost ();
|
||||||
#endif
|
#endif
|
||||||
|
@ -2036,7 +2036,7 @@ struct ClassDef
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
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
|
||||||
|
@ -2052,7 +2052,7 @@ struct ClassDef
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return u.format1.collect_class (glyphs, klass);
|
case 1: return u.format1.collect_class (glyphs, klass);
|
||||||
case 2: return u.format2.collect_class (glyphs, klass);
|
case 2: return u.format2.collect_class (glyphs, klass);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3.collect_class (glyphs, klass);
|
case 3: return u.format3.collect_class (glyphs, klass);
|
||||||
case 4: return u.format4.collect_class (glyphs, klass);
|
case 4: return u.format4.collect_class (glyphs, klass);
|
||||||
#endif
|
#endif
|
||||||
|
@ -2065,7 +2065,7 @@ struct ClassDef
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
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
|
||||||
|
@ -2077,7 +2077,7 @@ struct ClassDef
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return u.format1.intersects_class (glyphs, klass);
|
case 1: return u.format1.intersects_class (glyphs, klass);
|
||||||
case 2: return u.format2.intersects_class (glyphs, klass);
|
case 2: return u.format2.intersects_class (glyphs, klass);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3.intersects_class (glyphs, klass);
|
case 3: return u.format3.intersects_class (glyphs, klass);
|
||||||
case 4: return u.format4.intersects_class (glyphs, klass);
|
case 4: return u.format4.intersects_class (glyphs, klass);
|
||||||
#endif
|
#endif
|
||||||
|
@ -2090,7 +2090,7 @@ struct ClassDef
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return u.format1.intersected_class_glyphs (glyphs, klass, intersect_glyphs);
|
case 1: return u.format1.intersected_class_glyphs (glyphs, klass, intersect_glyphs);
|
||||||
case 2: return u.format2.intersected_class_glyphs (glyphs, klass, intersect_glyphs);
|
case 2: return u.format2.intersected_class_glyphs (glyphs, klass, intersect_glyphs);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3.intersected_class_glyphs (glyphs, klass, intersect_glyphs);
|
case 3: return u.format3.intersected_class_glyphs (glyphs, klass, intersect_glyphs);
|
||||||
case 4: return u.format4.intersected_class_glyphs (glyphs, klass, intersect_glyphs);
|
case 4: return u.format4.intersected_class_glyphs (glyphs, klass, intersect_glyphs);
|
||||||
#endif
|
#endif
|
||||||
|
@ -2103,7 +2103,7 @@ struct ClassDef
|
||||||
switch (u.format) {
|
switch (u.format) {
|
||||||
case 1: return u.format1.intersected_classes (glyphs, intersect_classes);
|
case 1: return u.format1.intersected_classes (glyphs, intersect_classes);
|
||||||
case 2: return u.format2.intersected_classes (glyphs, intersect_classes);
|
case 2: return u.format2.intersected_classes (glyphs, intersect_classes);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 3: return u.format3.intersected_classes (glyphs, intersect_classes);
|
case 3: return u.format3.intersected_classes (glyphs, intersect_classes);
|
||||||
case 4: return u.format4.intersected_classes (glyphs, intersect_classes);
|
case 4: return u.format4.intersected_classes (glyphs, intersect_classes);
|
||||||
#endif
|
#endif
|
||||||
|
@ -2117,7 +2117,7 @@ struct ClassDef
|
||||||
HBUINT16 format; /* Format identifier */
|
HBUINT16 format; /* Format identifier */
|
||||||
ClassDefFormat1_3<SmallTypes> format1;
|
ClassDefFormat1_3<SmallTypes> format1;
|
||||||
ClassDefFormat2_4<SmallTypes> format2;
|
ClassDefFormat2_4<SmallTypes> format2;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
ClassDefFormat1_3<MediumTypes>format3;
|
ClassDefFormat1_3<MediumTypes>format3;
|
||||||
ClassDefFormat2_4<MediumTypes>format4;
|
ClassDefFormat2_4<MediumTypes>format4;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -621,7 +621,7 @@ struct GDEF
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return u.version1.get_size ();
|
case 1: return u.version1.get_size ();
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return u.version2.get_size ();
|
case 2: return u.version2.get_size ();
|
||||||
#endif
|
#endif
|
||||||
default: return u.version.static_size;
|
default: return u.version.static_size;
|
||||||
|
@ -634,7 +634,7 @@ struct GDEF
|
||||||
if (unlikely (!u.version.sanitize (c))) return_trace (false);
|
if (unlikely (!u.version.sanitize (c))) return_trace (false);
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return_trace (u.version1.sanitize (c));
|
case 1: return_trace (u.version1.sanitize (c));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return_trace (u.version2.sanitize (c));
|
case 2: return_trace (u.version2.sanitize (c));
|
||||||
#endif
|
#endif
|
||||||
default: return_trace (true);
|
default: return_trace (true);
|
||||||
|
@ -645,7 +645,7 @@ struct GDEF
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return u.version1.subset (c);
|
case 1: return u.version1.subset (c);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return u.version2.subset (c);
|
case 2: return u.version2.subset (c);
|
||||||
#endif
|
#endif
|
||||||
default: return false;
|
default: return false;
|
||||||
|
@ -656,7 +656,7 @@ struct GDEF
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return u.version1.glyphClassDef != 0;
|
case 1: return u.version1.glyphClassDef != 0;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return u.version2.glyphClassDef != 0;
|
case 2: return u.version2.glyphClassDef != 0;
|
||||||
#endif
|
#endif
|
||||||
default: return false;
|
default: return false;
|
||||||
|
@ -666,7 +666,7 @@ struct GDEF
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return this+u.version1.glyphClassDef;
|
case 1: return this+u.version1.glyphClassDef;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return this+u.version2.glyphClassDef;
|
case 2: return this+u.version2.glyphClassDef;
|
||||||
#endif
|
#endif
|
||||||
default: return Null(ClassDef);
|
default: return Null(ClassDef);
|
||||||
|
@ -676,7 +676,7 @@ struct GDEF
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return u.version1.attachList != 0;
|
case 1: return u.version1.attachList != 0;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return u.version2.attachList != 0;
|
case 2: return u.version2.attachList != 0;
|
||||||
#endif
|
#endif
|
||||||
default: return false;
|
default: return false;
|
||||||
|
@ -686,7 +686,7 @@ struct GDEF
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return this+u.version1.attachList;
|
case 1: return this+u.version1.attachList;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return this+u.version2.attachList;
|
case 2: return this+u.version2.attachList;
|
||||||
#endif
|
#endif
|
||||||
default: return Null(AttachList);
|
default: return Null(AttachList);
|
||||||
|
@ -696,7 +696,7 @@ struct GDEF
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return u.version1.ligCaretList != 0;
|
case 1: return u.version1.ligCaretList != 0;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return u.version2.ligCaretList != 0;
|
case 2: return u.version2.ligCaretList != 0;
|
||||||
#endif
|
#endif
|
||||||
default: return false;
|
default: return false;
|
||||||
|
@ -706,7 +706,7 @@ struct GDEF
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return this+u.version1.ligCaretList;
|
case 1: return this+u.version1.ligCaretList;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return this+u.version2.ligCaretList;
|
case 2: return this+u.version2.ligCaretList;
|
||||||
#endif
|
#endif
|
||||||
default: return Null(LigCaretList);
|
default: return Null(LigCaretList);
|
||||||
|
@ -716,7 +716,7 @@ struct GDEF
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return u.version1.markAttachClassDef != 0;
|
case 1: return u.version1.markAttachClassDef != 0;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return u.version2.markAttachClassDef != 0;
|
case 2: return u.version2.markAttachClassDef != 0;
|
||||||
#endif
|
#endif
|
||||||
default: return false;
|
default: return false;
|
||||||
|
@ -726,7 +726,7 @@ struct GDEF
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return this+u.version1.markAttachClassDef;
|
case 1: return this+u.version1.markAttachClassDef;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return this+u.version2.markAttachClassDef;
|
case 2: return this+u.version2.markAttachClassDef;
|
||||||
#endif
|
#endif
|
||||||
default: return Null(ClassDef);
|
default: return Null(ClassDef);
|
||||||
|
@ -736,7 +736,7 @@ struct GDEF
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return u.version.to_int () >= 0x00010002u && u.version1.markGlyphSetsDef != 0;
|
case 1: return u.version.to_int () >= 0x00010002u && u.version1.markGlyphSetsDef != 0;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return u.version2.markGlyphSetsDef != 0;
|
case 2: return u.version2.markGlyphSetsDef != 0;
|
||||||
#endif
|
#endif
|
||||||
default: return false;
|
default: return false;
|
||||||
|
@ -746,7 +746,7 @@ struct GDEF
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return u.version.to_int () >= 0x00010002u ? this+u.version1.markGlyphSetsDef : Null(MarkGlyphSets);
|
case 1: return u.version.to_int () >= 0x00010002u ? this+u.version1.markGlyphSetsDef : Null(MarkGlyphSets);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return this+u.version2.markGlyphSetsDef;
|
case 2: return this+u.version2.markGlyphSetsDef;
|
||||||
#endif
|
#endif
|
||||||
default: return Null(MarkGlyphSets);
|
default: return Null(MarkGlyphSets);
|
||||||
|
@ -756,7 +756,7 @@ struct GDEF
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return u.version.to_int () >= 0x00010003u && u.version1.varStore != 0;
|
case 1: return u.version.to_int () >= 0x00010003u && u.version1.varStore != 0;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return u.version2.varStore != 0;
|
case 2: return u.version2.varStore != 0;
|
||||||
#endif
|
#endif
|
||||||
default: return false;
|
default: return false;
|
||||||
|
@ -766,7 +766,7 @@ struct GDEF
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return u.version.to_int () >= 0x00010003u ? this+u.version1.varStore : Null(VariationStore);
|
case 1: return u.version.to_int () >= 0x00010003u ? this+u.version1.varStore : Null(VariationStore);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return this+u.version2.varStore;
|
case 2: return this+u.version2.varStore;
|
||||||
#endif
|
#endif
|
||||||
default: return Null(VariationStore);
|
default: return Null(VariationStore);
|
||||||
|
@ -874,7 +874,7 @@ struct GDEF
|
||||||
union {
|
union {
|
||||||
FixedVersion<> version; /* Version identifier */
|
FixedVersion<> version; /* Version identifier */
|
||||||
GDEFVersion1_2<SmallTypes> version1;
|
GDEFVersion1_2<SmallTypes> version1;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
GDEFVersion1_2<MediumTypes> version2;
|
GDEFVersion1_2<MediumTypes> version2;
|
||||||
#endif
|
#endif
|
||||||
} u;
|
} u;
|
||||||
|
|
|
@ -477,7 +477,7 @@ struct hb_ot_apply_context_t :
|
||||||
{
|
{
|
||||||
c = c_;
|
c = c_;
|
||||||
match_glyph_data16 = nullptr;
|
match_glyph_data16 = nullptr;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
match_glyph_data24 = nullptr;
|
match_glyph_data24 = nullptr;
|
||||||
#endif
|
#endif
|
||||||
matcher.set_match_func (nullptr, nullptr);
|
matcher.set_match_func (nullptr, nullptr);
|
||||||
|
@ -501,11 +501,11 @@ struct hb_ot_apply_context_t :
|
||||||
void set_glyph_data (const HBUINT16 glyph_data[])
|
void set_glyph_data (const HBUINT16 glyph_data[])
|
||||||
{
|
{
|
||||||
match_glyph_data16 = glyph_data;
|
match_glyph_data16 = glyph_data;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
match_glyph_data24 = nullptr;
|
match_glyph_data24 = nullptr;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
void set_glyph_data (const HBUINT24 glyph_data[])
|
void set_glyph_data (const HBUINT24 glyph_data[])
|
||||||
{
|
{
|
||||||
match_glyph_data16 = nullptr;
|
match_glyph_data16 = nullptr;
|
||||||
|
@ -603,7 +603,7 @@ struct hb_ot_apply_context_t :
|
||||||
get_glyph_data ()
|
get_glyph_data ()
|
||||||
{
|
{
|
||||||
if (match_glyph_data16) return *match_glyph_data16;
|
if (match_glyph_data16) return *match_glyph_data16;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
else
|
else
|
||||||
if (match_glyph_data24) return *match_glyph_data24;
|
if (match_glyph_data24) return *match_glyph_data24;
|
||||||
#endif
|
#endif
|
||||||
|
@ -613,7 +613,7 @@ struct hb_ot_apply_context_t :
|
||||||
advance_glyph_data ()
|
advance_glyph_data ()
|
||||||
{
|
{
|
||||||
if (match_glyph_data16) match_glyph_data16++;
|
if (match_glyph_data16) match_glyph_data16++;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
else
|
else
|
||||||
if (match_glyph_data24) match_glyph_data24++;
|
if (match_glyph_data24) match_glyph_data24++;
|
||||||
#endif
|
#endif
|
||||||
|
@ -622,7 +622,7 @@ struct hb_ot_apply_context_t :
|
||||||
backup_glyph_data ()
|
backup_glyph_data ()
|
||||||
{
|
{
|
||||||
if (match_glyph_data16) match_glyph_data16--;
|
if (match_glyph_data16) match_glyph_data16--;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
else
|
else
|
||||||
if (match_glyph_data24) match_glyph_data24--;
|
if (match_glyph_data24) match_glyph_data24--;
|
||||||
#endif
|
#endif
|
||||||
|
@ -633,7 +633,7 @@ struct hb_ot_apply_context_t :
|
||||||
hb_ot_apply_context_t *c;
|
hb_ot_apply_context_t *c;
|
||||||
matcher_t matcher;
|
matcher_t matcher;
|
||||||
const HBUINT16 *match_glyph_data16;
|
const HBUINT16 *match_glyph_data16;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
const HBUINT24 *match_glyph_data24;
|
const HBUINT24 *match_glyph_data24;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2607,7 +2607,7 @@ struct Context
|
||||||
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)...));
|
||||||
case 3: return_trace (c->dispatch (u.format3, std::forward<Ts> (ds)...));
|
case 3: return_trace (c->dispatch (u.format3, std::forward<Ts> (ds)...));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 4: return_trace (c->dispatch (u.format4, std::forward<Ts> (ds)...));
|
case 4: return_trace (c->dispatch (u.format4, std::forward<Ts> (ds)...));
|
||||||
case 5: return_trace (c->dispatch (u.format5, std::forward<Ts> (ds)...));
|
case 5: return_trace (c->dispatch (u.format5, std::forward<Ts> (ds)...));
|
||||||
#endif
|
#endif
|
||||||
|
@ -2621,7 +2621,7 @@ struct Context
|
||||||
ContextFormat1_4<SmallTypes> format1;
|
ContextFormat1_4<SmallTypes> format1;
|
||||||
ContextFormat2_5<SmallTypes> format2;
|
ContextFormat2_5<SmallTypes> format2;
|
||||||
ContextFormat3 format3;
|
ContextFormat3 format3;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
ContextFormat1_4<MediumTypes> format4;
|
ContextFormat1_4<MediumTypes> format4;
|
||||||
ContextFormat2_5<MediumTypes> format5;
|
ContextFormat2_5<MediumTypes> format5;
|
||||||
#endif
|
#endif
|
||||||
|
@ -3781,7 +3781,7 @@ struct ChainContext
|
||||||
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)...));
|
||||||
case 3: return_trace (c->dispatch (u.format3, std::forward<Ts> (ds)...));
|
case 3: return_trace (c->dispatch (u.format3, std::forward<Ts> (ds)...));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 4: return_trace (c->dispatch (u.format4, std::forward<Ts> (ds)...));
|
case 4: return_trace (c->dispatch (u.format4, std::forward<Ts> (ds)...));
|
||||||
case 5: return_trace (c->dispatch (u.format5, std::forward<Ts> (ds)...));
|
case 5: return_trace (c->dispatch (u.format5, std::forward<Ts> (ds)...));
|
||||||
#endif
|
#endif
|
||||||
|
@ -3795,7 +3795,7 @@ struct ChainContext
|
||||||
ChainContextFormat1_4<SmallTypes> format1;
|
ChainContextFormat1_4<SmallTypes> format1;
|
||||||
ChainContextFormat2_5<SmallTypes> format2;
|
ChainContextFormat2_5<SmallTypes> format2;
|
||||||
ChainContextFormat3 format3;
|
ChainContextFormat3 format3;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
ChainContextFormat1_4<MediumTypes> format4;
|
ChainContextFormat1_4<MediumTypes> format4;
|
||||||
ChainContextFormat2_5<MediumTypes> format5;
|
ChainContextFormat2_5<MediumTypes> format5;
|
||||||
#endif
|
#endif
|
||||||
|
@ -4075,7 +4075,7 @@ struct GSUBGPOS
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return u.version1.get_size ();
|
case 1: return u.version1.get_size ();
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return u.version2.get_size ();
|
case 2: return u.version2.get_size ();
|
||||||
#endif
|
#endif
|
||||||
default: return u.version.static_size;
|
default: return u.version.static_size;
|
||||||
|
@ -4089,7 +4089,7 @@ struct GSUBGPOS
|
||||||
if (unlikely (!u.version.sanitize (c))) return_trace (false);
|
if (unlikely (!u.version.sanitize (c))) return_trace (false);
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return_trace (u.version1.sanitize<TLookup> (c));
|
case 1: return_trace (u.version1.sanitize<TLookup> (c));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return_trace (u.version2.sanitize<TLookup> (c));
|
case 2: return_trace (u.version2.sanitize<TLookup> (c));
|
||||||
#endif
|
#endif
|
||||||
default: return_trace (true);
|
default: return_trace (true);
|
||||||
|
@ -4101,7 +4101,7 @@ struct GSUBGPOS
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return u.version1.subset<TLookup> (c);
|
case 1: return u.version1.subset<TLookup> (c);
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return u.version2.subset<TLookup> (c);
|
case 2: return u.version2.subset<TLookup> (c);
|
||||||
#endif
|
#endif
|
||||||
default: return false;
|
default: return false;
|
||||||
|
@ -4112,7 +4112,7 @@ struct GSUBGPOS
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return this+u.version1.scriptList;
|
case 1: return this+u.version1.scriptList;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return this+u.version2.scriptList;
|
case 2: return this+u.version2.scriptList;
|
||||||
#endif
|
#endif
|
||||||
default: return Null (ScriptList);
|
default: return Null (ScriptList);
|
||||||
|
@ -4122,7 +4122,7 @@ struct GSUBGPOS
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return this+u.version1.featureList;
|
case 1: return this+u.version1.featureList;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return this+u.version2.featureList;
|
case 2: return this+u.version2.featureList;
|
||||||
#endif
|
#endif
|
||||||
default: return Null (FeatureList);
|
default: return Null (FeatureList);
|
||||||
|
@ -4132,7 +4132,7 @@ struct GSUBGPOS
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return (this+u.version1.lookupList).len;
|
case 1: return (this+u.version1.lookupList).len;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return (this+u.version2.lookupList).len;
|
case 2: return (this+u.version2.lookupList).len;
|
||||||
#endif
|
#endif
|
||||||
default: return 0;
|
default: return 0;
|
||||||
|
@ -4142,7 +4142,7 @@ struct GSUBGPOS
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return (this+u.version1.lookupList)[i];
|
case 1: return (this+u.version1.lookupList)[i];
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return (this+u.version2.lookupList)[i];
|
case 2: return (this+u.version2.lookupList)[i];
|
||||||
#endif
|
#endif
|
||||||
default: return Null (Lookup);
|
default: return Null (Lookup);
|
||||||
|
@ -4152,7 +4152,7 @@ struct GSUBGPOS
|
||||||
{
|
{
|
||||||
switch (u.version.major) {
|
switch (u.version.major) {
|
||||||
case 1: return (u.version.to_int () >= 0x00010001u ? this+u.version1.featureVars : Null (FeatureVariations));
|
case 1: return (u.version.to_int () >= 0x00010001u ? this+u.version1.featureVars : Null (FeatureVariations));
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
case 2: return this+u.version2.featureVars;
|
case 2: return this+u.version2.featureVars;
|
||||||
#endif
|
#endif
|
||||||
default: return Null (FeatureVariations);
|
default: return Null (FeatureVariations);
|
||||||
|
@ -4333,7 +4333,7 @@ struct GSUBGPOS
|
||||||
union {
|
union {
|
||||||
FixedVersion<> version; /* Version identifier */
|
FixedVersion<> version; /* Version identifier */
|
||||||
GSUBGPOSVersion1_2<SmallTypes> version1;
|
GSUBGPOSVersion1_2<SmallTypes> version1;
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
GSUBGPOSVersion1_2<MediumTypes> version2;
|
GSUBGPOSVersion1_2<MediumTypes> version2;
|
||||||
#endif
|
#endif
|
||||||
} u;
|
} u;
|
||||||
|
|
|
@ -192,7 +192,7 @@ struct avar
|
||||||
int v = coords[i];
|
int v = coords[i];
|
||||||
uint32_t varidx = varidx_map.map (i);
|
uint32_t varidx = varidx_map.map (i);
|
||||||
float delta = var_store.get_delta (varidx, coords, coords_length, var_store_cache);
|
float delta = var_store.get_delta (varidx, coords, coords_length, var_store_cache);
|
||||||
v += round (delta);
|
v += roundf (delta);
|
||||||
v = hb_clamp (v, -(1<<14), +(1<<14));
|
v = hb_clamp (v, -(1<<14), +(1<<14));
|
||||||
out.push (v);
|
out.push (v);
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ const hb_codepoint_t minus_1 = -1;
|
||||||
|
|
||||||
/* hb_face_t */
|
/* hb_face_t */
|
||||||
|
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
static inline unsigned
|
static inline unsigned
|
||||||
load_num_glyphs_from_loca (const hb_face_t *face)
|
load_num_glyphs_from_loca (const hb_face_t *face)
|
||||||
{
|
{
|
||||||
|
@ -88,7 +88,7 @@ hb_face_t::load_num_glyphs () const
|
||||||
{
|
{
|
||||||
unsigned ret = 0;
|
unsigned ret = 0;
|
||||||
|
|
||||||
#ifndef HB_NO_BORING_EXPANSION
|
#ifndef HB_NO_BEYOND_64K
|
||||||
ret = hb_max (ret, load_num_glyphs_from_loca (this));
|
ret = hb_max (ret, load_num_glyphs_from_loca (this));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue