From 0f8691a48869932cd3de5195f5211c25e4691b21 Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Thu, 14 Nov 2019 10:07:01 +0100 Subject: Issue #1288 - Part 4: Update the OpenType Sanitizer component to 8.0.0 --- gfx/ots/src/gdef.h | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) (limited to 'gfx/ots/src/gdef.h') diff --git a/gfx/ots/src/gdef.h b/gfx/ots/src/gdef.h index f46f419c7..7c7cc0ce5 100644 --- a/gfx/ots/src/gdef.h +++ b/gfx/ots/src/gdef.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2011-2017 The OTS Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -9,25 +9,29 @@ namespace ots { -struct OpenTypeGDEF { - OpenTypeGDEF() - : version_2(false), - has_glyph_class_def(false), - has_mark_attachment_class_def(false), - has_mark_glyph_sets_def(false), +class OpenTypeGDEF : public Table { + public: + explicit OpenTypeGDEF(Font *font, uint32_t tag) + : Table(font, tag, tag), num_mark_glyph_sets(0), - data(NULL), - length(0) { + m_data(NULL), + m_length(0), + m_num_glyphs(0) { } - bool version_2; - bool has_glyph_class_def; - bool has_mark_attachment_class_def; - bool has_mark_glyph_sets_def; + bool Parse(const uint8_t *data, size_t length); + bool Serialize(OTSStream *out); + uint16_t num_mark_glyph_sets; - const uint8_t *data; - size_t length; + private: + bool ParseAttachListTable(const uint8_t *data, size_t length); + bool ParseLigCaretListTable(const uint8_t *data, size_t length); + bool ParseMarkGlyphSetsDefTable(const uint8_t *data, size_t length); + + const uint8_t *m_data; + size_t m_length; + uint16_t m_num_glyphs; }; } // namespace ots -- cgit v1.2.3