2009-04-14 14:28:22 +00:00
|
|
|
|
2011-07-28 14:26:00 +00:00
|
|
|
/*
|
|
|
|
* Copyright 2011 Google Inc.
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
|
|
* found in the LICENSE file.
|
|
|
|
*/
|
|
|
|
|
2009-04-14 14:28:22 +00:00
|
|
|
#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
|
|
|
|
|