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:
parent
f1f6bc0a6f
commit
5b93f69169
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue