[color/COLR] Simplify
diff --git a/src/hb-ot-color-colr-table.hh b/src/hb-ot-color-colr-table.hh
index fe93f64..c1cf6de 100644
--- a/src/hb-ot-color-colr-table.hh
+++ b/src/hb-ot-color-colr-table.hh
@@ -79,51 +79,9 @@
inline bool sanitize (hb_sanitize_context_t *c) const
{
TRACE_SANITIZE (this);
- if (!(c->check_struct (this) &&
- c->check_array (&(this+layers), sizeof (LayerRecord), numLayers) &&
- c->check_array (&(this+baseGlyphs), sizeof (BaseGlyphRecord), numBaseGlyphs)))
- return_trace (false);
-
- const BaseGlyphRecord* base_glyph_records = (this+baseGlyphs).arrayZ;
- for (unsigned int i = 0; i < numBaseGlyphs; ++i)
- if (base_glyph_records[i].firstLayerIdx +
- base_glyph_records[i].numLayers > numLayers)
- return_trace (false);
-
- return_trace (true);
- }
-
- inline bool get_base_glyph_record (hb_codepoint_t glyph_id,
- unsigned int &first_layer,
- unsigned int &num_layers) const
- {
- const BaseGlyphRecord* base_glyph_records = (this+baseGlyphs).arrayZ;
- unsigned int min = 0, max = numBaseGlyphs - 1;
- while (min <= max)
- {
- unsigned int mid = (min + max) / 2;
- hb_codepoint_t glyphid = base_glyph_records[mid].glyphid;
- if (glyphid > glyph_id)
- max = mid - 1;
- else if (glyphid < glyph_id)
- min = mid + 1;
- else
- {
- first_layer = base_glyph_records[mid].firstLayerIdx;
- num_layers = base_glyph_records[mid].numLayers;
- return true;
- }
- }
- return false;
- }
-
- inline void get_layer_record (int layer,
- hb_codepoint_t &glyph_id,
- unsigned int &palette_index) const
- {
- const LayerRecord* records = (this+layers).arrayZ;
- glyph_id = records[layer].glyphid;
- palette_index = records[layer].colorIdx;
+ return_trace (c->check_struct (this) &&
+ (this+baseGlyphs).sanitize (c, numBaseGlyphs) &&
+ (this+layers).sanitize (c, numLayers));
}
protected: