Add LOffsetTo<>
authorBehdad Esfahbod <behdad@behdad.org>
Mon, 23 Jan 2017 04:28:56 +0000 (20:28 -0800)
committerBehdad Esfahbod <behdad@behdad.org>
Mon, 23 Jan 2017 04:28:56 +0000 (20:28 -0800)
src/hb-open-file-private.hh
src/hb-open-type-private.hh
src/hb-ot-cbdt-table.hh
src/hb-ot-cmap-table.hh
src/hb-ot-layout-common-private.hh
src/hb-ot-layout-gdef-table.hh
src/hb-ot-layout-gsubgpos-private.hh

index 5357ddc..f208419 100644 (file)
@@ -142,7 +142,7 @@ struct TTCHeaderVersion1
   Tag          ttcTag;         /* TrueType Collection ID string: 'ttcf' */
   FixedVersion<>version;       /* Version of the TTC Header (1.0),
                                 * 0x00010000u */
-  ArrayOf<OffsetTo<OffsetTable, ULONG>, ULONG>
+  ArrayOf<LOffsetTo<OffsetTable>, ULONG>
                table;          /* Array of offsets to the OffsetTable for each font
                                 * from the beginning of the file */
   public:
index 8845e3e..8bd3618 100644 (file)
@@ -830,6 +830,7 @@ struct OffsetTo : Offset<OffsetType>
   }
   DEFINE_SIZE_STATIC (sizeof(OffsetType));
 };
+template <typename Type> struct LOffsetTo : OffsetTo<Type, ULONG> {};
 template <typename Base, typename OffsetType, typename Type>
 static inline const Type& operator + (const Base &base, const OffsetTo<Type, OffsetType> &offset) { return offset (base); }
 template <typename Base, typename OffsetType, typename Type>
index 52897ab..93cf0e8 100644 (file)
@@ -216,7 +216,7 @@ struct IndexSubtableRecord
 
   USHORT firstGlyphIndex;
   USHORT lastGlyphIndex;
-  OffsetTo<IndexSubtable, ULONG> offsetToSubtable;
+  LOffsetTo<IndexSubtable> offsetToSubtable;
 
   DEFINE_SIZE_STATIC(8);
 };
@@ -275,7 +275,7 @@ struct BitmapSizeTable
   }
 
   protected:
-  OffsetTo<IndexSubtableArray, ULONG> indexSubtableArrayOffset;
+  LOffsetTo<IndexSubtableArray> indexSubtableArrayOffset;
   ULONG indexTablesSize;
   ULONG numberOfIndexSubtables;
   ULONG colorRef;
index d7a94a1..3a53a1c 100644 (file)
@@ -380,9 +380,9 @@ struct VariationSelectorRecord
   }
 
   UINT24       varSelector;    /* Variation selector. */
-  OffsetTo<DefaultUVS, ULONG>
+  LOffsetTo<DefaultUVS>
                defaultUVS;     /* Offset to Default UVS Table. May be 0. */
-  OffsetTo<NonDefaultUVS, ULONG>
+  LOffsetTo<NonDefaultUVS>
                nonDefaultUVS;  /* Offset to Non-Default UVS Table. May be 0. */
   public:
   DEFINE_SIZE_STATIC (11);
@@ -486,7 +486,7 @@ struct EncodingRecord
 
   USHORT       platformID;     /* Platform ID. */
   USHORT       encodingID;     /* Platform-specific encoding ID. */
-  OffsetTo<CmapSubtable, ULONG>
+  LOffsetTo<CmapSubtable>
                subtable;       /* Byte offset from beginning of table to the subtable for this encoding. */
   public:
   DEFINE_SIZE_STATIC (8);
index 62ca7a3..2f83497 100644 (file)
@@ -1334,7 +1334,7 @@ struct VariationStore
 
   protected:
   USHORT                               format;
-  OffsetTo<VarRegionList, ULONG>       regions;
+  LOffsetTo<VarRegionList>             regions;
   OffsetArrayOf<VarData, ULONG>                dataSets;
   public:
   DEFINE_SIZE_ARRAY (8, dataSets);
@@ -1433,8 +1433,8 @@ struct FeatureTableSubstitutionRecord
   }
 
   protected:
-  USHORT                       featureIndex;
-  OffsetTo<Feature, ULONG>     feature;
+  USHORT               featureIndex;
+  LOffsetTo<Feature>   feature;
   public:
   DEFINE_SIZE_STATIC (6);
 };
@@ -1481,9 +1481,9 @@ struct FeatureVariationRecord
   }
 
   protected:
-  OffsetTo<ConditionSet, ULONG>
+  LOffsetTo<ConditionSet>
                        conditions;
-  OffsetTo<FeatureTableSubstitution, ULONG>
+  LOffsetTo<FeatureTableSubstitution>
                        substitutions;
   public:
   DEFINE_SIZE_STATIC (8);
index b70cbb7..552df0f 100644 (file)
@@ -295,7 +295,7 @@ struct MarkGlyphSetsFormat1
 
   protected:
   USHORT       format;                 /* Format identifier--format = 1 */
-  ArrayOf<OffsetTo<Coverage, ULONG> >
+  ArrayOf<LOffsetTo<Coverage> >
                coverage;               /* Array of long offsets to mark set
                                         * coverage tables */
   public:
@@ -443,7 +443,7 @@ struct GDEF
                                         * definitions--from beginning of GDEF
                                         * header (may be NULL).  Introduced
                                         * in version 0x00010002. */
-  OffsetTo<VariationStore, ULONG>
+  LOffsetTo<VariationStore>
                varStore;               /* Offset to the table of Item Variation
                                         * Store--from beginning of GDEF
                                         * header (may be NULL).  Introduced
index fd75c54..b7a0122 100644 (file)
@@ -2313,7 +2313,7 @@ struct GSUBGPOS
                featureList;    /* FeatureList table */
   OffsetTo<LookupList>
                lookupList;     /* LookupList table */
-  OffsetTo<FeatureVariations, ULONG>
+  LOffsetTo<FeatureVariations>
                featureVars;    /* Offset to Feature Variations
                                   table--from beginning of table
                                 * (may be NULL).  Introduced