Rename some X-terminated members to Z-terminated

X-terminated means don't access this, it's not located correctly.
Z-terminated means this is a C array with no bound checking.
This commit is contained in:
Behdad Esfahbod 2018-05-02 14:59:14 -04:00
parent f1f6bc0a6f
commit 5b93f69169
5 changed files with 34 additions and 34 deletions

View File

@ -670,8 +670,8 @@ struct Chain
HBUINT32 subtableCount; /* The number of subtables in the chain. */ HBUINT32 subtableCount; /* The number of subtables in the chain. */
Feature featureZ[VAR]; /* Features. */ Feature featureZ[VAR]; /* Features. */
ChainSubtable subtableX[VAR]; /* Subtables. */ /*ChainSubtable subtableX[VAR];*//* Subtables. */
// subtableGlyphCoverageArray if major == 3 /*subtableGlyphCoverageArray*/ /* Only if major == 3. */
public: public:
DEFINE_SIZE_MIN (16); DEFINE_SIZE_MIN (16);

View File

@ -1201,18 +1201,18 @@ struct BinSearchHeader
{ {
len.set (v); len.set (v);
assert (len == v); assert (len == v);
entrySelectorZ.set (MAX (1u, _hb_bit_storage (v)) - 1); entrySelector.set (MAX (1u, _hb_bit_storage (v)) - 1);
searchRangeZ.set (16 * (1u << entrySelectorZ)); searchRange.set (16 * (1u << entrySelector));
rangeShiftZ.set (v * 16 > searchRangeZ rangeShift.set (v * 16 > searchRange
? 16 * v - searchRangeZ ? 16 * v - searchRange
: 0); : 0);
} }
protected: protected:
HBUINT16 len; HBUINT16 len;
HBUINT16 searchRangeZ; HBUINT16 searchRange;
HBUINT16 entrySelectorZ; HBUINT16 entrySelector;
HBUINT16 rangeShiftZ; HBUINT16 rangeShift;
public: public:
DEFINE_SIZE_STATIC (8); DEFINE_SIZE_STATIC (8);

View File

@ -59,8 +59,8 @@ struct CmapSubtableFormat0
protected: protected:
HBUINT16 format; /* Format number is set to 0. */ HBUINT16 format; /* Format number is set to 0. */
HBUINT16 lengthZ; /* Byte length of this subtable. */ HBUINT16 length; /* Byte length of this subtable. */
HBUINT16 languageZ; /* Ignore. */ HBUINT16 language; /* Ignore. */
HBUINT8 glyphIdArray[256];/* An array that maps character HBUINT8 glyphIdArray[256];/* An array that maps character
* code to glyph index values. */ * code to glyph index values. */
public: public:
@ -179,11 +179,11 @@ struct CmapSubtableFormat4
HBUINT16 format; /* Format number is set to 4. */ HBUINT16 format; /* Format number is set to 4. */
HBUINT16 length; /* This is the length in bytes of the HBUINT16 length; /* This is the length in bytes of the
* subtable. */ * subtable. */
HBUINT16 languageZ; /* Ignore. */ HBUINT16 language; /* Ignore. */
HBUINT16 segCountX2; /* 2 x segCount. */ HBUINT16 segCountX2; /* 2 x segCount. */
HBUINT16 searchRangeZ; /* 2 * (2**floor(log2(segCount))) */ HBUINT16 searchRange; /* 2 * (2**floor(log2(segCount))) */
HBUINT16 entrySelectorZ; /* log2(searchRange/2) */ HBUINT16 entrySelector; /* log2(searchRange/2) */
HBUINT16 rangeShiftZ; /* 2 x segCount - searchRange */ HBUINT16 rangeShift; /* 2 x segCount - searchRange */
HBUINT16 values[VAR]; HBUINT16 values[VAR];
#if 0 #if 0
@ -251,8 +251,8 @@ struct CmapSubtableTrimmed
protected: protected:
UINT formatReserved; /* Subtable format and (maybe) padding. */ UINT formatReserved; /* Subtable format and (maybe) padding. */
UINT lengthZ; /* Byte length of this subtable. */ UINT length; /* Byte length of this subtable. */
UINT languageZ; /* Ignore. */ UINT language; /* Ignore. */
UINT startCharCode; /* First character code covered. */ UINT startCharCode; /* First character code covered. */
ArrayOf<GlyphID, UINT> ArrayOf<GlyphID, UINT>
glyphIdArray; /* Array of glyph index values for character glyphIdArray; /* Array of glyph index values for character
@ -305,9 +305,9 @@ struct CmapSubtableLongSegmented
protected: protected:
HBUINT16 format; /* Subtable format; set to 12. */ HBUINT16 format; /* Subtable format; set to 12. */
HBUINT16 reservedZ; /* Reserved; set to 0. */ HBUINT16 reserved; /* Reserved; set to 0. */
HBUINT32 lengthZ; /* Byte length of this subtable. */ HBUINT32 length; /* Byte length of this subtable. */
HBUINT32 languageZ; /* Ignore. */ HBUINT32 language; /* Ignore. */
SortedArrayOf<CmapSubtableLongGroup, HBUINT32> SortedArrayOf<CmapSubtableLongGroup, HBUINT32>
groups; /* Groupings. */ groups; /* Groupings. */
public: public:
@ -441,7 +441,7 @@ struct CmapSubtableFormat14
protected: protected:
HBUINT16 format; /* Format number is set to 14. */ HBUINT16 format; /* Format number is set to 14. */
HBUINT32 lengthZ; /* Byte length of this subtable. */ HBUINT32 length; /* Byte length of this subtable. */
SortedArrayOf<VariationSelectorRecord, HBUINT32> SortedArrayOf<VariationSelectorRecord, HBUINT32>
record; /* Variation selector records; sorted record; /* Variation selector records; sorted
* in increasing order of `varSelector'. */ * in increasing order of `varSelector'. */
@ -611,8 +611,8 @@ struct cmap
if (unlikely (!c.extend_min (format12))) return false; if (unlikely (!c.extend_min (format12))) return false;
format12.format.set (12); format12.format.set (12);
format12.reservedZ.set (0); format12.reserved.set (0);
format12.lengthZ.set (16 + 12 * groups.len); format12.length.set (16 + 12 * groups.len);
if (unlikely (!format12.serialize (&c, groups))) return false; if (unlikely (!format12.serialize (&c, groups))) return false;

View File

@ -56,8 +56,8 @@ struct loca
} }
protected: protected:
HBUINT8 dataX[VAR]; /* Location data. */ HBUINT8 dataZ[VAR]; /* Location data. */
DEFINE_SIZE_ARRAY (0, dataX); DEFINE_SIZE_ARRAY (0, dataZ);
}; };
@ -377,13 +377,13 @@ struct glyf
if (short_offset) if (short_offset)
{ {
const HBUINT16 *offsets = (const HBUINT16 *) loca_table->dataX; const HBUINT16 *offsets = (const HBUINT16 *) loca_table->dataZ;
*start_offset = 2 * offsets[glyph]; *start_offset = 2 * offsets[glyph];
*end_offset = 2 * offsets[glyph + 1]; *end_offset = 2 * offsets[glyph + 1];
} }
else else
{ {
const HBUINT32 *offsets = (const HBUINT32 *) loca_table->dataX; const HBUINT32 *offsets = (const HBUINT32 *) loca_table->dataZ;
*start_offset = offsets[glyph]; *start_offset = offsets[glyph];
*end_offset = offsets[glyph + 1]; *end_offset = offsets[glyph + 1];
@ -420,7 +420,7 @@ struct glyf
} while (composite_it.move_to_next()); } while (composite_it.move_to_next());
if ( (uint16_t) last->flags & CompositeGlyphHeader::WE_HAVE_INSTRUCTIONS) if ( (uint16_t) last->flags & CompositeGlyphHeader::WE_HAVE_INSTRUCTIONS)
*instruction_start = ((char *) last - (char *) glyf_table->dataX) + last->get_size(); *instruction_start = ((char *) last - (char *) glyf_table->dataZ) + last->get_size();
else else
*instruction_start = end_offset; *instruction_start = end_offset;
*instruction_end = end_offset; *instruction_end = end_offset;
@ -485,9 +485,9 @@ struct glyf
}; };
protected: protected:
HBUINT8 dataX[VAR]; /* Glyphs data. */ HBUINT8 dataZ[VAR]; /* Glyphs data. */
DEFINE_SIZE_ARRAY (0, dataX); DEFINE_SIZE_ARRAY (0, dataZ);
}; };
} /* namespace OT */ } /* namespace OT */

View File

@ -108,7 +108,7 @@ struct avar
c->check_struct (this)))) c->check_struct (this))))
return_trace (false); return_trace (false);
const SegmentMaps *map = &axisSegmentMapsZ; const SegmentMaps *map = axisSegmentMapsZ;
unsigned int count = axisCount; unsigned int count = axisCount;
for (unsigned int i = 0; i < count; i++) for (unsigned int i = 0; i < count; i++)
{ {
@ -124,7 +124,7 @@ struct avar
{ {
unsigned int count = MIN<unsigned int> (coords_length, axisCount); unsigned int count = MIN<unsigned int> (coords_length, axisCount);
const SegmentMaps *map = &axisSegmentMapsZ; const SegmentMaps *map = axisSegmentMapsZ;
for (unsigned int i = 0; i < count; i++) for (unsigned int i = 0; i < count; i++)
{ {
coords[i] = map->map (coords[i]); coords[i] = map->map (coords[i]);
@ -139,7 +139,7 @@ struct avar
HBUINT16 axisCount; /* The number of variation axes in the font. This HBUINT16 axisCount; /* The number of variation axes in the font. This
* must be the same number as axisCount in the * must be the same number as axisCount in the
* 'fvar' table. */ * 'fvar' table. */
SegmentMaps axisSegmentMapsZ; SegmentMaps axisSegmentMapsZ[VAR];
public: public:
DEFINE_SIZE_MIN (8); DEFINE_SIZE_MIN (8);