
/*
 * Copyright 2011 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#ifndef SkSfntUtils_DEFINED
#define SkSfntUtils_DEFINED

#include "SkFontHost.h"

struct SkSfntTable_head {
    SkFixed     fVersion;
    SkFixed     fRevision;
    uint32_t    fCheckSumAdjustment;
    uint32_t    fMagicNumber;
    uint16_t    fFlags;
    uint16_t    fUnitsPerEm;
    Sk64        fDateCreated;
    Sk64        fDateModified;
    int16_t     fXMin;
    int16_t     fYMin;
    int16_t     fXMax;
    int16_t     fYMax;
    uint16_t    fMacStyle;
    uint16_t    fLowestPPEM;
    int16_t     fFontDirectionHint;
    int16_t     fIndexToLocFormat;
    int16_t     fGlyphDataFormat;
};

struct SkSfntTable_maxp {
    SkFixed     fVersion;
    uint16_t    fNumGlyphs;
    uint16_t    fMaxPoints;
    uint16_t    fMaxContours;
    uint16_t    fMaxComponentPoints;
    uint16_t    fMaxComponentContours;
    uint16_t    fMaxZones;
    uint16_t    fMaxTwilightPoints;
    uint16_t    fMaxStorage;
    uint16_t    fMaxFunctionDefs;
    uint16_t    fMaxInstructionDefs;
    uint16_t    fMaxStackElements;
    uint16_t    fMaxSizeOfInstructions;
    uint16_t    fMaxComponentElements;
    uint16_t    fMaxComponentDepth;
};

class SkSfntUtils {
public:
    static bool ReadTable_head(SkFontID, SkSfntTable_head*);
    static bool ReadTable_maxp(SkFontID, SkSfntTable_maxp*);
};

#endif

