| |
| /* |
| * 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 |
| |