Index: source/test/perf/leperf/FontObject.h |
diff --git a/source/test/perf/leperf/FontObject.h b/source/test/perf/leperf/FontObject.h |
deleted file mode 100644 |
index c7961f5c3db47783b7d222214ad619c4e481d311..0000000000000000000000000000000000000000 |
--- a/source/test/perf/leperf/FontObject.h |
+++ /dev/null |
@@ -1,235 +0,0 @@ |
-/*************************************************************************** |
-* |
-* Copyright (C) 1998-2013, International Business Machines |
-* Corporation and others. All Rights Reserved. |
-* |
-************************************************************************/ |
- |
- |
-#ifndef __FONTOBJECT_H |
-#define __FONTOBJECT_H |
- |
-#include <stdio.h> |
- |
-#include "LETypes.h" |
- |
- |
-#ifndef ANY_NUMBER |
-#define ANY_NUMBER 1 |
-#endif |
- |
-struct DirectoryEntry |
-{ |
- le_uint32 tag; |
- le_uint32 checksum; |
- le_uint32 offset; |
- le_uint32 length; |
-}; |
- |
-struct SFNTDirectory |
-{ |
- le_uint32 scalerType; |
- le_uint16 numTables; |
- le_uint16 searchRange; |
- le_uint16 entrySelector; |
- le_uint16 rangeShift; |
- DirectoryEntry tableDirectory[ANY_NUMBER]; |
-}; |
- |
- |
-struct CMAPEncodingSubtableHeader |
-{ |
- le_uint16 platformID; |
- le_uint16 platformSpecificID; |
- le_uint32 encodingOffset; |
-}; |
- |
-struct CMAPTable |
-{ |
- le_uint16 version; |
- le_uint16 numberSubtables; |
- CMAPEncodingSubtableHeader encodingSubtableHeaders[ANY_NUMBER]; |
-}; |
- |
-struct CMAPEncodingSubtable |
-{ |
- le_uint16 format; |
- le_uint16 length; |
- le_uint16 language; |
-}; |
- |
-struct CMAPFormat0Encoding : CMAPEncodingSubtable |
-{ |
- le_uint8 glyphIndexArray[256]; |
-}; |
- |
-struct CMAPFormat2Subheader |
-{ |
- le_uint16 firstCode; |
- le_uint16 entryCount; |
- le_int16 idDelta; |
- le_uint16 idRangeOffset; |
-}; |
- |
-struct CMAPFormat2Encoding : CMAPEncodingSubtable |
-{ |
- le_uint16 subHeadKeys[256]; |
- CMAPFormat2Subheader subheaders[ANY_NUMBER]; |
-}; |
- |
-struct CMAPFormat4Encoding : CMAPEncodingSubtable |
-{ |
- le_uint16 segCountX2; |
- le_uint16 searchRange; |
- le_uint16 entrySelector; |
- le_uint16 rangeShift; |
- le_uint16 endCodes[ANY_NUMBER]; |
-// le_uint16 reservedPad; |
-// le_uint16 startCodes[ANY_NUMBER]; |
-// le_uint16 idDelta[ANY_NUMBER]; |
-// le_uint16 idRangeOffset[ANY_NUMBER]; |
-// le_uint16 glyphIndexArray[ANY_NUMBER]; |
-}; |
- |
-struct CMAPFormat6Encoding : CMAPEncodingSubtable |
-{ |
- le_uint16 firstCode; |
- le_uint16 entryCount; |
- le_uint16 glyphIndexArray[ANY_NUMBER]; |
-}; |
- |
-typedef le_int32 fixed; |
- |
-struct BigDate |
-{ |
- le_uint32 bc; |
- le_uint32 ad; |
-}; |
- |
-struct HEADTable |
-{ |
- fixed version; |
- fixed fontRevision; |
- le_uint32 checksumAdjustment; |
- le_uint32 magicNumber; |
- le_uint16 flags; |
- le_uint16 unitsPerEm; |
- BigDate created; |
- BigDate modified; |
- le_int16 xMin; |
- le_int16 yMin; |
- le_int16 xMax; |
- le_int16 yMax; |
- le_int16 lowestRecPPEM; |
- le_int16 fontDirectionHint; |
- le_int16 indexToLocFormat; |
- le_int16 glyphDataFormat; |
-}; |
- |
-struct MAXPTable |
-{ |
- fixed version; |
- le_uint16 numGlyphs; |
- le_uint16 maxPoints; |
- le_uint16 maxContours; |
- le_uint16 maxComponentPoints; |
- le_uint16 maxComponentContours; |
- le_uint16 maxZones; |
- le_uint16 maxTwilightPoints; |
- le_uint16 maxStorage; |
- le_uint16 maxFunctionDefs; |
- le_uint16 maxInstructionDefs; |
- le_uint16 maxStackElements; |
- le_uint16 maxSizeOfInstructions; |
- le_uint16 maxComponentElements; |
- le_uint16 maxComponentDepth; |
-}; |
- |
-struct HHEATable |
-{ |
- fixed version; |
- le_int16 ascent; |
- le_int16 descent; |
- le_int16 lineGap; |
- le_uint16 advanceWidthMax; |
- le_int16 minLeftSideBearing; |
- le_int16 minRightSideBearing; |
- le_int16 xMaxExtent; |
- le_int16 caretSlopeRise; |
- le_int16 caretSlopeRun; |
- le_int16 caretOffset; |
- le_int16 reserved1; |
- le_int16 reserved2; |
- le_int16 reserved3; |
- le_int16 reserved4; |
- le_int16 metricDataFormat; |
- le_uint16 numOfLongHorMetrics; |
-}; |
- |
-struct LongHorMetric |
-{ |
- le_uint16 advanceWidth; |
- le_int16 leftSideBearing; |
-}; |
- |
-struct HMTXTable |
-{ |
- LongHorMetric hMetrics[ANY_NUMBER]; // ANY_NUMBER = numOfLongHorMetrics from hhea table |
-// le_int16 leftSideBearing[ANY_NUMBER]; // ANY_NUMBER = numGlyphs - numOfLongHorMetrics |
-}; |
- |
-class FontObject |
-{ |
-public: |
- FontObject(char *fontName); |
- ~FontObject(); |
- |
- void *readTable(LETag tag, le_uint32 *length); |
- void deleteTable(void *table); |
- |
- LEGlyphID unicodeToGlyph(LEUnicode32 unicode); |
- |
-#if 0 |
- le_uint32 unicodesToGlyphs(LEUnicode *chars, le_uint32 nChars, LEGlyphID *glyphs, |
- le_uint32 *charIndices, le_bool rightToLeft); |
-#endif |
- |
- le_uint16 getUnitsPerEM(); |
- |
- le_uint16 getGlyphAdvance(LEGlyphID glyph); |
- |
-private: |
- FontObject(); |
- |
- DirectoryEntry *findTable(LETag tag); |
- CMAPEncodingSubtable *findCMAP(le_uint16 platformID, le_uint16 platformSpecificID); |
- void initUnicodeCMAP(); |
- |
- SFNTDirectory *directory; |
- le_uint16 numTables; |
- le_uint16 searchRange; |
- le_uint16 entrySelector; |
- le_uint16 rangeShift; |
- |
- CMAPTable *cmapTable; |
- le_uint16 cmSegCount; |
- le_uint16 cmSearchRange; |
- le_uint16 cmEntrySelector; |
- le_uint16 cmRangeShift; |
- le_uint16 *cmEndCodes; |
- le_uint16 *cmStartCodes; |
- le_uint16 *cmIdDelta; |
- le_uint16 *cmIdRangeOffset; |
- |
- HEADTable *headTable; |
- |
- HMTXTable *hmtxTable; |
- le_uint16 numGlyphs; |
- le_uint16 numOfLongHorMetrics; |
- |
- FILE *file; |
- |
-}; |
- |
-#endif |
- |