aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/utils
diff options
context:
space:
mode:
authorGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2009-04-14 14:28:22 +0000
committerGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2009-04-14 14:28:22 +0000
commit9781ca586618cc8ea055f54021e706824313d4f5 (patch)
tree2d6d4dffba13e109d846a049d21c0239f4acbf8f /include/utils
parentfc3ac327d8e041e11049d7f0dfc7f491590cda75 (diff)
add SkSfntUtils to parse some known truetype tables
add comments and cleanup to count_tables in SkFontHost_tables.cpp fix transparency bug in gifs use (alpha+1) for blending in srcover mode, to ensure opaque results git-svn-id: http://skia.googlecode.com/svn/trunk@155 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include/utils')
-rw-r--r--include/utils/SkSfntUtils.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/include/utils/SkSfntUtils.h b/include/utils/SkSfntUtils.h
new file mode 100644
index 0000000000..1d8f74e83b
--- /dev/null
+++ b/include/utils/SkSfntUtils.h
@@ -0,0 +1,52 @@
+
+#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
+