未验证 提交 f8bb582b 编写于 作者: E Ebrahim Byagowi 提交者: GitHub

[ot-color] Cosmetic changes (#962)

上级 1e1e9086
...@@ -909,7 +909,6 @@ struct UnsizedArrayOf ...@@ -909,7 +909,6 @@ struct UnsizedArrayOf
return_trace (true); return_trace (true);
} }
private:
inline bool sanitize_shallow (hb_sanitize_context_t *c, unsigned int count) const inline bool sanitize_shallow (hb_sanitize_context_t *c, unsigned int count) const
{ {
TRACE_SANITIZE (this); TRACE_SANITIZE (this);
......
...@@ -301,23 +301,23 @@ struct BitmapSizeTable ...@@ -301,23 +301,23 @@ struct BitmapSizeTable
struct GlyphBitmapDataFormat17 struct GlyphBitmapDataFormat17
{ {
SmallGlyphMetrics glyphMetrics; SmallGlyphMetrics glyphMetrics;
ArrayOf<HBUINT8, HBUINT32> data; LArrayOf<HBUINT8> data;
public: public:
DEFINE_SIZE_ARRAY(9, data); DEFINE_SIZE_ARRAY(9, data);
}; };
struct GlyphBitmapDataFormat18 struct GlyphBitmapDataFormat18
{ {
BigGlyphMetrics glyphMetrics; BigGlyphMetrics glyphMetrics;
ArrayOf<HBUINT8, HBUINT32> data; LArrayOf<HBUINT8> data;
public: public:
DEFINE_SIZE_ARRAY(12, data); DEFINE_SIZE_ARRAY(12, data);
}; };
struct GlyphBitmapDataFormat19 struct GlyphBitmapDataFormat19
{ {
ArrayOf<HBUINT8, HBUINT32> data; LArrayOf<HBUINT8> data;
public: public:
DEFINE_SIZE_ARRAY(4, data); DEFINE_SIZE_ARRAY(4, data);
}; };
......
...@@ -144,13 +144,13 @@ struct CPAL ...@@ -144,13 +144,13 @@ struct CPAL
{ {
TRACE_SANITIZE (this); TRACE_SANITIZE (this);
if (!(c->check_struct (this) && // it checks colorRecordIndices also, see #get_size if (!(c->check_struct (this) && // it checks colorRecordIndices also, see #get_size
(this+colorRecordsZ).sanitize (c, numColorRecords))) (this+colorRecordsZ).sanitize (c, numColorRecords)))
return_trace (false); return_trace (false);
// Check for indices sanity so no need for doing it runtime // Check for indices sanity so no need for doing it runtime
for (unsigned int i = 0; i < numPalettes; ++i) for (unsigned int i = 0; i < numPalettes; ++i)
if (colorRecordIndicesZ[i] + numPaletteEntries > numColorRecords) if (colorRecordIndicesZ[i] + numPaletteEntries > numColorRecords)
return_trace (false); return_trace (false);
// If version is zero, we are done here; otherwise we need to check tail also // If version is zero, we are done here; otherwise we need to check tail also
if (version == 0) if (version == 0)
......
...@@ -45,7 +45,8 @@ struct SBIXGlyph ...@@ -45,7 +45,8 @@ struct SBIXGlyph
Tag graphicType; /* Indicates the format of the embedded graphic Tag graphicType; /* Indicates the format of the embedded graphic
* data: one of 'jpg ', 'png ' or 'tiff', or the * data: one of 'jpg ', 'png ' or 'tiff', or the
* special format 'dupe'. */ * special format 'dupe'. */
HBUINT8 data[VAR]; /* The actual embedded graphic data. The total UnsizedArrayOf<HBUINT8>
data; /* The actual embedded graphic data. The total
* length is inferred from sequential entries in * length is inferred from sequential entries in
* the glyphDataOffsets array and the fixed size * the glyphDataOffsets array and the fixed size
* (8 bytes) of the preceding fields. */ * (8 bytes) of the preceding fields. */
...@@ -61,18 +62,16 @@ struct SBIXStrike ...@@ -61,18 +62,16 @@ struct SBIXStrike
{ {
TRACE_SANITIZE (this); TRACE_SANITIZE (this);
return_trace (c->check_struct (this) && return_trace (c->check_struct (this) &&
c->check_array (imageOffsetsZ, imageOffsetsZ.sanitize_shallow (c, c->num_glyphs + 1));
sizeof (HBUINT32),
1 + c->num_glyphs));
} }
HBUINT16 ppem; /* The PPEM size for which this strike was designed. */
HBUINT16 resolution; /* The device pixel density (in PPI) for which this
* strike was designed. (E.g., 96 PPI, 192 PPI.) */
protected: protected:
LOffsetTo<SBIXGlyph> imageOffsetsZ[VAR]; // VAR=maxp.numGlyphs + 1 HBUINT16 ppem; /* The PPEM size for which this strike was designed. */
/* Offset from the beginning of the strike data header HBUINT16 resolution; /* The device pixel density (in PPI) for which this
* to bitmap data for an individual glyph ID. */ * strike was designed. (E.g., 96 PPI, 192 PPI.) */
UnsizedArrayOf<LOffsetTo<SBIXGlyph> >
imageOffsetsZ; /* Offset from the beginning of the strike data header
* to bitmap data for an individual glyph ID. */
public: public:
DEFINE_SIZE_STATIC (8); DEFINE_SIZE_STATIC (8);
}; };
...@@ -112,19 +111,19 @@ struct sbix ...@@ -112,19 +111,19 @@ struct sbix
} }
inline void dump (void (*callback) (const uint8_t* data, unsigned int length, inline void dump (void (*callback) (const uint8_t* data, unsigned int length,
unsigned int group, unsigned int gid)) const unsigned int group, unsigned int gid)) const
{ {
for (unsigned group = 0; group < sbix_table->strikes.len; ++group) for (unsigned group = 0; group < sbix_table->strikes.len; ++group)
{ {
const SBIXStrike &strike = sbix_table->strikes[group](sbix_table); const SBIXStrike &strike = sbix_table->strikes[group](sbix_table);
for (unsigned int glyph = 0; glyph < num_glyphs; ++glyph) for (unsigned int glyph = 0; glyph < num_glyphs; ++glyph)
if (strike.imageOffsetsZ[glyph + 1] - strike.imageOffsetsZ[glyph] > 0) if (strike.imageOffsetsZ[glyph + 1] - strike.imageOffsetsZ[glyph] > 0)
{ {
const SBIXGlyph &sbixGlyph = strike.imageOffsetsZ[glyph]((const void *) &strike); const SBIXGlyph &sbixGlyph = strike.imageOffsetsZ[glyph]((const void *) &strike);
callback ((const uint8_t*) sbixGlyph.data, callback ((const uint8_t*) &sbixGlyph.data,
strike.imageOffsetsZ[glyph + 1] - strike.imageOffsetsZ[glyph] - 8, strike.imageOffsetsZ[glyph + 1] - strike.imageOffsetsZ[glyph] - 8,
group, glyph); group, glyph);
} }
} }
} }
...@@ -141,7 +140,7 @@ struct sbix ...@@ -141,7 +140,7 @@ struct sbix
HBUINT16 version; /* Table version number — set to 1 */ HBUINT16 version; /* Table version number — set to 1 */
HBUINT16 flags; /* Bit 0: Set to 1. Bit 1: Draw outlines. HBUINT16 flags; /* Bit 0: Set to 1. Bit 1: Draw outlines.
* Bits 2 to 15: reserved (set to 0). */ * Bits 2 to 15: reserved (set to 0). */
ArrayOf<LOffsetTo<SBIXStrike>, HBUINT32> LArrayOf<LOffsetTo<SBIXStrike> >
strikes; /* Offsets from the beginning of the 'sbix' strikes; /* Offsets from the beginning of the 'sbix'
* table to data for each individual bitmap strike. */ * table to data for each individual bitmap strike. */
public: public:
......
...@@ -45,19 +45,19 @@ struct SVGDocumentIndexEntry ...@@ -45,19 +45,19 @@ struct SVGDocumentIndexEntry
{ {
TRACE_SANITIZE (this); TRACE_SANITIZE (this);
return_trace (c->check_struct (this) && return_trace (c->check_struct (this) &&
c->check_range (&svgDoc (base), svgDocLength)); (base+svgDoc).sanitize (c, svgDocLength));
} }
protected: protected:
HBUINT16 startGlyphID; /* The first glyph ID in the range described by HBUINT16 startGlyphID; /* The first glyph ID in the range described by
* this index entry. */ * this index entry. */
HBUINT16 endGlyphID; /* The last glyph ID in the range described by HBUINT16 endGlyphID; /* The last glyph ID in the range described by
* this index entry. Must be >= startGlyphID. */ * this index entry. Must be >= startGlyphID. */
LOffsetTo<const uint8_t *> LOffsetTo<UnsizedArrayOf<HBUINT8> >
svgDoc; /* Offset from the beginning of the SVG Document Index svgDoc; /* Offset from the beginning of the SVG Document Index
* to an SVG document. Must be non-zero. */ * to an SVG document. Must be non-zero. */
HBUINT32 svgDocLength; /* Length of the SVG document. HBUINT32 svgDocLength; /* Length of the SVG document.
* Must be non-zero. */ * Must be non-zero. */
public: public:
DEFINE_SIZE_STATIC (12); DEFINE_SIZE_STATIC (12);
}; };
...@@ -75,7 +75,7 @@ struct SVGDocumentIndex ...@@ -75,7 +75,7 @@ struct SVGDocumentIndex
protected: protected:
ArrayOf<SVGDocumentIndexEntry> ArrayOf<SVGDocumentIndexEntry>
entries; /* Array of SVG Document Index Entries. */ entries; /* Array of SVG Document Index Entries. */
public: public:
DEFINE_SIZE_ARRAY (2, entries); DEFINE_SIZE_ARRAY (2, entries);
}; };
...@@ -88,7 +88,7 @@ struct SVG ...@@ -88,7 +88,7 @@ struct SVG
{ {
TRACE_SANITIZE (this); TRACE_SANITIZE (this);
return_trace (c->check_struct (this) && return_trace (c->check_struct (this) &&
svgDocIndex (this).sanitize (c)); (this+svgDocIndex).sanitize (c));
} }
struct accelerator_t struct accelerator_t
...@@ -107,16 +107,17 @@ struct SVG ...@@ -107,16 +107,17 @@ struct SVG
hb_blob_destroy (svg_blob); hb_blob_destroy (svg_blob);
} }
inline void dump (void (*callback) (const uint8_t* data, unsigned int length, inline void
unsigned int start_glyph, unsigned int end_glyph)) const dump (void (*callback) (const uint8_t* data, unsigned int length,
unsigned int start_glyph, unsigned int end_glyph)) const
{ {
const SVGDocumentIndex &index = svg->svgDocIndex (svg); const SVGDocumentIndex &index = svg+svg->svgDocIndex;
const ArrayOf<SVGDocumentIndexEntry> &entries = index.entries; const ArrayOf<SVGDocumentIndexEntry> &entries = index.entries;
for (unsigned int i = 0; i < entries.len; ++i) for (unsigned int i = 0; i < entries.len; ++i)
{ {
const SVGDocumentIndexEntry &entry = entries[i]; const SVGDocumentIndexEntry &entry = entries[i];
callback ((const uint8_t*) &entry.svgDoc (&index), entry.svgDocLength, callback ((const uint8_t*) &entry.svgDoc (&index), entry.svgDocLength,
entry.startGlyphID, entry.endGlyphID); entry.startGlyphID, entry.endGlyphID);
} }
} }
...@@ -130,7 +131,7 @@ struct SVG ...@@ -130,7 +131,7 @@ struct SVG
protected: protected:
HBUINT16 version; /* Table version (starting at 0). */ HBUINT16 version; /* Table version (starting at 0). */
LOffsetTo<SVGDocumentIndex> LOffsetTo<SVGDocumentIndex>
svgDocIndex; /* Offset (relative to the start of the SVG table) to the svgDocIndex; /* Offset (relative to the start of the SVG table) to the
* SVG Documents Index. Must be non-zero. */ * SVG Documents Index. Must be non-zero. */
HBUINT32 reserved; /* Set to 0. */ HBUINT32 reserved; /* Set to 0. */
public: public:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册