Back out bug 761890, bug 746896, and bug 759036 because of reftest failures
authorMatt Brubeck <mbrubeck@mozilla.com>
Mon, 11 Jun 2012 22:50:31 -0700
changeset 101753 253d5996845e9fd994dc9ee542d293fbc412ec56
parent 101752 2bcd13a8efb32ecc065e1a22e1b01b11786c9ab2
child 101754 ede54971747f10b50e7d87e6236fe777ac12a070
push id191
push userlsblakk@mozilla.com
push dateFri, 05 Oct 2012 17:12:53 +0000
treeherdermozilla-release@ddb22ac6c03b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs761890, 746896, 759036
milestone16.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Back out bug 761890, bug 746896, and bug 759036 because of reftest failures
configure.in
content/canvas/test/test_canvas.html
gfx/2d/DrawTargetSkia.cpp
gfx/2d/ScaledFontDWrite.cpp
gfx/skia/Makefile.in
gfx/skia/include/core/SkDraw.h
gfx/skia/patches/0013-Bug-761890-fonts.patch
gfx/skia/patches/README
gfx/skia/src/core/SkPaint.cpp
gfx/skia/src/sfnt/SkIBMFamilyClass.h
gfx/skia/src/sfnt/SkOTTableTypes.h
gfx/skia/src/sfnt/SkOTTable_OS_2.h
gfx/skia/src/sfnt/SkOTTable_OS_2_V0.h
gfx/skia/src/sfnt/SkOTTable_OS_2_V1.h
gfx/skia/src/sfnt/SkOTTable_OS_2_V2.h
gfx/skia/src/sfnt/SkOTTable_OS_2_V3.h
gfx/skia/src/sfnt/SkOTTable_OS_2_V4.h
gfx/skia/src/sfnt/SkOTTable_OS_2_VA.h
gfx/skia/src/sfnt/SkOTTable_head.h
gfx/skia/src/sfnt/SkOTTable_hhea.h
gfx/skia/src/sfnt/SkOTTable_name.h
gfx/skia/src/sfnt/SkOTTable_post.h
gfx/skia/src/sfnt/SkOTUtils.cpp
gfx/skia/src/sfnt/SkOTUtils.h
gfx/skia/src/sfnt/SkPanose.h
gfx/skia/src/sfnt/SkPreprocessorSeq.h
gfx/skia/src/sfnt/SkSFNTHeader.h
gfx/skia/src/sfnt/SkTypedEnum.h
gfx/skia/update.sh
gfx/thebes/gfx2DGlue.h
gfx/thebes/gfxContext.cpp
gfx/thebes/gfxImageSurface.cpp
gfx/thebes/gfxImageSurface.h
gfx/thebes/gfxPattern.cpp
gfx/thebes/gfxPlatform.cpp
layout/media/Makefile.in
layout/reftests/abs-pos/reftest.list
layout/reftests/bidi/reftest.list
layout/reftests/bugs/759036-1-ref.html
layout/reftests/bugs/759036-1.html
layout/reftests/bugs/759036-2-ref.html
layout/reftests/bugs/759036-2.html
layout/reftests/bugs/mozilla-banner-opacity.gif
layout/reftests/bugs/reftest.list
layout/reftests/canvas/reftest.list
layout/reftests/css-gradients/reftest.list
layout/reftests/image-element/reftest.list
layout/tools/reftest/reftest.js
parser/htmlparser/tests/reftest/reftest.list
--- a/configure.in
+++ b/configure.in
@@ -7864,17 +7864,17 @@ fi
 AC_SUBST(GLIB_CFLAGS)
 AC_SUBST(GLIB_LIBS)
 AC_SUBST(GLIB_GMODULE_LIBS)
 
 dnl ========================================================
 dnl Graphics checks.
 dnl ========================================================
 
-if test "${OS_TARGET}" = "WINNT" -o "${OS_ARCH}" = "Darwin" -o "${MOZ_WIDGET_TOOLKIT}" = "android" -o "${MOZ_WIDGET_TOOLKIT}" = "gtk2"; then
+if test "${OS_ARCH}" = "Darwin" -o "${MOZ_WIDGET_TOOLKIT}" = "android" -o "${MOZ_WIDGET_TOOLKIT}" = "gtk2"; then
 MOZ_ENABLE_SKIA=1
 else
 MOZ_ENABLE_SKIA=
 fi
 
 MOZ_ARG_ENABLE_BOOL(skia,
 [  --enable-skia   Enable use of Skia],
 MOZ_ENABLE_SKIA=1,
--- a/content/canvas/test/test_canvas.html
+++ b/content/canvas/test/test_canvas.html
@@ -5931,22 +5931,17 @@ var ctx = canvas.getContext('2d');
 ctx.fillStyle = '#0f0';
 ctx.fillRect(0, 0, 100, 50);
 
 var g = ctx.createLinearGradient(50, 25, 50, 25); // zero-length line (undefined direction)
 g.addColorStop(0, '#f00');
 g.addColorStop(1, '#f00');
 ctx.fillStyle = g;
 ctx.fillRect(0, 0, 100, 50);
-
-if (IsAzureEnabled() && IsAzureSkia()) {
-  isPixel(ctx, 40,20, 0,255,0,255, 2);
-} else {
-  todo_isPixel(ctx, 40,20, 0,255,0,255, 2);
-}
+todo_isPixel(ctx, 40,20, 0,255,0,255, 2);
 
 
 }
 </script>
 
 <!-- [[[ test_2d.gradient.linear.nonfinite.html ]]] -->
 
 <p>Canvas test: 2d.gradient.linear.nonfinite</p>
--- a/gfx/2d/DrawTargetSkia.cpp
+++ b/gfx/2d/DrawTargetSkia.cpp
@@ -437,17 +437,16 @@ DrawTargetSkia::FillRect(const Rect &aRe
 
 void
 DrawTargetSkia::Stroke(const Path *aPath,
                        const Pattern &aPattern,
                        const StrokeOptions &aStrokeOptions,
                        const DrawOptions &aOptions)
 {
   MarkChanged();
-  MOZ_ASSERT(aPath, "Null path");
   if (aPath->GetBackendType() != BACKEND_SKIA) {
     return;
   }
 
   const PathSkia *skiaPath = static_cast<const PathSkia*>(aPath);
 
 
   AutoPaintSetup paint(mCanvas.get(), aOptions, aPattern);
@@ -510,19 +509,17 @@ DrawTargetSkia::Fill(const Path *aPath,
 
 void
 DrawTargetSkia::FillGlyphs(ScaledFont *aFont,
                            const GlyphBuffer &aBuffer,
                            const Pattern &aPattern,
                            const DrawOptions &aOptions,
                            const GlyphRenderingOptions*)
 {
-  if (aFont->GetType() != FONT_MAC &&
-      aFont->GetType() != FONT_SKIA &&
-      aFont->GetType() != FONT_GDI) {
+  if (aFont->GetType() != FONT_MAC && aFont->GetType() != FONT_SKIA) {
     return;
   }
 
   MarkChanged();
 
   ScaledFontBase* skiaFont = static_cast<ScaledFontBase*>(aFont);
 
   AutoPaintSetup paint(mCanvas.get(), aOptions, aPattern);
--- a/gfx/2d/ScaledFontDWrite.cpp
+++ b/gfx/2d/ScaledFontDWrite.cpp
@@ -1,28 +1,26 @@
 /* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*-
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "ScaledFontDWrite.h"
 #include "PathD2D.h"
-#include "Logging.h"
 
 #include <vector>
 
 namespace mozilla {
 namespace gfx {
 
 TemporaryRef<Path>
 ScaledFontDWrite::GetPathForGlyphs(const GlyphBuffer &aBuffer, const DrawTarget *aTarget)
 {
   if (aTarget->GetType() != BACKEND_DIRECT2D) {
     // For now we only support Direct2D.
-    gfxWarning() << "Attempt to use Direct Write font with non-Direct2D backend";
     return NULL;
   }
 
   RefPtr<PathBuilder> pathBuilder = aTarget->CreatePathBuilder();
 
   PathBuilderD2D *pathBuilderD2D =
     static_cast<PathBuilderD2D*>(pathBuilder.get());
 
--- a/gfx/skia/Makefile.in
+++ b/gfx/skia/Makefile.in
@@ -25,28 +25,25 @@ LOCAL_INCLUDES += \
 	-I$(srcdir)/include/ports \
 	-I$(srcdir)/src/core \
 	-I$(srcdir)/include/images \
 	-I$(srcdir)/include/utils \
 	-I$(srcdir)/include/utils/mac \
 	-I$(srcdir)/include/utils/win \
 	-I$(srcdir)/include/views \
 	-I$(srcdir)/include/effects \
-	-I$(srcdir)/src/utils \
-	-I$(srcdir)/src/sfnt \
 	$(NULL)
 
 VPATH += \
 	$(srcdir)/src/core \
 	$(srcdir)/src/ports \
 	$(srcdir)/src/opts \
 	$(srcdir)/src/effects \
 	$(srcdir)/src/utils \
 	$(srcdir)/src/utils/mac \
-	$(srcdir)/src/sfnt \
 	$(NULL)
 
 EXPORTS_skia = \
 	include/core/Sk64.h \
 	include/core/SkAdvancedTypefaceMetrics.h \
 	include/core/SkAutoKern.h \
 	include/core/SkBitmap.h \
 	include/core/SkBlitRow.h \
@@ -232,17 +229,16 @@ CPPSRCS = \
 	SkMath.cpp \
 	SkMatrix.cpp \
 	SkMemory_malloc.cpp \
 	SkMetaData.cpp \
 	SkMorphologyImageFilter.cpp \
 	SkOrderedReadBuffer.cpp \
 	SkOrderedWriteBuffer.cpp \
 	SkOSFile_stdio.cpp \
-	SkOTUtils.cpp \
 	SkPackBits.cpp \
 	SkPaint.cpp \
 	SkPath.cpp \
 	SkPathEffect.cpp \
 	SkPathHeap.cpp \
 	SkPathMeasure.cpp \
 	SkPicture.cpp \
 	SkPictureFlat.cpp \
@@ -351,17 +347,16 @@ endif
 
 ifeq (windows,$(MOZ_WIDGET_TOOLKIT))
 EXPORTS_skia += \
 	include/config/sk_stdint.h \
 	include/ports/SkTypeface_win.h \
 	$(NULL)
 CPPSRCS += \
 	SkFontHost_win.cpp \
-	SkFontHost_tables.cpp \
 	SkFontHost_sandbox_none.cpp \
 	SkTime_win.cpp \
 	$(NULL)
 endif
 
 ifneq (,$(INTEL_ARCHITECTURE))
 CPPSRCS += \
 	SkBitmapProcState_opts_SSE2.cpp \
--- a/gfx/skia/include/core/SkDraw.h
+++ b/gfx/skia/include/core/SkDraw.h
@@ -125,24 +125,23 @@ public:
 #endif
 };
 
 class SkGlyphCache;
 
 class SkTextToPathIter {
 public:
     SkTextToPathIter(const char text[], size_t length, const SkPaint& paint,
-                     bool applyStrokeAndPathEffects, bool useCanonicalTextSize = true);
+                     bool applyStrokeAndPathEffects);
     ~SkTextToPathIter();
 
     const SkPaint&  getPaint() const { return fPaint; }
     SkScalar        getPathScale() const { return fScale; }
 
     const SkPath*   next(SkScalar* xpos);   //!< returns nil when there are no more paths
-    bool            nextWithWhitespace(const SkPath** path, SkScalar* xpos);   //!< returns false when there are no more paths
 
 private:
     SkGlyphCache*   fCache;
     SkPaint         fPaint;
     SkScalar        fScale;
     SkFixed         fPrevAdvance;
     const char*     fText;
     const char*     fStop;
deleted file mode 100644
--- a/gfx/skia/patches/0013-Bug-761890-fonts.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-# HG changeset patch
-# User Nicholas Cameron <ncameron@mozilla.com>
-# Date 1337146927 -43200
-# Node ID 310209abef2c2667e5de41dd2a1f071e8cd42821
-# Parent 93f3ca4d5707b2aae9c6ae52d5d29c2c802e7ef8
-Bug 746883; changes to the Skia library. r=gw280
-
-diff --git a/gfx/skia/include/core/SkDraw.h b/gfx/skia/include/core/SkDraw.h
---- a/gfx/skia/include/core/SkDraw.h
-+++ b/gfx/skia/include/core/SkDraw.h
-@@ -125,23 +125,24 @@ public:
- #endif
- };
- 
- class SkGlyphCache;
- 
- class SkTextToPathIter {
- public:
-     SkTextToPathIter(const char text[], size_t length, const SkPaint& paint,
--                     bool applyStrokeAndPathEffects);
-+                     bool applyStrokeAndPathEffects, bool useCanonicalTextSize = true);
-     ~SkTextToPathIter();
- 
-     const SkPaint&  getPaint() const { return fPaint; }
-     SkScalar        getPathScale() const { return fScale; }
- 
-     const SkPath*   next(SkScalar* xpos);   //!< returns nil when there are no more paths
-+    bool            nextWithWhitespace(const SkPath** path, SkScalar* xpos);   //!< returns false when there are no more paths
- 
- private:
-     SkGlyphCache*   fCache;
-     SkPaint         fPaint;
-     SkScalar        fScale;
-     SkFixed         fPrevAdvance;
-     const char*     fText;
-     const char*     fStop;
-diff --git a/gfx/skia/src/core/SkPaint.cpp b/gfx/skia/src/core/SkPaint.cpp
---- a/gfx/skia/src/core/SkPaint.cpp
-+++ b/gfx/skia/src/core/SkPaint.cpp
-@@ -1359,30 +1359,32 @@ void SkPaint::getPosTextPath(const void*
-                              const SkPoint pos[], SkPath* path) const {
-     SkASSERT(length == 0 || textData != NULL);
- 
-     const char* text = (const char*)textData;
-     if (text == NULL || length == 0 || path == NULL) {
-         return;
-     }
- 
--    SkTextToPathIter    iter(text, length, *this, false);
-+    SkTextToPathIter    iter(text, length, *this, false, false);
-     SkMatrix            matrix;
-     SkPoint             prevPos;
-     prevPos.set(0, 0);
- 
-     matrix.setScale(iter.getPathScale(), iter.getPathScale());
-     path->reset();
- 
-     unsigned int    i = 0;
-     const SkPath*   iterPath;
--    while ((iterPath = iter.next(NULL)) != NULL) {
--        matrix.postTranslate(pos[i].fX - prevPos.fX, pos[i].fY - prevPos.fY);
--        path->addPath(*iterPath, matrix);
--        prevPos = pos[i];
-+    while (iter.nextWithWhitespace(&iterPath, NULL)) {
-+        if (iterPath) {
-+            matrix.postTranslate(pos[i].fX - prevPos.fX, pos[i].fY - prevPos.fY);
-+            path->addPath(*iterPath, matrix);
-+            prevPos = pos[i];
-+        }
-         i++;
-     }
- }
- 
- static void add_flattenable(SkDescriptor* desc, uint32_t tag,
-                             SkFlattenableWriteBuffer* buffer) {
-     buffer->flatten(desc->addEntry(tag, buffer->size(), NULL));
- }
-@@ -2118,30 +2120,31 @@ const SkRect& SkPaint::doComputeFastBoun
- 
- static bool has_thick_frame(const SkPaint& paint) {
-     return  paint.getStrokeWidth() > 0 &&
-             paint.getStyle() != SkPaint::kFill_Style;
- }
- 
- SkTextToPathIter::SkTextToPathIter( const char text[], size_t length,
-                                     const SkPaint& paint,
--                                    bool applyStrokeAndPathEffects)
-+                                    bool applyStrokeAndPathEffects,
-+                                    bool useCanonicalTextSize)
-                                     : fPaint(paint) {
-     fGlyphCacheProc = paint.getMeasureCacheProc(SkPaint::kForward_TextBufferDirection,
-                                                 true);
- 
-     fPaint.setLinearText(true);
-     fPaint.setMaskFilter(NULL);   // don't want this affecting our path-cache lookup
- 
-     if (fPaint.getPathEffect() == NULL && !has_thick_frame(fPaint)) {
-         applyStrokeAndPathEffects = false;
-     }
- 
-     // can't use our canonical size if we need to apply patheffects
--    if (fPaint.getPathEffect() == NULL) {
-+    if (useCanonicalTextSize && fPaint.getPathEffect() == NULL) {
-         fPaint.setTextSize(SkIntToScalar(SkPaint::kCanonicalTextSizeForPaths));
-         fScale = paint.getTextSize() / SkPaint::kCanonicalTextSizeForPaths;
-         if (has_thick_frame(fPaint)) {
-             fPaint.setStrokeWidth(SkScalarDiv(fPaint.getStrokeWidth(), fScale));
-         }
-     } else {
-         fScale = SK_Scalar1;
-     }
-@@ -2185,30 +2188,47 @@ SkTextToPathIter::SkTextToPathIter( cons
-     fXYIndex = paint.isVerticalText() ? 1 : 0;
- }
- 
- SkTextToPathIter::~SkTextToPathIter() {
-     SkGlyphCache::AttachCache(fCache);
- }
- 
- const SkPath* SkTextToPathIter::next(SkScalar* xpos) {
--    while (fText < fStop) {
-+    const SkPath* result;
-+    while (nextWithWhitespace(&result, xpos)) {
-+        if (result) {
-+            if (xpos) {
-+                *xpos = fXPos;
-+            }
-+            return result;
-+        }
-+    }
-+    return NULL;
-+}
-+
-+bool SkTextToPathIter::nextWithWhitespace(const SkPath** path, SkScalar* xpos) {
-+    if (fText < fStop) {
-         const SkGlyph& glyph = fGlyphCacheProc(fCache, &fText);
- 
-         fXPos += SkScalarMul(SkFixedToScalar(fPrevAdvance + fAutoKern.adjust(glyph)), fScale);
-         fPrevAdvance = advance(glyph, fXYIndex);   // + fPaint.getTextTracking();
- 
-         if (glyph.fWidth) {
-             if (xpos) {
-                 *xpos = fXPos;
-             }
--            return fCache->findPath(glyph);
-+            *path = fCache->findPath(glyph);
-+            return true;
-+        } else {
-+            *path = NULL;
-+            return true;
-         }
-     }
--    return NULL;
-+    return false;
- }
- 
- ///////////////////////////////////////////////////////////////////////////////
- 
- bool SkPaint::nothingToDraw() const {
-     if (fLooper) {
-         return false;
-     }
--- a/gfx/skia/patches/README
+++ b/gfx/skia/patches/README
@@ -10,9 +10,8 @@ 0004-Bug-722011-Fix-trailing-commas-in-e
 0005-Bug-731384-Fix-clang-SK_OVERRIDE.patch
 0006-Bug-751814-ARM-EDSP-ARMv6-Skia-fixes.patch
 0007-Bug-719872-Old-Android-FontHost.patch
 0008-Bug-687188-Skia-radial-gradients.patch
 0009-Bug-755869-FreeBSD-Hurd.patch
 0010-Bug-689069-ARM-Opts.patch
 0011-Bug-719575-Fix-clang-build.patch
 0012-Bug-759683-make-ssse3-conditional.patch
-0013-Bug-761890-fonts.patch
--- a/gfx/skia/src/core/SkPaint.cpp
+++ b/gfx/skia/src/core/SkPaint.cpp
@@ -1359,32 +1359,30 @@ void SkPaint::getPosTextPath(const void*
                              const SkPoint pos[], SkPath* path) const {
     SkASSERT(length == 0 || textData != NULL);
 
     const char* text = (const char*)textData;
     if (text == NULL || length == 0 || path == NULL) {
         return;
     }
 
-    SkTextToPathIter    iter(text, length, *this, false, false);
+    SkTextToPathIter    iter(text, length, *this, false);
     SkMatrix            matrix;
     SkPoint             prevPos;
     prevPos.set(0, 0);
 
     matrix.setScale(iter.getPathScale(), iter.getPathScale());
     path->reset();
 
     unsigned int    i = 0;
     const SkPath*   iterPath;
-    while (iter.nextWithWhitespace(&iterPath, NULL)) {
-        if (iterPath) {
-            matrix.postTranslate(pos[i].fX - prevPos.fX, pos[i].fY - prevPos.fY);
-            path->addPath(*iterPath, matrix);
-            prevPos = pos[i];
-        }
+    while ((iterPath = iter.next(NULL)) != NULL) {
+        matrix.postTranslate(pos[i].fX - prevPos.fX, pos[i].fY - prevPos.fY);
+        path->addPath(*iterPath, matrix);
+        prevPos = pos[i];
         i++;
     }
 }
 
 static void add_flattenable(SkDescriptor* desc, uint32_t tag,
                             SkFlattenableWriteBuffer* buffer) {
     buffer->flatten(desc->addEntry(tag, buffer->size(), NULL));
 }
@@ -2120,31 +2118,30 @@ const SkRect& SkPaint::doComputeFastBoun
 
 static bool has_thick_frame(const SkPaint& paint) {
     return  paint.getStrokeWidth() > 0 &&
             paint.getStyle() != SkPaint::kFill_Style;
 }
 
 SkTextToPathIter::SkTextToPathIter( const char text[], size_t length,
                                     const SkPaint& paint,
-                                    bool applyStrokeAndPathEffects,
-                                    bool useCanonicalTextSize)
+                                    bool applyStrokeAndPathEffects)
                                     : fPaint(paint) {
     fGlyphCacheProc = paint.getMeasureCacheProc(SkPaint::kForward_TextBufferDirection,
                                                 true);
 
     fPaint.setLinearText(true);
     fPaint.setMaskFilter(NULL);   // don't want this affecting our path-cache lookup
 
     if (fPaint.getPathEffect() == NULL && !has_thick_frame(fPaint)) {
         applyStrokeAndPathEffects = false;
     }
 
     // can't use our canonical size if we need to apply patheffects
-    if (useCanonicalTextSize && fPaint.getPathEffect() == NULL) {
+    if (fPaint.getPathEffect() == NULL) {
         fPaint.setTextSize(SkIntToScalar(SkPaint::kCanonicalTextSizeForPaths));
         fScale = paint.getTextSize() / SkPaint::kCanonicalTextSizeForPaths;
         if (has_thick_frame(fPaint)) {
             fPaint.setStrokeWidth(SkScalarDiv(fPaint.getStrokeWidth(), fScale));
         }
     } else {
         fScale = SK_Scalar1;
     }
@@ -2188,47 +2185,30 @@ SkTextToPathIter::SkTextToPathIter( cons
     fXYIndex = paint.isVerticalText() ? 1 : 0;
 }
 
 SkTextToPathIter::~SkTextToPathIter() {
     SkGlyphCache::AttachCache(fCache);
 }
 
 const SkPath* SkTextToPathIter::next(SkScalar* xpos) {
-    const SkPath* result;
-    while (nextWithWhitespace(&result, xpos)) {
-        if (result) {
-            if (xpos) {
-                *xpos = fXPos;
-            }
-            return result;
-        }
-    }
-    return NULL;
-}
-
-bool SkTextToPathIter::nextWithWhitespace(const SkPath** path, SkScalar* xpos) {
-    if (fText < fStop) {
+    while (fText < fStop) {
         const SkGlyph& glyph = fGlyphCacheProc(fCache, &fText);
 
         fXPos += SkScalarMul(SkFixedToScalar(fPrevAdvance + fAutoKern.adjust(glyph)), fScale);
         fPrevAdvance = advance(glyph, fXYIndex);   // + fPaint.getTextTracking();
 
         if (glyph.fWidth) {
             if (xpos) {
                 *xpos = fXPos;
             }
-            *path = fCache->findPath(glyph);
-            return true;
-        } else {
-            *path = NULL;
-            return true;
+            return fCache->findPath(glyph);
         }
     }
-    return false;
+    return NULL;
 }
 
 ///////////////////////////////////////////////////////////////////////////////
 
 bool SkPaint::nothingToDraw() const {
     if (fLooper) {
         return false;
     }
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkIBMFamilyClass.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkIBMFamilyClass_DEFINED
-#define SkIBMFamilyClass_DEFINED
-
-#include "SkOTTableTypes.h"
-#include "SkTypedEnum.h"
-
-#pragma pack(push, 1)
-
-struct SkIBMFamilyClass {
-    SK_TYPED_ENUM(Class, SK_OT_BYTE,
-        ((NoClassification, 0))
-        ((OldstyleSerifs, 1))
-        ((TransitionalSerifs, 2))
-        ((ModernSerifs, 3))
-        ((ClarendonSerifs, 4))
-        ((SlabSerifs, 5))
-        //6 reserved for future use
-        ((FreeformSerifs, 7))
-        ((SansSerif, 8))
-        ((Ornamentals, 9))
-        ((Scripts, 10))
-        //11 reserved for future use
-        ((Symbolic, 12))
-        //13-15 reserved for future use
-        SK_SEQ_END,
-    (familyClass)SK_SEQ_END)
-    union SubClass {
-        struct OldstyleSerifs {
-            SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                ((NoClassification, 0))
-                ((IBMRoundedLegibility, 1))
-                ((Garalde, 2))
-                ((Venetian, 3))
-                ((ModifiedVenetian, 4))
-                ((DutchModern, 5))
-                ((DutchTraditional, 6))
-                ((Contemporary, 7))
-                ((Calligraphic, 8))
-                //9-14 reserved for future use
-                ((Miscellaneous, 15))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } oldstyleSerifs;
-        struct TransitionalSerifs {
-            SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                ((NoClassification, 0))
-                ((DirectLine, 1))
-                ((Script, 2))
-                //3-14 reserved for future use
-                ((Miscellaneous, 15))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } transitionalSerifs;
-        struct ModernSerifs {
-            SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                ((NoClassification, 0))
-                ((Italian, 1))
-                ((Script, 2))
-                //3-14 reserved for future use
-                ((Miscellaneous, 15))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } modernSerifs;
-        struct ClarendonSerifs {
-            SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                ((NoClassification, 0))
-                ((Clarendon, 1))
-                ((Modern, 2))
-                ((Traditional, 3))
-                ((Newspaper, 4))
-                ((StubSerif, 5))
-                ((Monotone, 6))
-                ((Typewriter, 7))
-                //8-14 reserved for future use
-                ((Miscellaneous, 15))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } clarendonSerifs;
-        struct SlabSerifs {
-            SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                ((NoClassification, 0))
-                ((Monotone, 1))
-                ((Humanist, 2))
-                ((Geometric, 3))
-                ((Swiss, 4))
-                ((Typewriter, 5))
-                //6-14 reserved for future use
-                ((Miscellaneous, 15))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } slabSerifs;
-        struct FreeformSerifs {
-            SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                ((NoClassification, 0))
-                ((Modern, 1))
-                //2-14 reserved for future use
-                ((Miscellaneous, 15))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } freeformSerifs;
-        struct SansSerif {
-            SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                ((NoClassification, 0))
-                ((IBMNeoGrotesqueGothic, 1))
-                ((Humanist, 2))
-                ((LowXRoundGeometric, 3))
-                ((HighXRoundGeometric, 4))
-                ((NeoGrotesqueGothic, 5))
-                ((ModifiedNeoGrotesqueGothic, 6))
-                //7-8 reserved for future use
-                ((TypewriterGothic, 9))
-                ((Matrix, 10))
-                //11-14 reserved for future use
-                ((Miscellaneous, 15))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } sansSerif;
-        struct Ornamentals {
-            SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                ((NoClassification, 0))
-                ((Engraver, 1))
-                ((BlackLetter, 2))
-                ((Decorative, 3))
-                ((ThreeDimensional, 4))
-                //5-14 reserved for future use
-                ((Miscellaneous, 15))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } ornamentals;
-        struct Scripts {
-            SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                ((NoClassification, 0))
-                ((Uncial, 1))
-                ((Brush_Joined, 2))
-                ((Formal_Joined, 3))
-                ((Monotone_Joined, 4))
-                ((Calligraphic, 5))
-                ((Brush_Unjoined, 6))
-                ((Formal_Unjoined, 7))
-                ((Monotone_Unjoined, 8))
-                //9-14 reserved for future use
-                ((Miscellaneous, 15))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } scripts;
-        struct Symbolic {
-            SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                ((NoClassification, 0))
-                //1-2 reserved for future use
-                ((MixedSerif, 3))
-                //4-5 reserved for future use
-                ((OldstyleSerif, 6))
-                ((NeoGrotesqueSansSerif, 7))
-                //8-14 reserved for future use
-                ((Miscellaneous, 15))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } symbolic;
-    } familySubClass;
-};
-
-#pragma pack(pop)
-
-
-SK_COMPILE_ASSERT(sizeof(SkIBMFamilyClass) == 2, sizeof_SkIBMFamilyClass_not_2);
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkOTTableTypes.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkOTTableTypes_DEFINED
-#define SkOTTableTypes_DEFINED
-
-#include "SkTypes.h"
-#include "SkEndian.h"
-
-//All SK_OT_ prefixed types should be considered as big endian.
-typedef uint8_t SK_OT_BYTE;
-#if CHAR_BIT == 8
-typedef signed char SK_OT_CHAR; //easier to debug
-#else
-typedef int8_t SK_OT_CHAR;
-#endif
-typedef int16_t SK_OT_SHORT;
-typedef uint16_t SK_OT_USHORT;
-typedef uint32_t SK_OT_ULONG;
-typedef int32_t SK_OT_LONG;
-//16.16 Fixed point representation.
-typedef int32_t SK_OT_Fixed;
-//F units are the units of measurement in em space.
-typedef int16_t SK_OT_FWORD;
-typedef uint16_t SK_OT_UFWORD;
-//Number of seconds since 12:00 midnight, January 1, 1904.
-typedef uint64_t SK_OT_LONGDATETIME;
-
-#define SK_OT_BYTE_BITFIELD SK_UINT8_BITFIELD
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkOTTable_OS_2.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkOTTable_OS_2_DEFINED
-#define SkOTTable_OS_2_DEFINED
-
-#include "SkOTTable_OS_2_VA.h"
-#include "SkOTTable_OS_2_V0.h"
-#include "SkOTTable_OS_2_V1.h"
-#include "SkOTTable_OS_2_V2.h"
-#include "SkOTTable_OS_2_V3.h"
-#include "SkOTTable_OS_2_V4.h"
-
-#pragma pack(push, 1)
-
-union SkOTTableOS2 {
-    //original V0 TT
-    struct VA : SkOTTableOS2_VA { } vA;
-    struct V0 : SkOTTableOS2_V0 { } v0;
-    struct V1 : SkOTTableOS2_V1 { } v1;
-    struct V2 : SkOTTableOS2_V2 { } v2;
-    //makes fsType 0-3 exclusive
-    struct V3 : SkOTTableOS2_V3 { } v3;
-    //defines fsSelection bits 7-9
-    struct V4 : SkOTTableOS2_V4 { } v4;
-};
-
-#pragma pack(pop)
-
-
-SK_COMPILE_ASSERT(sizeof(SkOTTableOS2::VA) == 68, sizeof_SkOTTableOS2__VA_not_68);
-SK_COMPILE_ASSERT(sizeof(SkOTTableOS2::V0) == 78, sizeof_SkOTTableOS2__V0_not_78);
-SK_COMPILE_ASSERT(sizeof(SkOTTableOS2::V1) == 86, sizeof_SkOTTableOS2__V1_not_86);
-SK_COMPILE_ASSERT(sizeof(SkOTTableOS2::V2) == 96, sizeof_SkOTTableOS2__V2_not_96);
-SK_COMPILE_ASSERT(sizeof(SkOTTableOS2::V3) == 96, sizeof_SkOTTableOS2__V3_not_96);
-SK_COMPILE_ASSERT(sizeof(SkOTTableOS2::V4) == 96, sizeof_SkOTTableOS2__V4_not_96);
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkOTTable_OS_2_V0.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkOTTable_OS_2_V0_DEFINED
-#define SkOTTable_OS_2_V0_DEFINED
-
-#include "SkEndian.h"
-#include "SkIBMFamilyClass.h"
-#include "SkOTTableTypes.h"
-#include "SkPanose.h"
-#include "SkTypedEnum.h"
-
-#pragma pack(push, 1)
-
-struct SkOTTableOS2_V0 {
-    SK_OT_USHORT version;
-    //The only way to differentiate versionA and version0 is by size.
-    static const SK_OT_USHORT version0 = SkTEndian_SwapBE16(0);
-    SK_OT_SHORT xAvgCharWidth;
-    struct WeightClass {
-        SK_TYPED_ENUM(Value, SK_OT_USHORT,
-            ((Thin, SkTEndian_SwapBE16(100)))
-            ((ExtraLight, SkTEndian_SwapBE16(200)))
-            ((Light, SkTEndian_SwapBE16(300)))
-            ((Normal, SkTEndian_SwapBE16(400)))
-            ((Medium, SkTEndian_SwapBE16(500)))
-            ((SemiBold, SkTEndian_SwapBE16(600)))
-            ((Bold, SkTEndian_SwapBE16(700)))
-            ((ExtraBold, SkTEndian_SwapBE16(800)))
-            ((Black, SkTEndian_SwapBE16(900)))
-            SK_SEQ_END,
-        SK_SEQ_END)
-        SK_OT_USHORT value;
-    } usWeightClass;
-    struct WidthClass {
-        SK_TYPED_ENUM(Value, SK_OT_USHORT,
-            ((UltraCondensed, SkTEndian_SwapBE16(1)))
-            ((ExtraCondensed, SkTEndian_SwapBE16(2)))
-            ((Condensed, SkTEndian_SwapBE16(3)))
-            ((SemiCondensed, SkTEndian_SwapBE16(4)))
-            ((Medium, SkTEndian_SwapBE16(5)))
-            ((SemiExpanded, SkTEndian_SwapBE16(6)))
-            ((Expanded, SkTEndian_SwapBE16(7)))
-            ((ExtraExpanded, SkTEndian_SwapBE16(8)))
-            ((UltraExpanded, SkTEndian_SwapBE16(9)))
-            SK_SEQ_END,
-        (value)SK_SEQ_END)
-    } usWidthClass;
-    union Type {
-        struct Field {
-            //8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved08,
-                Reserved09,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //0-7
-            SK_OT_BYTE_BITFIELD(
-                Reserved00,
-                Restricted,
-                PreviewPrint,
-                Editable,
-                Reserved04,
-                Reserved05,
-                Reserved06,
-                Reserved07)
-        } field;
-        struct Raw {
-            static const SK_OT_USHORT Installable = SkTEndian_SwapBE16(0);
-            static const SK_OT_USHORT RestrictedMask = SkTEndian_SwapBE16(1 << 1);
-            static const SK_OT_USHORT PreviewPrintMask = SkTEndian_SwapBE16(1 << 2);
-            static const SK_OT_USHORT EditableMask = SkTEndian_SwapBE16(1 << 3);
-            SK_OT_USHORT value;
-        } raw;
-    } fsType;
-    SK_OT_SHORT ySubscriptXSize;
-    SK_OT_SHORT ySubscriptYSize;
-    SK_OT_SHORT ySubscriptXOffset;
-    SK_OT_SHORT ySubscriptYOffset;
-    SK_OT_SHORT ySuperscriptXSize;
-    SK_OT_SHORT ySuperscriptYSize;
-    SK_OT_SHORT ySuperscriptXOffset;
-    SK_OT_SHORT ySuperscriptYOffset;
-    SK_OT_SHORT yStrikeoutSize;
-    SK_OT_SHORT yStrikeoutPosition;
-    SkIBMFamilyClass sFamilyClass;
-    SkPanose panose;
-    SK_OT_ULONG ulCharRange[4];
-    SK_OT_CHAR achVendID[4];
-    union Selection {
-        struct Field {
-            //8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved08,
-                Reserved09,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //0-7
-            SK_OT_BYTE_BITFIELD(
-                Italic,
-                Underscore,
-                Negative,
-                Outlined,
-                Strikeout,
-                Bold,
-                Regular,
-                Reserved07)
-        } field;
-        struct Raw {
-            static const SK_OT_USHORT ItalicMask = SkTEndian_SwapBE16(1 << 0);
-            static const SK_OT_USHORT UnderscoreMask = SkTEndian_SwapBE16(1 << 1);
-            static const SK_OT_USHORT NegativeMask = SkTEndian_SwapBE16(1 << 2);
-            static const SK_OT_USHORT OutlinedMask = SkTEndian_SwapBE16(1 << 3);
-            static const SK_OT_USHORT StrikeoutMask = SkTEndian_SwapBE16(1 << 4);
-            static const SK_OT_USHORT BoldMask = SkTEndian_SwapBE16(1 << 5);
-            static const SK_OT_USHORT RegularMask = SkTEndian_SwapBE16(1 << 6);
-            SK_OT_USHORT value;
-        } raw;
-    } fsSelection;
-    SK_OT_USHORT usFirstCharIndex;
-    SK_OT_USHORT usLastCharIndex;
-    //version0
-    SK_OT_SHORT sTypoAscender;
-    SK_OT_SHORT sTypoDescender;
-    SK_OT_SHORT sTypoLineGap;
-    SK_OT_USHORT usWinAscent;
-    SK_OT_USHORT usWinDescent;
-};
-
-#pragma pack(pop)
-
-
-SK_COMPILE_ASSERT(sizeof(SkOTTableOS2_V0) == 78, sizeof_SkOTTableOS2_V0_not_78);
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkOTTable_OS_2_V1.h
+++ /dev/null
@@ -1,517 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkOTTable_OS_2_V1_DEFINED
-#define SkOTTable_OS_2_V1_DEFINED
-
-#include "SkEndian.h"
-#include "SkIBMFamilyClass.h"
-#include "SkOTTableTypes.h"
-#include "SkPanose.h"
-#include "SkTypedEnum.h"
-
-#pragma pack(push, 1)
-
-struct SkOTTableOS2_V1 {
-    SK_OT_USHORT version;
-    static const SK_OT_USHORT version1 = SkTEndian_SwapBE16(1);
-    SK_OT_SHORT xAvgCharWidth;
-    struct WeightClass {
-        SK_TYPED_ENUM(Value, SK_OT_USHORT,
-            ((Thin, SkTEndian_SwapBE16(100)))
-            ((ExtraLight, SkTEndian_SwapBE16(200)))
-            ((Light, SkTEndian_SwapBE16(300)))
-            ((Normal, SkTEndian_SwapBE16(400)))
-            ((Medium, SkTEndian_SwapBE16(500)))
-            ((SemiBold, SkTEndian_SwapBE16(600)))
-            ((Bold, SkTEndian_SwapBE16(700)))
-            ((ExtraBold, SkTEndian_SwapBE16(800)))
-            ((Black, SkTEndian_SwapBE16(900)))
-            SK_SEQ_END,
-        SK_SEQ_END)
-        SK_OT_USHORT value;
-    } usWeightClass;
-    struct WidthClass {
-        SK_TYPED_ENUM(Value, SK_OT_USHORT,
-            ((UltraCondensed, SkTEndian_SwapBE16(1)))
-            ((ExtraCondensed, SkTEndian_SwapBE16(2)))
-            ((Condensed, SkTEndian_SwapBE16(3)))
-            ((SemiCondensed, SkTEndian_SwapBE16(4)))
-            ((Medium, SkTEndian_SwapBE16(5)))
-            ((SemiExpanded, SkTEndian_SwapBE16(6)))
-            ((Expanded, SkTEndian_SwapBE16(7)))
-            ((ExtraExpanded, SkTEndian_SwapBE16(8)))
-            ((UltraExpanded, SkTEndian_SwapBE16(9)))
-            SK_SEQ_END,
-        (value)SK_SEQ_END)
-    } usWidthClass;
-    union Type {
-        struct Field {
-            //8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved08,
-                Reserved09,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //0-7
-            SK_OT_BYTE_BITFIELD(
-                Reserved00,
-                Restricted,
-                PreviewPrint,
-                Editable,
-                Reserved04,
-                Reserved05,
-                Reserved06,
-                Reserved07)
-        } field;
-        struct Raw {
-            static const SK_OT_USHORT Installable = SkTEndian_SwapBE16(0);
-            static const SK_OT_USHORT RestrictedMask = SkTEndian_SwapBE16(1 << 1);
-            static const SK_OT_USHORT PreviewPrintMask = SkTEndian_SwapBE16(1 << 2);
-            static const SK_OT_USHORT EditableMask = SkTEndian_SwapBE16(1 << 3);
-            SK_OT_USHORT value;
-        } raw;
-    } fsType;
-    SK_OT_SHORT ySubscriptXSize;
-    SK_OT_SHORT ySubscriptYSize;
-    SK_OT_SHORT ySubscriptXOffset;
-    SK_OT_SHORT ySubscriptYOffset;
-    SK_OT_SHORT ySuperscriptXSize;
-    SK_OT_SHORT ySuperscriptYSize;
-    SK_OT_SHORT ySuperscriptXOffset;
-    SK_OT_SHORT ySuperscriptYOffset;
-    SK_OT_SHORT yStrikeoutSize;
-    SK_OT_SHORT yStrikeoutPosition;
-    SkIBMFamilyClass sFamilyClass;
-    SkPanose panose;
-    union UnicodeRange {
-        struct Field {
-            //l0 24-31
-            SK_OT_BYTE_BITFIELD(
-                Thai,
-                Lao,
-                BasicGeorgian,
-                GeorgianExtended,
-                HangulJamo,
-                LatinExtendedAdditional,
-                GreekExtended,
-                GeneralPunctuation)
-            //l0 16-23
-            SK_OT_BYTE_BITFIELD(
-                Bengali,
-                Gurmukhi,
-                Gujarati,
-                Oriya,
-                Tamil,
-                Telugu,
-                Kannada,
-                Malayalam)
-            //l0 8-15
-            SK_OT_BYTE_BITFIELD(
-                GreekSymbolsAndCoptic,
-                Cyrillic,
-                Armenian,
-                BasicHebrew,
-                HebrewExtendedAB,
-                BasicArabic,
-                ArabicExtended,
-                Devanagari)
-            //l0 0-7
-            SK_OT_BYTE_BITFIELD(
-                BasicLatin,
-                Latin1Supplement,
-                LatinExtendedA,
-                LatinExtendedB,
-                IPAExtensions,
-                SpacingModifierLetters,
-                CombiningDiacriticalMarks,
-                BasicGreek)
-
-            //l1 24-31
-            SK_OT_BYTE_BITFIELD(
-                Hangul,
-                Reserved057,
-                Reserved058,
-                CJKUnifiedIdeographs,
-                PrivateUseArea,
-                CJKCompatibilityIdeographs,
-                AlphabeticPresentationForms,
-                ArabicPresentationFormsA)
-            //l1 16-23
-            SK_OT_BYTE_BITFIELD(
-                CJKSymbolsAndPunctuation,
-                Hiragana,
-                Katakana,
-                Bopomofo,
-                HangulCompatibilityJamo,
-                CJKMiscellaneous,
-                EnclosedCJKLettersAndMonths,
-                CJKCompatibility)
-            //l1 8-15
-            SK_OT_BYTE_BITFIELD(
-                ControlPictures,
-                OpticalCharacterRecognition,
-                EnclosedAlphanumerics,
-                BoxDrawing,
-                BlockElements,
-                GeometricShapes,
-                MiscellaneousSymbols,
-                Dingbats)
-            //l1 0-7
-            SK_OT_BYTE_BITFIELD(
-                SuperscriptsAndSubscripts,
-                CurrencySymbols,
-                CombiningDiacriticalMarksForSymbols,
-                LetterlikeSymbols,
-                NumberForms,
-                Arrows,
-                MathematicalOperators,
-                MiscellaneousTechnical)
-
-            //l2 24-31
-            SK_OT_BYTE_BITFIELD(
-                Reserved088,
-                Reserved089,
-                Reserved090,
-                Reserved091,
-                Reserved092,
-                Reserved093,
-                Reserved094,
-                Reserved095)
-            //l2 16-23
-            SK_OT_BYTE_BITFIELD(
-                Reserved080,
-                Reserved081,
-                Reserved082,
-                Reserved083,
-                Reserved084,
-                Reserved085,
-                Reserved086,
-                Reserved087)
-            //l2 8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved072,
-                Reserved073,
-                Reserved074,
-                Reserved075,
-                Reserved076,
-                Reserved077,
-                Reserved078,
-                Reserved079)
-            //l2 0-7
-            SK_OT_BYTE_BITFIELD(
-                CombiningHalfMarks,
-                CJKCompatibilityForms,
-                SmallFormVariants,
-                ArabicPresentationFormsB,
-                HalfwidthAndFullwidthForms,
-                Specials,
-                Reserved70,
-                Reserved71)
-
-            //l3 24-31
-            SK_OT_BYTE_BITFIELD(
-                Reserved120,
-                Reserved121,
-                Reserved122,
-                Reserved123,
-                Reserved124,
-                Reserved125,
-                Reserved126,
-                Reserved127)
-            //l3 16-23
-            SK_OT_BYTE_BITFIELD(
-                Reserved112,
-                Reserved113,
-                Reserved114,
-                Reserved115,
-                Reserved116,
-                Reserved117,
-                Reserved118,
-                Reserved119)
-            //l3 8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved104,
-                Reserved105,
-                Reserved106,
-                Reserved107,
-                Reserved108,
-                Reserved109,
-                Reserved110,
-                Reserved111)
-            //l3 0-7
-            SK_OT_BYTE_BITFIELD(
-                Reserved096,
-                Reserved097,
-                Reserved098,
-                Reserved099,
-                Reserved100,
-                Reserved101,
-                Reserved102,
-                Reserved103)
-        } field;
-        struct Raw {
-            struct l0 {
-                static const SK_OT_ULONG BasicLatinMask = SkTEndian_SwapBE32(1 << 0);
-                static const SK_OT_ULONG Latin1SupplementMask = SkTEndian_SwapBE32(1 << 1);
-                static const SK_OT_ULONG LatinExtendedAMask = SkTEndian_SwapBE32(1 << 2);
-                static const SK_OT_ULONG LatinExtendedBMask = SkTEndian_SwapBE32(1 << 3);
-                static const SK_OT_ULONG IPAExtensionsMask = SkTEndian_SwapBE32(1 << 4);
-                static const SK_OT_ULONG SpacingModifierLettersMask = SkTEndian_SwapBE32(1 << 5);
-                static const SK_OT_ULONG CombiningDiacriticalMarksMask = SkTEndian_SwapBE32(1 << 6);
-                static const SK_OT_ULONG BasicGreekMask = SkTEndian_SwapBE32(1 << 7);
-                static const SK_OT_ULONG GreekSymbolsAndCCopticMask = SkTEndian_SwapBE32(1 << 8);
-                static const SK_OT_ULONG CyrillicMask = SkTEndian_SwapBE32(1 << 9);
-                static const SK_OT_ULONG ArmenianMask = SkTEndian_SwapBE32(1 << 10);
-                static const SK_OT_ULONG BasicHebrewMask = SkTEndian_SwapBE32(1 << 11);
-                static const SK_OT_ULONG HebrewExtendedABMask = SkTEndian_SwapBE32(1 << 12);
-                static const SK_OT_ULONG BasicArabicMask = SkTEndian_SwapBE32(1 << 13);
-                static const SK_OT_ULONG ArabicExtendedMask = SkTEndian_SwapBE32(1 << 14);
-                static const SK_OT_ULONG DevanagariMask = SkTEndian_SwapBE32(1 << 15);
-                static const SK_OT_ULONG BengaliMask = SkTEndian_SwapBE32(1 << 16);
-                static const SK_OT_ULONG GurmukhiMask = SkTEndian_SwapBE32(1 << 17);
-                static const SK_OT_ULONG GujaratiMask = SkTEndian_SwapBE32(1 << 18);
-                static const SK_OT_ULONG OriyaMask = SkTEndian_SwapBE32(1 << 19);
-                static const SK_OT_ULONG TamilMask = SkTEndian_SwapBE32(1 << 20);
-                static const SK_OT_ULONG TeluguMask = SkTEndian_SwapBE32(1 << 21);
-                static const SK_OT_ULONG KannadaMask = SkTEndian_SwapBE32(1 << 22);
-                static const SK_OT_ULONG MalayalamMask = SkTEndian_SwapBE32(1 << 23);
-                static const SK_OT_ULONG ThaiMask = SkTEndian_SwapBE32(1 << 24);
-                static const SK_OT_ULONG LaoMask = SkTEndian_SwapBE32(1 << 25);
-                static const SK_OT_ULONG BasicGeorgianMask = SkTEndian_SwapBE32(1 << 26);
-                static const SK_OT_ULONG GeorgianExtendedMask = SkTEndian_SwapBE32(1 << 27);
-                static const SK_OT_ULONG HangulJamoMask = SkTEndian_SwapBE32(1 << 28);
-                static const SK_OT_ULONG LatinExtendedAdditionalMask = SkTEndian_SwapBE32(1 << 29);
-                static const SK_OT_ULONG GreekExtendedMask = SkTEndian_SwapBE32(1 << 30);
-                static const SK_OT_ULONG GeneralPunctuationMask = SkTEndian_SwapBE32(1 << 31);
-            };
-            struct l1 {
-                static const SK_OT_ULONG SuperscriptsAndSubscriptsMask = SkTEndian_SwapBE32(1 << (32 - 32));
-                static const SK_OT_ULONG CurrencySymbolsMask = SkTEndian_SwapBE32(1 << (33 - 32));
-                static const SK_OT_ULONG CombiningDiacriticalMarksForSymbolsMask = SkTEndian_SwapBE32(1 << (34 - 32));
-                static const SK_OT_ULONG LetterlikeSymbolsMask = SkTEndian_SwapBE32(1 << (35 - 32));
-                static const SK_OT_ULONG NumberFormsMask = SkTEndian_SwapBE32(1 << (36 - 32));
-                static const SK_OT_ULONG ArrowsMask = SkTEndian_SwapBE32(1 << (37 - 32));
-                static const SK_OT_ULONG MathematicalOperatorsMask = SkTEndian_SwapBE32(1 << (38 - 32));
-                static const SK_OT_ULONG MiscellaneousTechnicalMask = SkTEndian_SwapBE32(1 << (39 - 32));
-                static const SK_OT_ULONG ControlPicturesMask = SkTEndian_SwapBE32(1 << (40 - 32));
-                static const SK_OT_ULONG OpticalCharacterRecognitionMask = SkTEndian_SwapBE32(1 << (41 - 32));
-                static const SK_OT_ULONG EnclosedAlphanumericsMask = SkTEndian_SwapBE32(1 << (42 - 32));
-                static const SK_OT_ULONG BoxDrawingMask = SkTEndian_SwapBE32(1 << (43 - 32));
-                static const SK_OT_ULONG BlockElementsMask = SkTEndian_SwapBE32(1 << (44 - 32));
-                static const SK_OT_ULONG GeometricShapesMask = SkTEndian_SwapBE32(1 << (45 - 32));
-                static const SK_OT_ULONG MiscellaneousSymbolsMask = SkTEndian_SwapBE32(1 << (46 - 32));
-                static const SK_OT_ULONG DingbatsMask = SkTEndian_SwapBE32(1 << (47 - 32));
-                static const SK_OT_ULONG CJKSymbolsAndPunctuationMask = SkTEndian_SwapBE32(1 << (48 - 32));
-                static const SK_OT_ULONG HiraganaMask = SkTEndian_SwapBE32(1 << (49 - 32));
-                static const SK_OT_ULONG KatakanaMask = SkTEndian_SwapBE32(1 << (50 - 32));
-                static const SK_OT_ULONG BopomofoMask = SkTEndian_SwapBE32(1 << (51 - 32));
-                static const SK_OT_ULONG HangulCompatibilityJamoMask = SkTEndian_SwapBE32(1 << (52 - 32));
-                static const SK_OT_ULONG CJKMiscellaneousMask = SkTEndian_SwapBE32(1 << (53 - 32));
-                static const SK_OT_ULONG EnclosedCJKLettersAndMonthsMask = SkTEndian_SwapBE32(1 << (54 - 32));
-                static const SK_OT_ULONG CJKCompatibilityMask = SkTEndian_SwapBE32(1 << (55 - 32));
-                static const SK_OT_ULONG HangulMask = SkTEndian_SwapBE32(1 << (56 - 32));
-                //Reserved
-                //Reserved
-                static const SK_OT_ULONG CJKUnifiedIdeographsMask = SkTEndian_SwapBE32(1 << (59 - 32));
-                static const SK_OT_ULONG PrivateUseAreaMask = SkTEndian_SwapBE32(1 << (60 - 32));
-                static const SK_OT_ULONG CJKCompatibilityIdeographsMask = SkTEndian_SwapBE32(1 << (61 - 32));
-                static const SK_OT_ULONG AlphabeticPresentationFormsMask = SkTEndian_SwapBE32(1 << (62 - 32));
-                static const SK_OT_ULONG ArabicPresentationFormsAMask = SkTEndian_SwapBE32(1 << (63 - 32));
-            };
-            struct l2 {
-                static const SK_OT_ULONG CombiningHalfMarksMask = SkTEndian_SwapBE32(1 << (64 - 64));
-                static const SK_OT_ULONG CJKCompatibilityFormsMask = SkTEndian_SwapBE32(1 << (65 - 64));
-                static const SK_OT_ULONG SmallFormVariantsMask = SkTEndian_SwapBE32(1 << (66 - 64));
-                static const SK_OT_ULONG ArabicPresentationFormsBMask = SkTEndian_SwapBE32(1 << (67 - 64));
-                static const SK_OT_ULONG HalfwidthAndFullwidthFormsMask = SkTEndian_SwapBE32(1 << (68 - 64));
-                static const SK_OT_ULONG SpecialsMask = SkTEndian_SwapBE32(1 << (69 - 64));
-            };
-            SK_OT_ULONG value[4];
-        } raw;
-    } ulUnicodeRange;
-    SK_OT_CHAR achVendID[4];
-    union Selection {
-        struct Field {
-            //8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved08,
-                Reserved09,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //0-7
-            SK_OT_BYTE_BITFIELD(
-                Italic,
-                Underscore,
-                Negative,
-                Outlined,
-                Strikeout,
-                Bold,
-                Regular,
-                Reserved07)
-        } field;
-        struct Raw {
-            static const SK_OT_USHORT ItalicMask = SkTEndian_SwapBE16(1 << 0);
-            static const SK_OT_USHORT UnderscoreMask = SkTEndian_SwapBE16(1 << 1);
-            static const SK_OT_USHORT NegativeMask = SkTEndian_SwapBE16(1 << 2);
-            static const SK_OT_USHORT OutlinedMask = SkTEndian_SwapBE16(1 << 3);
-            static const SK_OT_USHORT StrikeoutMask = SkTEndian_SwapBE16(1 << 4);
-            static const SK_OT_USHORT BoldMask = SkTEndian_SwapBE16(1 << 5);
-            static const SK_OT_USHORT RegularMask = SkTEndian_SwapBE16(1 << 6);
-            SK_OT_USHORT value;
-        } raw;
-    } fsSelection;
-    SK_OT_USHORT usFirstCharIndex;
-    SK_OT_USHORT usLastCharIndex;
-    //version0
-    SK_OT_SHORT sTypoAscender;
-    SK_OT_SHORT sTypoDescender;
-    SK_OT_SHORT sTypoLineGap;
-    SK_OT_USHORT usWinAscent;
-    SK_OT_USHORT usWinDescent;
-    //version1
-    union CodePageRange {
-        struct Field {
-            //l0 24-31
-            SK_OT_BYTE_BITFIELD(
-                Reserved24,
-                Reserved25,
-                Reserved26,
-                Reserved27,
-                Reserved28,
-                MacintoshCharacterSet,
-                OEMCharacterSet,
-                SymbolCharacterSet)
-            //l0 16-23
-            SK_OT_BYTE_BITFIELD(
-                Thai_874,
-                JISJapan_932,
-                ChineseSimplified_936,
-                KoreanWansung_949,
-                ChineseTraditional_950,
-                KoreanJohab_1361,
-                Reserved22,
-                Reserved23)
-            //l0 8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved08,
-                Reserved09,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //l0 0-7
-            SK_OT_BYTE_BITFIELD(
-                Latin1_1252,
-                Latin2EasternEurope_1250,
-                Cyrillic_1251,
-                Greek_1253,
-                Turkish_1254,
-                Hebrew_1255,
-                Arabic_1256,
-                WindowsBaltic_1257)
-
-            //l1 24-31
-            SK_OT_BYTE_BITFIELD(
-                IBMTurkish_857,
-                IBMCyrillic_855,
-                Latin2_852,
-                MSDOSBaltic_775,
-                Greek_737,
-                Arabic_708,
-                WELatin1_850,
-                US_437)
-            //l1 16-23
-            SK_OT_BYTE_BITFIELD(
-                IBMGreek_869,
-                MSDOSRussian_866,
-                MSDOSNordic_865,
-                Arabic_864,
-                MSDOSCanadianFrench_863,
-                Hebrew_862,
-                MSDOSIcelandic_861,
-                MSDOSPortuguese_860)
-            //l1 8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved40,
-                Reserved41,
-                Reserved42,
-                Reserved43,
-                Reserved44,
-                Reserved45,
-                Reserved46,
-                Reserved47)
-            //l1 0-7
-            SK_OT_BYTE_BITFIELD(
-                Reserved32,
-                Reserved33,
-                Reserved34,
-                Reserved35,
-                Reserved36,
-                Reserved37,
-                Reserved38,
-                Reserved39)
-        } field;
-        struct Raw {
-            struct l0 {
-                static const SK_OT_ULONG Latin1_1252Mask = SkTEndian_SwapBE32(1 << 0);
-                static const SK_OT_ULONG Latin2EasternEurope_1250Mask = SkTEndian_SwapBE32(1 << 1);
-                static const SK_OT_ULONG Cyrillic_1251Mask = SkTEndian_SwapBE32(1 << 2);
-                static const SK_OT_ULONG Greek_1253Mask = SkTEndian_SwapBE32(1 << 3);
-                static const SK_OT_ULONG Turkish_1254Mask = SkTEndian_SwapBE32(1 << 4);
-                static const SK_OT_ULONG Hebrew_1255Mask = SkTEndian_SwapBE32(1 << 5);
-                static const SK_OT_ULONG Arabic_1256Mask = SkTEndian_SwapBE32(1 << 6);
-                static const SK_OT_ULONG WindowsBaltic_1257Mask = SkTEndian_SwapBE32(1 << 7);
-                static const SK_OT_ULONG Thai_874Mask = SkTEndian_SwapBE32(1 << 16);
-                static const SK_OT_ULONG JISJapan_932Mask = SkTEndian_SwapBE32(1 << 17);
-                static const SK_OT_ULONG ChineseSimplified_936Mask = SkTEndian_SwapBE32(1 << 18);
-                static const SK_OT_ULONG KoreanWansung_949Mask = SkTEndian_SwapBE32(1 << 19);
-                static const SK_OT_ULONG ChineseTraditional_950Mask = SkTEndian_SwapBE32(1 << 20);
-                static const SK_OT_ULONG KoreanJohab_1361Mask = SkTEndian_SwapBE32(1 << 21);
-                static const SK_OT_ULONG MacintoshCharacterSetMask = SkTEndian_SwapBE32(1 << 29);
-                static const SK_OT_ULONG OEMCharacterSetMask = SkTEndian_SwapBE32(1 << 30);
-                static const SK_OT_ULONG SymbolCharacterSetMask = SkTEndian_SwapBE32(1 << 31);
-            };
-            struct l1 {
-                static const SK_OT_ULONG IBMGreek_869Mask = SkTEndian_SwapBE32(1 << (48 - 32));
-                static const SK_OT_ULONG MSDOSRussian_866Mask = SkTEndian_SwapBE32(1 << (49 - 32));
-                static const SK_OT_ULONG MSDOSNordic_865Mask = SkTEndian_SwapBE32(1 << (50 - 32));
-                static const SK_OT_ULONG Arabic_864Mask = SkTEndian_SwapBE32(1 << (51 - 32));
-                static const SK_OT_ULONG MSDOSCanadianFrench_863Mask = SkTEndian_SwapBE32(1 << (52 - 32));
-                static const SK_OT_ULONG Hebrew_862Mask = SkTEndian_SwapBE32(1 << (53 - 32));
-                static const SK_OT_ULONG MSDOSIcelandic_861Mask = SkTEndian_SwapBE32(1 << (54 - 32));
-                static const SK_OT_ULONG MSDOSPortuguese_860Mask = SkTEndian_SwapBE32(1 << (55 - 32));
-                static const SK_OT_ULONG IBMTurkish_857Mask = SkTEndian_SwapBE32(1 << (56 - 32));
-                static const SK_OT_ULONG IBMCyrillic_855Mask = SkTEndian_SwapBE32(1 << (57 - 32));
-                static const SK_OT_ULONG Latin2_852Mask = SkTEndian_SwapBE32(1 << (58 - 32));
-                static const SK_OT_ULONG MSDOSBaltic_775Mask = SkTEndian_SwapBE32(1 << (59 - 32));
-                static const SK_OT_ULONG Greek_737Mask = SkTEndian_SwapBE32(1 << (60 - 32));
-                static const SK_OT_ULONG Arabic_708Mask = SkTEndian_SwapBE32(1 << (61 - 32));
-                static const SK_OT_ULONG WELatin1_850Mask = SkTEndian_SwapBE32(1 << (62 - 32));
-                static const SK_OT_ULONG US_437Mask = SkTEndian_SwapBE32(1 << (63 - 32));
-            };
-            SK_OT_ULONG value[2];
-        } raw;
-    } ulCodePageRange;
-};
-
-#pragma pack(pop)
-
-
-SK_COMPILE_ASSERT(sizeof(SkOTTableOS2_V1) == 86, sizeof_SkOTTableOS2_V1_not_86);
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkOTTable_OS_2_V2.h
+++ /dev/null
@@ -1,539 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkOTTable_OS_2_V2_DEFINED
-#define SkOTTable_OS_2_V2_DEFINED
-
-#include "SkEndian.h"
-#include "SkIBMFamilyClass.h"
-#include "SkOTTableTypes.h"
-#include "SkPanose.h"
-#include "SkTypedEnum.h"
-
-#pragma pack(push, 1)
-
-struct SkOTTableOS2_V2 {
-    SK_OT_USHORT version;
-    static const SK_OT_USHORT version2 = SkTEndian_SwapBE16(2);
-    SK_OT_SHORT xAvgCharWidth;
-    struct WeightClass {
-        SK_TYPED_ENUM(Value, SK_OT_USHORT,
-            ((Thin, SkTEndian_SwapBE16(100)))
-            ((ExtraLight, SkTEndian_SwapBE16(200)))
-            ((Light, SkTEndian_SwapBE16(300)))
-            ((Normal, SkTEndian_SwapBE16(400)))
-            ((Medium, SkTEndian_SwapBE16(500)))
-            ((SemiBold, SkTEndian_SwapBE16(600)))
-            ((Bold, SkTEndian_SwapBE16(700)))
-            ((ExtraBold, SkTEndian_SwapBE16(800)))
-            ((Black, SkTEndian_SwapBE16(900)))
-            SK_SEQ_END,
-        SK_SEQ_END)
-        SK_OT_USHORT value;
-    } usWeightClass;
-    struct WidthClass {
-        SK_TYPED_ENUM(Value, SK_OT_USHORT,
-            ((UltraCondensed, SkTEndian_SwapBE16(1)))
-            ((ExtraCondensed, SkTEndian_SwapBE16(2)))
-            ((Condensed, SkTEndian_SwapBE16(3)))
-            ((SemiCondensed, SkTEndian_SwapBE16(4)))
-            ((Medium, SkTEndian_SwapBE16(5)))
-            ((SemiExpanded, SkTEndian_SwapBE16(6)))
-            ((Expanded, SkTEndian_SwapBE16(7)))
-            ((ExtraExpanded, SkTEndian_SwapBE16(8)))
-            ((UltraExpanded, SkTEndian_SwapBE16(9))),
-        (value)SK_SEQ_END)
-    } usWidthClass;
-    union Type {
-        struct Field {
-            //8-15
-            SK_OT_BYTE_BITFIELD(
-                NoSubsetting,
-                Bitmap,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //0-7
-            SK_OT_BYTE_BITFIELD(
-                Reserved00,
-                Restricted,
-                PreviewPrint,
-                Editable,
-                Reserved04,
-                Reserved05,
-                Reserved06,
-                Reserved07)
-        } field;
-        struct Raw {
-            static const SK_OT_USHORT Installable = SkTEndian_SwapBE16(0);
-            static const SK_OT_USHORT RestrictedMask = SkTEndian_SwapBE16(1 << 1);
-            static const SK_OT_USHORT PreviewPrintMask = SkTEndian_SwapBE16(1 << 2);
-            static const SK_OT_USHORT EditableMask = SkTEndian_SwapBE16(1 << 3);
-            static const SK_OT_USHORT NoSubsettingMask = SkTEndian_SwapBE16(1 << 8);
-            static const SK_OT_USHORT BitmapMask = SkTEndian_SwapBE16(1 << 9);
-            SK_OT_USHORT value;
-        } raw;
-    } fsType;
-    SK_OT_SHORT ySubscriptXSize;
-    SK_OT_SHORT ySubscriptYSize;
-    SK_OT_SHORT ySubscriptXOffset;
-    SK_OT_SHORT ySubscriptYOffset;
-    SK_OT_SHORT ySuperscriptXSize;
-    SK_OT_SHORT ySuperscriptYSize;
-    SK_OT_SHORT ySuperscriptXOffset;
-    SK_OT_SHORT ySuperscriptYOffset;
-    SK_OT_SHORT yStrikeoutSize;
-    SK_OT_SHORT yStrikeoutPosition;
-    SkIBMFamilyClass sFamilyClass;
-    SkPanose panose;
-    union UnicodeRange {
-        struct Field {
-            //l0 24-31
-            SK_OT_BYTE_BITFIELD(
-                Thai,
-                Lao,
-                Georgian,
-                Reserved027,
-                HangulJamo,
-                LatinExtendedAdditional,
-                GreekExtended,
-                GeneralPunctuation)
-            //l0 16-23
-            SK_OT_BYTE_BITFIELD(
-                Bengali,
-                Gurmukhi,
-                Gujarati,
-                Oriya,
-                Tamil,
-                Telugu,
-                Kannada,
-                Malayalam)
-            //l0 8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved008,
-                Cyrillic,
-                Armenian,
-                Hebrew,
-                Reserved012,
-                Arabic,
-                Reserved014,
-                Devanagari)
-            //l0 0-7
-            SK_OT_BYTE_BITFIELD(
-                BasicLatin,
-                Latin1Supplement,
-                LatinExtendedA,
-                LatinExtendedB,
-                IPAExtensions,
-                SpacingModifierLetters,
-                CombiningDiacriticalMarks,
-                Greek)
-
-            //l1 24-31
-            SK_OT_BYTE_BITFIELD(
-                Hangul,
-                Surrogates,
-                Reserved058,
-                CJKUnifiedIdeographs,
-                PrivateUseArea,
-                CJKCompatibilityIdeographs,
-                AlphabeticPresentationForms,
-                ArabicPresentationFormsA)
-            //l1 16-23
-            SK_OT_BYTE_BITFIELD(
-                CJKSymbolsAndPunctuation,
-                Hiragana,
-                Katakana,
-                Bopomofo,
-                HangulCompatibilityJamo,
-                CJKMiscellaneous,
-                EnclosedCJKLettersAndMonths,
-                CJKCompatibility)
-            //l1 8-15
-            SK_OT_BYTE_BITFIELD(
-                ControlPictures,
-                OpticalCharacterRecognition,
-                EnclosedAlphanumerics,
-                BoxDrawing,
-                BlockElements,
-                GeometricShapes,
-                MiscellaneousSymbols,
-                Dingbats)
-            //l1 0-7
-            SK_OT_BYTE_BITFIELD(
-                SuperscriptsAndSubscripts,
-                CurrencySymbols,
-                CombiningDiacriticalMarksForSymbols,
-                LetterlikeSymbols,
-                NumberForms,
-                Arrows,
-                MathematicalOperators,
-                MiscellaneousTechnical)
-
-            //l2 24-31
-            SK_OT_BYTE_BITFIELD(
-                Reserved088,
-                Reserved089,
-                Reserved090,
-                Reserved091,
-                Reserved092,
-                Reserved093,
-                Reserved094,
-                Reserved095)
-            //l2 16-23
-            SK_OT_BYTE_BITFIELD(
-                Khmer,
-                Mongolian,
-                Braille,
-                Yi,
-                Reserved084,
-                Reserved085,
-                Reserved086,
-                Reserved087)
-            //l2 8-15
-            SK_OT_BYTE_BITFIELD(
-                Thaana,
-                Sinhala,
-                Myanmar,
-                Ethiopic,
-                Cherokee,
-                UnifiedCanadianSyllabics,
-                Ogham,
-                Runic)
-            //l2 0-7
-            SK_OT_BYTE_BITFIELD(
-                CombiningHalfMarks,
-                CJKCompatibilityForms,
-                SmallFormVariants,
-                ArabicPresentationFormsB,
-                HalfwidthAndFullwidthForms,
-                Specials,
-                Tibetan,
-                Syriac)
-
-            //l3 24-31
-            SK_OT_BYTE_BITFIELD(
-                Reserved120,
-                Reserved121,
-                Reserved122,
-                Reserved123,
-                Reserved124,
-                Reserved125,
-                Reserved126,
-                Reserved127)
-            //l3 16-23
-            SK_OT_BYTE_BITFIELD(
-                Reserved112,
-                Reserved113,
-                Reserved114,
-                Reserved115,
-                Reserved116,
-                Reserved117,
-                Reserved118,
-                Reserved119)
-            //l3 8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved104,
-                Reserved105,
-                Reserved106,
-                Reserved107,
-                Reserved108,
-                Reserved109,
-                Reserved110,
-                Reserved111)
-            //l3 0-7
-            SK_OT_BYTE_BITFIELD(
-                Reserved096,
-                Reserved097,
-                Reserved098,
-                Reserved099,
-                Reserved100,
-                Reserved101,
-                Reserved102,
-                Reserved103)
-        } field;
-        struct Raw {
-            struct l0 {
-                static const SK_OT_ULONG BasicLatinMask = SkTEndian_SwapBE32(1 << 0);
-                static const SK_OT_ULONG Latin1SupplementMask = SkTEndian_SwapBE32(1 << 1);
-                static const SK_OT_ULONG LatinExtendedAMask = SkTEndian_SwapBE32(1 << 2);
-                static const SK_OT_ULONG LatinExtendedBMask = SkTEndian_SwapBE32(1 << 3);
-                static const SK_OT_ULONG IPAExtensionsMask = SkTEndian_SwapBE32(1 << 4);
-                static const SK_OT_ULONG SpacingModifierLettersMask = SkTEndian_SwapBE32(1 << 5);
-                static const SK_OT_ULONG CombiningDiacriticalMarksMask = SkTEndian_SwapBE32(1 << 6);
-                static const SK_OT_ULONG GreekMask = SkTEndian_SwapBE32(1 << 7);
-                //Reserved
-                static const SK_OT_ULONG CyrillicMask = SkTEndian_SwapBE32(1 << 9);
-                static const SK_OT_ULONG ArmenianMask = SkTEndian_SwapBE32(1 << 10);
-                static const SK_OT_ULONG HebrewMask = SkTEndian_SwapBE32(1 << 11);
-                //Reserved
-                static const SK_OT_ULONG ArabicMask = SkTEndian_SwapBE32(1 << 13);
-                //Reserved
-                static const SK_OT_ULONG DevanagariMask = SkTEndian_SwapBE32(1 << 15);
-                static const SK_OT_ULONG BengaliMask = SkTEndian_SwapBE32(1 << 16);
-                static const SK_OT_ULONG GurmukhiMask = SkTEndian_SwapBE32(1 << 17);
-                static const SK_OT_ULONG GujaratiMask = SkTEndian_SwapBE32(1 << 18);
-                static const SK_OT_ULONG OriyaMask = SkTEndian_SwapBE32(1 << 19);
-                static const SK_OT_ULONG TamilMask = SkTEndian_SwapBE32(1 << 20);
-                static const SK_OT_ULONG TeluguMask = SkTEndian_SwapBE32(1 << 21);
-                static const SK_OT_ULONG KannadaMask = SkTEndian_SwapBE32(1 << 22);
-                static const SK_OT_ULONG MalayalamMask = SkTEndian_SwapBE32(1 << 23);
-                static const SK_OT_ULONG ThaiMask = SkTEndian_SwapBE32(1 << 24);
-                static const SK_OT_ULONG LaoMask = SkTEndian_SwapBE32(1 << 25);
-                static const SK_OT_ULONG GeorgianMask = SkTEndian_SwapBE32(1 << 26);
-                //Reserved
-                static const SK_OT_ULONG HangulJamoMask = SkTEndian_SwapBE32(1 << 28);
-                static const SK_OT_ULONG LatinExtendedAdditionalMask = SkTEndian_SwapBE32(1 << 29);
-                static const SK_OT_ULONG GreekExtendedMask = SkTEndian_SwapBE32(1 << 30);
-                static const SK_OT_ULONG GeneralPunctuationMask = SkTEndian_SwapBE32(1 << 31);
-            };
-            struct l1 {
-                static const SK_OT_ULONG SuperscriptsAndSubscriptsMask = SkTEndian_SwapBE32(1 << (32 - 32));
-                static const SK_OT_ULONG CurrencySymbolsMask = SkTEndian_SwapBE32(1 << (33 - 32));
-                static const SK_OT_ULONG CombiningDiacriticalMarksForSymbolsMask = SkTEndian_SwapBE32(1 << (34 - 32));
-                static const SK_OT_ULONG LetterlikeSymbolsMask = SkTEndian_SwapBE32(1 << (35 - 32));
-                static const SK_OT_ULONG NumberFormsMask = SkTEndian_SwapBE32(1 << (36 - 32));
-                static const SK_OT_ULONG ArrowsMask = SkTEndian_SwapBE32(1 << (37 - 32));
-                static const SK_OT_ULONG MathematicalOperatorsMask = SkTEndian_SwapBE32(1 << (38 - 32));
-                static const SK_OT_ULONG MiscellaneousTechnicalMask = SkTEndian_SwapBE32(1 << (39 - 32));
-                static const SK_OT_ULONG ControlPicturesMask = SkTEndian_SwapBE32(1 << (40 - 32));
-                static const SK_OT_ULONG OpticalCharacterRecognitionMask = SkTEndian_SwapBE32(1 << (41 - 32));
-                static const SK_OT_ULONG EnclosedAlphanumericsMask = SkTEndian_SwapBE32(1 << (42 - 32));
-                static const SK_OT_ULONG BoxDrawingMask = SkTEndian_SwapBE32(1 << (43 - 32));
-                static const SK_OT_ULONG BlockElementsMask = SkTEndian_SwapBE32(1 << (44 - 32));
-                static const SK_OT_ULONG GeometricShapesMask = SkTEndian_SwapBE32(1 << (45 - 32));
-                static const SK_OT_ULONG MiscellaneousSymbolsMask = SkTEndian_SwapBE32(1 << (46 - 32));
-                static const SK_OT_ULONG DingbatsMask = SkTEndian_SwapBE32(1 << (47 - 32));
-                static const SK_OT_ULONG CJKSymbolsAndPunctuationMask = SkTEndian_SwapBE32(1 << (48 - 32));
-                static const SK_OT_ULONG HiraganaMask = SkTEndian_SwapBE32(1 << (49 - 32));
-                static const SK_OT_ULONG KatakanaMask = SkTEndian_SwapBE32(1 << (50 - 32));
-                static const SK_OT_ULONG BopomofoMask = SkTEndian_SwapBE32(1 << (51 - 32));
-                static const SK_OT_ULONG HangulCompatibilityJamoMask = SkTEndian_SwapBE32(1 << (52 - 32));
-                static const SK_OT_ULONG CJKMiscellaneousMask = SkTEndian_SwapBE32(1 << (53 - 32));
-                static const SK_OT_ULONG EnclosedCJKLettersAndMonthsMask = SkTEndian_SwapBE32(1 << (54 - 32));
-                static const SK_OT_ULONG CJKCompatibilityMask = SkTEndian_SwapBE32(1 << (55 - 32));
-                static const SK_OT_ULONG HangulMask = SkTEndian_SwapBE32(1 << (56 - 32));
-                static const SK_OT_ULONG SurrogatesMask = SkTEndian_SwapBE32(1 << (57 - 32));
-                //Reserved
-                static const SK_OT_ULONG CJKUnifiedIdeographsMask = SkTEndian_SwapBE32(1 << (59 - 32));
-                static const SK_OT_ULONG PrivateUseAreaMask = SkTEndian_SwapBE32(1 << (60 - 32));
-                static const SK_OT_ULONG CJKCompatibilityIdeographsMask = SkTEndian_SwapBE32(1 << (61 - 32));
-                static const SK_OT_ULONG AlphabeticPresentationFormsMask = SkTEndian_SwapBE32(1 << (62 - 32));
-                static const SK_OT_ULONG ArabicPresentationFormsAMask = SkTEndian_SwapBE32(1 << (63 - 32));
-            };
-            struct l2 {
-                static const SK_OT_ULONG CombiningHalfMarksMask = SkTEndian_SwapBE32(1 << (64 - 64));
-                static const SK_OT_ULONG CJKCompatibilityFormsMask = SkTEndian_SwapBE32(1 << (65 - 64));
-                static const SK_OT_ULONG SmallFormVariantsMask = SkTEndian_SwapBE32(1 << (66 - 64));
-                static const SK_OT_ULONG ArabicPresentationFormsBMask = SkTEndian_SwapBE32(1 << (67 - 64));
-                static const SK_OT_ULONG HalfwidthAndFullwidthFormsMask = SkTEndian_SwapBE32(1 << (68 - 64));
-                static const SK_OT_ULONG SpecialsMask = SkTEndian_SwapBE32(1 << (69 - 64));
-                static const SK_OT_ULONG TibetanMask = SkTEndian_SwapBE32(1 << (70 - 64));
-                static const SK_OT_ULONG SyriacMask = SkTEndian_SwapBE32(1 << (71 - 64));
-                static const SK_OT_ULONG ThaanaMask = SkTEndian_SwapBE32(1 << (72 - 64));
-                static const SK_OT_ULONG SinhalaMask = SkTEndian_SwapBE32(1 << (73 - 64));
-                static const SK_OT_ULONG MyanmarMask = SkTEndian_SwapBE32(1 << (74 - 64));
-                static const SK_OT_ULONG EthiopicMask = SkTEndian_SwapBE32(1 << (75 - 64));
-                static const SK_OT_ULONG CherokeeMask = SkTEndian_SwapBE32(1 << (76 - 64));
-                static const SK_OT_ULONG UnifiedCanadianSyllabicsMask = SkTEndian_SwapBE32(1 << (77 - 64));
-                static const SK_OT_ULONG OghamMask = SkTEndian_SwapBE32(1 << (78 - 64));
-                static const SK_OT_ULONG RunicMask = SkTEndian_SwapBE32(1 << (79 - 64));
-                static const SK_OT_ULONG KhmerMask = SkTEndian_SwapBE32(1 << (80 - 64));
-                static const SK_OT_ULONG MongolianMask = SkTEndian_SwapBE32(1 << (81 - 64));
-                static const SK_OT_ULONG BrailleMask = SkTEndian_SwapBE32(1 << (82 - 64));
-                static const SK_OT_ULONG YiMask = SkTEndian_SwapBE32(1 << (83 - 64));
-            };
-            SK_OT_ULONG value[4];
-        } raw;
-    } ulUnicodeRange;
-    SK_OT_CHAR achVendID[4];
-    union Selection {
-        struct Field {
-            //8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved08,
-                Reserved09,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //0-7
-            SK_OT_BYTE_BITFIELD(
-                Italic,
-                Underscore,
-                Negative,
-                Outlined,
-                Strikeout,
-                Bold,
-                Regular,
-                Reserved07)
-        } field;
-        struct Raw {
-            static const SK_OT_USHORT ItalicMask = SkTEndian_SwapBE16(1 << 0);
-            static const SK_OT_USHORT UnderscoreMask = SkTEndian_SwapBE16(1 << 1);
-            static const SK_OT_USHORT NegativeMask = SkTEndian_SwapBE16(1 << 2);
-            static const SK_OT_USHORT OutlinedMask = SkTEndian_SwapBE16(1 << 3);
-            static const SK_OT_USHORT StrikeoutMask = SkTEndian_SwapBE16(1 << 4);
-            static const SK_OT_USHORT BoldMask = SkTEndian_SwapBE16(1 << 5);
-            static const SK_OT_USHORT RegularMask = SkTEndian_SwapBE16(1 << 6);
-            SK_OT_USHORT value;
-        } raw;
-    } fsSelection;
-    SK_OT_USHORT usFirstCharIndex;
-    SK_OT_USHORT usLastCharIndex;
-    //version0
-    SK_OT_SHORT sTypoAscender;
-    SK_OT_SHORT sTypoDescender;
-    SK_OT_SHORT sTypoLineGap;
-    SK_OT_USHORT usWinAscent;
-    SK_OT_USHORT usWinDescent;
-    //version1
-    union CodePageRange {
-        struct Field {
-            //l0 24-31
-            SK_OT_BYTE_BITFIELD(
-                Reserved24,
-                Reserved25,
-                Reserved26,
-                Reserved27,
-                Reserved28,
-                MacintoshCharacterSet,
-                OEMCharacterSet,
-                SymbolCharacterSet)
-            //l0 16-23
-            SK_OT_BYTE_BITFIELD(
-                Thai_874,
-                JISJapan_932,
-                ChineseSimplified_936,
-                KoreanWansung_949,
-                ChineseTraditional_950,
-                KoreanJohab_1361,
-                Reserved22,
-                Reserved23)
-            //l0 8-15
-            SK_OT_BYTE_BITFIELD(
-                Vietnamese,
-                Reserved09,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //l0 0-7
-            SK_OT_BYTE_BITFIELD(
-                Latin1_1252,
-                Latin2EasternEurope_1250,
-                Cyrillic_1251,
-                Greek_1253,
-                Turkish_1254,
-                Hebrew_1255,
-                Arabic_1256,
-                WindowsBaltic_1257)
-
-            //l1 24-31
-            SK_OT_BYTE_BITFIELD(
-                IBMTurkish_857,
-                IBMCyrillic_855,
-                Latin2_852,
-                MSDOSBaltic_775,
-                Greek_737,
-                Arabic_708,
-                WELatin1_850,
-                US_437)
-            //l1 16-23
-            SK_OT_BYTE_BITFIELD(
-                IBMGreek_869,
-                MSDOSRussian_866,
-                MSDOSNordic_865,
-                Arabic_864,
-                MSDOSCanadianFrench_863,
-                Hebrew_862,
-                MSDOSIcelandic_861,
-                MSDOSPortuguese_860)
-            //l1 8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved40,
-                Reserved41,
-                Reserved42,
-                Reserved43,
-                Reserved44,
-                Reserved45,
-                Reserved46,
-                Reserved47)
-            //l1 0-7
-            SK_OT_BYTE_BITFIELD(
-                Reserved32,
-                Reserved33,
-                Reserved34,
-                Reserved35,
-                Reserved36,
-                Reserved37,
-                Reserved38,
-                Reserved39)
-        } field;
-        struct Raw {
-            struct l0 {
-                static const SK_OT_ULONG Latin1_1252Mask = SkTEndian_SwapBE32(1 << 0);
-                static const SK_OT_ULONG Latin2EasternEurope_1250Mask = SkTEndian_SwapBE32(1 << 1);
-                static const SK_OT_ULONG Cyrillic_1251Mask = SkTEndian_SwapBE32(1 << 2);
-                static const SK_OT_ULONG Greek_1253Mask = SkTEndian_SwapBE32(1 << 3);
-                static const SK_OT_ULONG Turkish_1254Mask = SkTEndian_SwapBE32(1 << 4);
-                static const SK_OT_ULONG Hebrew_1255Mask = SkTEndian_SwapBE32(1 << 5);
-                static const SK_OT_ULONG Arabic_1256Mask = SkTEndian_SwapBE32(1 << 6);
-                static const SK_OT_ULONG WindowsBaltic_1257Mask = SkTEndian_SwapBE32(1 << 7);
-                static const SK_OT_ULONG Vietnamese_1258Mask = SkTEndian_SwapBE32(1 << 8);
-                static const SK_OT_ULONG Thai_874Mask = SkTEndian_SwapBE32(1 << 16);
-                static const SK_OT_ULONG JISJapan_932Mask = SkTEndian_SwapBE32(1 << 17);
-                static const SK_OT_ULONG ChineseSimplified_936Mask = SkTEndian_SwapBE32(1 << 18);
-                static const SK_OT_ULONG KoreanWansung_949Mask = SkTEndian_SwapBE32(1 << 19);
-                static const SK_OT_ULONG ChineseTraditional_950Mask = SkTEndian_SwapBE32(1 << 20);
-                static const SK_OT_ULONG KoreanJohab_1361Mask = SkTEndian_SwapBE32(1 << 21);
-                static const SK_OT_ULONG MacintoshCharacterSetMask = SkTEndian_SwapBE32(1 << 29);
-                static const SK_OT_ULONG OEMCharacterSetMask = SkTEndian_SwapBE32(1 << 30);
-                static const SK_OT_ULONG SymbolCharacterSetMask = SkTEndian_SwapBE32(1 << 31);
-            };
-            struct l1 {
-                static const SK_OT_ULONG IBMGreek_869Mask = SkTEndian_SwapBE32(1 << (48 - 32));
-                static const SK_OT_ULONG MSDOSRussian_866Mask = SkTEndian_SwapBE32(1 << (49 - 32));
-                static const SK_OT_ULONG MSDOSNordic_865Mask = SkTEndian_SwapBE32(1 << (50 - 32));
-                static const SK_OT_ULONG Arabic_864Mask = SkTEndian_SwapBE32(1 << (51 - 32));
-                static const SK_OT_ULONG MSDOSCanadianFrench_863Mask = SkTEndian_SwapBE32(1 << (52 - 32));
-                static const SK_OT_ULONG Hebrew_862Mask = SkTEndian_SwapBE32(1 << (53 - 32));
-                static const SK_OT_ULONG MSDOSIcelandic_861Mask = SkTEndian_SwapBE32(1 << (54 - 32));
-                static const SK_OT_ULONG MSDOSPortuguese_860Mask = SkTEndian_SwapBE32(1 << (55 - 32));
-                static const SK_OT_ULONG IBMTurkish_857Mask = SkTEndian_SwapBE32(1 << (56 - 32));
-                static const SK_OT_ULONG IBMCyrillic_855Mask = SkTEndian_SwapBE32(1 << (57 - 32));
-                static const SK_OT_ULONG Latin2_852Mask = SkTEndian_SwapBE32(1 << (58 - 32));
-                static const SK_OT_ULONG MSDOSBaltic_775Mask = SkTEndian_SwapBE32(1 << (59 - 32));
-                static const SK_OT_ULONG Greek_737Mask = SkTEndian_SwapBE32(1 << (60 - 32));
-                static const SK_OT_ULONG Arabic_708Mask = SkTEndian_SwapBE32(1 << (61 - 32));
-                static const SK_OT_ULONG WELatin1_850Mask = SkTEndian_SwapBE32(1 << (62 - 32));
-                static const SK_OT_ULONG US_437Mask = SkTEndian_SwapBE32(1 << (63 - 32));
-            };
-            SK_OT_ULONG value[2];
-        } raw;
-    } ulCodePageRange;
-    //version2
-    SK_OT_SHORT sxHeight;
-    SK_OT_SHORT sCapHeight;
-    SK_OT_USHORT usDefaultChar;
-    SK_OT_USHORT usBreakChar;
-    SK_OT_USHORT usMaxContext;
-};
-
-#pragma pack(pop)
-
-
-SK_COMPILE_ASSERT(sizeof(SkOTTableOS2_V2) == 96, sizeof_SkOTTableOS2_V2_not_96);
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkOTTable_OS_2_V3.h
+++ /dev/null
@@ -1,549 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkOTTable_OS_2_V3_DEFINED
-#define SkOTTable_OS_2_V3_DEFINED
-
-#include "SkEndian.h"
-#include "SkIBMFamilyClass.h"
-#include "SkOTTableTypes.h"
-#include "SkPanose.h"
-#include "SkTypedEnum.h"
-
-#pragma pack(push, 1)
-
-struct SkOTTableOS2_V3 {
-    SK_OT_USHORT version;
-    static const SK_OT_USHORT version3 = SkTEndian_SwapBE16(3);
-    SK_OT_SHORT xAvgCharWidth;
-    struct WeightClass {
-        SK_TYPED_ENUM(Value, SK_OT_USHORT,
-            ((Thin, SkTEndian_SwapBE16(100)))
-            ((ExtraLight, SkTEndian_SwapBE16(200)))
-            ((Light, SkTEndian_SwapBE16(300)))
-            ((Normal, SkTEndian_SwapBE16(400)))
-            ((Medium, SkTEndian_SwapBE16(500)))
-            ((SemiBold, SkTEndian_SwapBE16(600)))
-            ((Bold, SkTEndian_SwapBE16(700)))
-            ((ExtraBold, SkTEndian_SwapBE16(800)))
-            ((Black, SkTEndian_SwapBE16(900)))
-            SK_SEQ_END,
-        SK_SEQ_END)
-        SK_OT_USHORT value;
-    } usWeightClass;
-    struct WidthClass {
-        SK_TYPED_ENUM(Value, SK_OT_USHORT,
-            ((UltraCondensed, SkTEndian_SwapBE16(1)))
-            ((ExtraCondensed, SkTEndian_SwapBE16(2)))
-            ((Condensed, SkTEndian_SwapBE16(3)))
-            ((SemiCondensed, SkTEndian_SwapBE16(4)))
-            ((Medium, SkTEndian_SwapBE16(5)))
-            ((SemiExpanded, SkTEndian_SwapBE16(6)))
-            ((Expanded, SkTEndian_SwapBE16(7)))
-            ((ExtraExpanded, SkTEndian_SwapBE16(8)))
-            ((UltraExpanded, SkTEndian_SwapBE16(9)))
-            SK_SEQ_END,
-        (value)SK_SEQ_END)
-    } usWidthClass;
-    union Type {
-        struct Field {
-            //8-15
-            SK_OT_BYTE_BITFIELD(
-                NoSubsetting,
-                Bitmap,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //0-7
-            SK_OT_BYTE_BITFIELD(
-                Reserved00,
-                Restricted,
-                PreviewPrint,
-                Editable,
-                Reserved04,
-                Reserved05,
-                Reserved06,
-                Reserved07)
-        } field;
-        struct Raw {
-            static const SK_OT_USHORT Installable = SkTEndian_SwapBE16(0);
-            static const SK_OT_USHORT RestrictedMask = SkTEndian_SwapBE16(1 << 1);
-            static const SK_OT_USHORT PreviewPrintMask = SkTEndian_SwapBE16(1 << 2);
-            static const SK_OT_USHORT EditableMask = SkTEndian_SwapBE16(1 << 3);
-            static const SK_OT_USHORT NoSubsettingMask = SkTEndian_SwapBE16(1 << 8);
-            static const SK_OT_USHORT BitmapMask = SkTEndian_SwapBE16(1 << 9);
-            SK_OT_USHORT value;
-        } raw;
-    } fsType;
-    SK_OT_SHORT ySubscriptXSize;
-    SK_OT_SHORT ySubscriptYSize;
-    SK_OT_SHORT ySubscriptXOffset;
-    SK_OT_SHORT ySubscriptYOffset;
-    SK_OT_SHORT ySuperscriptXSize;
-    SK_OT_SHORT ySuperscriptYSize;
-    SK_OT_SHORT ySuperscriptXOffset;
-    SK_OT_SHORT ySuperscriptYOffset;
-    SK_OT_SHORT yStrikeoutSize;
-    SK_OT_SHORT yStrikeoutPosition;
-    SkIBMFamilyClass sFamilyClass;
-    SkPanose panose;
-    union UnicodeRange {
-        struct Field {
-            //l0 24-31
-            SK_OT_BYTE_BITFIELD(
-                Thai,
-                Lao,
-                Georgian,
-                Reserved027,
-                HangulJamo,
-                LatinExtendedAdditional,
-                GreekExtended,
-                GeneralPunctuation)
-            //l0 16-23
-            SK_OT_BYTE_BITFIELD(
-                Bengali,
-                Gurmukhi,
-                Gujarati,
-                Oriya,
-                Tamil,
-                Telugu,
-                Kannada,
-                Malayalam)
-            //l0 8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved008,
-                Cyrillic,
-                Armenian,
-                Hebrew,
-                Reserved012,
-                Arabic,
-                Reserved014,
-                Devanagari)
-            //l0 0-7
-            SK_OT_BYTE_BITFIELD(
-                BasicLatin,
-                Latin1Supplement,
-                LatinExtendedA,
-                LatinExtendedB,
-                IPAExtensions,
-                SpacingModifierLetters,
-                CombiningDiacriticalMarks,
-                GreekAndCoptic)
-
-            //l1 24-31
-            SK_OT_BYTE_BITFIELD(
-                Hangul,
-                NonPlane0,
-                Reserved058,
-                CJKUnifiedIdeographs,
-                PrivateUseArea,
-                CJKCompatibilityIdeographs,
-                AlphabeticPresentationForms,
-                ArabicPresentationFormsA)
-            //l1 16-23
-            SK_OT_BYTE_BITFIELD(
-                CJKSymbolsAndPunctuation,
-                Hiragana,
-                Katakana,
-                Bopomofo,
-                HangulCompatibilityJamo,
-                Reserved053,
-                EnclosedCJKLettersAndMonths,
-                CJKCompatibility)
-            //l1 8-15
-            SK_OT_BYTE_BITFIELD(
-                ControlPictures,
-                OpticalCharacterRecognition,
-                EnclosedAlphanumerics,
-                BoxDrawing,
-                BlockElements,
-                GeometricShapes,
-                MiscellaneousSymbols,
-                Dingbats)
-            //l1 0-7
-            SK_OT_BYTE_BITFIELD(
-                SuperscriptsAndSubscripts,
-                CurrencySymbols,
-                CombiningDiacriticalMarksForSymbols,
-                LetterlikeSymbols,
-                NumberForms,
-                Arrows,
-                MathematicalOperators,
-                MiscellaneousTechnical)
-
-            //l2 24-31
-            SK_OT_BYTE_BITFIELD(
-                MusicalSymbols,
-                MathematicalAlphanumericSymbols,
-                PrivateUse,
-                VariationSelectors,
-                Tags,
-                Reserved093,
-                Reserved094,
-                Reserved095)
-            //l2 16-23
-            SK_OT_BYTE_BITFIELD(
-                Khmer,
-                Mongolian,
-                Braille,
-                Yi,
-                Tagalog_Hanunoo_Buhid_Tagbanwa,
-                OldItalic,
-                Gothic,
-                Deseret)
-            //l2 8-15
-            SK_OT_BYTE_BITFIELD(
-                Thaana,
-                Sinhala,
-                Myanmar,
-                Ethiopic,
-                Cherokee,
-                UnifiedCanadianSyllabics,
-                Ogham,
-                Runic)
-            //l2 0-7
-            SK_OT_BYTE_BITFIELD(
-                CombiningHalfMarks,
-                CJKCompatibilityForms,
-                SmallFormVariants,
-                ArabicPresentationFormsB,
-                HalfwidthAndFullwidthForms,
-                Specials,
-                Tibetan,
-                Syriac)
-
-            //l3 24-31
-            SK_OT_BYTE_BITFIELD(
-                Reserved120,
-                Reserved121,
-                Reserved122,
-                Reserved123,
-                Reserved124,
-                Reserved125,
-                Reserved126,
-                Reserved127)
-            //l3 16-23
-            SK_OT_BYTE_BITFIELD(
-                Reserved112,
-                Reserved113,
-                Reserved114,
-                Reserved115,
-                Reserved116,
-                Reserved117,
-                Reserved118,
-                Reserved119)
-            //l3 8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved104,
-                Reserved105,
-                Reserved106,
-                Reserved107,
-                Reserved108,
-                Reserved109,
-                Reserved110,
-                Reserved111)
-            //l3 0-7
-            SK_OT_BYTE_BITFIELD(
-                Reserved096,
-                Reserved097,
-                Reserved098,
-                Reserved099,
-                Reserved100,
-                Reserved101,
-                Reserved102,
-                Reserved103)
-        } field;
-        struct Raw {
-            struct l0 {
-                static const SK_OT_ULONG BasicLatinMask = SkTEndian_SwapBE32(1 << 0);
-                static const SK_OT_ULONG Latin1SupplementMask = SkTEndian_SwapBE32(1 << 1);
-                static const SK_OT_ULONG LatinExtendedAMask = SkTEndian_SwapBE32(1 << 2);
-                static const SK_OT_ULONG LatinExtendedBMask = SkTEndian_SwapBE32(1 << 3);
-                static const SK_OT_ULONG IPAExtensionsMask = SkTEndian_SwapBE32(1 << 4);
-                static const SK_OT_ULONG SpacingModifierLettersMask = SkTEndian_SwapBE32(1 << 5);
-                static const SK_OT_ULONG CombiningDiacriticalMarksMask = SkTEndian_SwapBE32(1 << 6);
-                static const SK_OT_ULONG GreekAndCopticMask = SkTEndian_SwapBE32(1 << 7);
-                //Reserved
-                static const SK_OT_ULONG CyrillicMask = SkTEndian_SwapBE32(1 << 9);
-                static const SK_OT_ULONG ArmenianMask = SkTEndian_SwapBE32(1 << 10);
-                static const SK_OT_ULONG HebrewMask = SkTEndian_SwapBE32(1 << 11);
-                //Reserved
-                static const SK_OT_ULONG ArabicMask = SkTEndian_SwapBE32(1 << 13);
-                //Reserved
-                static const SK_OT_ULONG DevanagariMask = SkTEndian_SwapBE32(1 << 15);
-                static const SK_OT_ULONG BengaliMask = SkTEndian_SwapBE32(1 << 16);
-                static const SK_OT_ULONG GurmukhiMask = SkTEndian_SwapBE32(1 << 17);
-                static const SK_OT_ULONG GujaratiMask = SkTEndian_SwapBE32(1 << 18);
-                static const SK_OT_ULONG OriyaMask = SkTEndian_SwapBE32(1 << 19);
-                static const SK_OT_ULONG TamilMask = SkTEndian_SwapBE32(1 << 20);
-                static const SK_OT_ULONG TeluguMask = SkTEndian_SwapBE32(1 << 21);
-                static const SK_OT_ULONG KannadaMask = SkTEndian_SwapBE32(1 << 22);
-                static const SK_OT_ULONG MalayalamMask = SkTEndian_SwapBE32(1 << 23);
-                static const SK_OT_ULONG ThaiMask = SkTEndian_SwapBE32(1 << 24);
-                static const SK_OT_ULONG LaoMask = SkTEndian_SwapBE32(1 << 25);
-                static const SK_OT_ULONG GeorgianMask = SkTEndian_SwapBE32(1 << 26);
-                //Reserved
-                static const SK_OT_ULONG HangulJamoMask = SkTEndian_SwapBE32(1 << 28);
-                static const SK_OT_ULONG LatinExtendedAdditionalMask = SkTEndian_SwapBE32(1 << 29);
-                static const SK_OT_ULONG GreekExtendedMask = SkTEndian_SwapBE32(1 << 30);
-                static const SK_OT_ULONG GeneralPunctuationMask = SkTEndian_SwapBE32(1 << 31);
-            };
-            struct l1 {
-                static const SK_OT_ULONG SuperscriptsAndSubscriptsMask = SkTEndian_SwapBE32(1 << (32 - 32));
-                static const SK_OT_ULONG CurrencySymbolsMask = SkTEndian_SwapBE32(1 << (33 - 32));
-                static const SK_OT_ULONG CombiningDiacriticalMarksForSymbolsMask = SkTEndian_SwapBE32(1 << (34 - 32));
-                static const SK_OT_ULONG LetterlikeSymbolsMask = SkTEndian_SwapBE32(1 << (35 - 32));
-                static const SK_OT_ULONG NumberFormsMask = SkTEndian_SwapBE32(1 << (36 - 32));
-                static const SK_OT_ULONG ArrowsMask = SkTEndian_SwapBE32(1 << (37 - 32));
-                static const SK_OT_ULONG MathematicalOperatorsMask = SkTEndian_SwapBE32(1 << (38 - 32));
-                static const SK_OT_ULONG MiscellaneousTechnicalMask = SkTEndian_SwapBE32(1 << (39 - 32));
-                static const SK_OT_ULONG ControlPicturesMask = SkTEndian_SwapBE32(1 << (40 - 32));
-                static const SK_OT_ULONG OpticalCharacterRecognitionMask = SkTEndian_SwapBE32(1 << (41 - 32));
-                static const SK_OT_ULONG EnclosedAlphanumericsMask = SkTEndian_SwapBE32(1 << (42 - 32));
-                static const SK_OT_ULONG BoxDrawingMask = SkTEndian_SwapBE32(1 << (43 - 32));
-                static const SK_OT_ULONG BlockElementsMask = SkTEndian_SwapBE32(1 << (44 - 32));
-                static const SK_OT_ULONG GeometricShapesMask = SkTEndian_SwapBE32(1 << (45 - 32));
-                static const SK_OT_ULONG MiscellaneousSymbolsMask = SkTEndian_SwapBE32(1 << (46 - 32));
-                static const SK_OT_ULONG DingbatsMask = SkTEndian_SwapBE32(1 << (47 - 32));
-                static const SK_OT_ULONG CJKSymbolsAndPunctuationMask = SkTEndian_SwapBE32(1 << (48 - 32));
-                static const SK_OT_ULONG HiraganaMask = SkTEndian_SwapBE32(1 << (49 - 32));
-                static const SK_OT_ULONG KatakanaMask = SkTEndian_SwapBE32(1 << (50 - 32));
-                static const SK_OT_ULONG BopomofoMask = SkTEndian_SwapBE32(1 << (51 - 32));
-                static const SK_OT_ULONG HangulCompatibilityJamoMask = SkTEndian_SwapBE32(1 << (52 - 32));
-                //Reserved
-                static const SK_OT_ULONG EnclosedCJKLettersAndMonthsMask = SkTEndian_SwapBE32(1 << (54 - 32));
-                static const SK_OT_ULONG CJKCompatibilityMask = SkTEndian_SwapBE32(1 << (55 - 32));
-                static const SK_OT_ULONG HangulMask = SkTEndian_SwapBE32(1 << (56 - 32));
-                static const SK_OT_ULONG NonPlane0Mask = SkTEndian_SwapBE32(1 << (57 - 32));
-                //Reserved
-                static const SK_OT_ULONG CJKUnifiedIdeographsMask = SkTEndian_SwapBE32(1 << (59 - 32));
-                static const SK_OT_ULONG PrivateUseAreaMask = SkTEndian_SwapBE32(1 << (60 - 32));
-                static const SK_OT_ULONG CJKCompatibilityIdeographsMask = SkTEndian_SwapBE32(1 << (61 - 32));
-                static const SK_OT_ULONG AlphabeticPresentationFormsMask = SkTEndian_SwapBE32(1 << (62 - 32));
-                static const SK_OT_ULONG ArabicPresentationFormsAMask = SkTEndian_SwapBE32(1 << (63 - 32));
-            };
-            struct l2 {
-                static const SK_OT_ULONG CombiningHalfMarksMask = SkTEndian_SwapBE32(1 << (64 - 64));
-                static const SK_OT_ULONG CJKCompatibilityFormsMask = SkTEndian_SwapBE32(1 << (65 - 64));
-                static const SK_OT_ULONG SmallFormVariantsMask = SkTEndian_SwapBE32(1 << (66 - 64));
-                static const SK_OT_ULONG ArabicPresentationFormsBMask = SkTEndian_SwapBE32(1 << (67 - 64));
-                static const SK_OT_ULONG HalfwidthAndFullwidthFormsMask = SkTEndian_SwapBE32(1 << (68 - 64));
-                static const SK_OT_ULONG SpecialsMask = SkTEndian_SwapBE32(1 << (69 - 64));
-                static const SK_OT_ULONG TibetanMask = SkTEndian_SwapBE32(1 << (70 - 64));
-                static const SK_OT_ULONG SyriacMask = SkTEndian_SwapBE32(1 << (71 - 64));
-                static const SK_OT_ULONG ThaanaMask = SkTEndian_SwapBE32(1 << (72 - 64));
-                static const SK_OT_ULONG SinhalaMask = SkTEndian_SwapBE32(1 << (73 - 64));
-                static const SK_OT_ULONG MyanmarMask = SkTEndian_SwapBE32(1 << (74 - 64));
-                static const SK_OT_ULONG EthiopicMask = SkTEndian_SwapBE32(1 << (75 - 64));
-                static const SK_OT_ULONG CherokeeMask = SkTEndian_SwapBE32(1 << (76 - 64));
-                static const SK_OT_ULONG UnifiedCanadianSyllabicsMask = SkTEndian_SwapBE32(1 << (77 - 64));
-                static const SK_OT_ULONG OghamMask = SkTEndian_SwapBE32(1 << (78 - 64));
-                static const SK_OT_ULONG RunicMask = SkTEndian_SwapBE32(1 << (79 - 64));
-                static const SK_OT_ULONG KhmerMask = SkTEndian_SwapBE32(1 << (80 - 64));
-                static const SK_OT_ULONG MongolianMask = SkTEndian_SwapBE32(1 << (81 - 64));
-                static const SK_OT_ULONG BrailleMask = SkTEndian_SwapBE32(1 << (82 - 64));
-                static const SK_OT_ULONG YiMask = SkTEndian_SwapBE32(1 << (83 - 64));
-                static const SK_OT_ULONG Tagalog_Hanunoo_Buhid_TagbanwaMask = SkTEndian_SwapBE32(1 << (84 - 64));
-                static const SK_OT_ULONG OldItalicMask = SkTEndian_SwapBE32(1 << (85 - 64));
-                static const SK_OT_ULONG GothicMask = SkTEndian_SwapBE32(1 << (86 - 64));
-                static const SK_OT_ULONG DeseretMask = SkTEndian_SwapBE32(1 << (87 - 64));
-                static const SK_OT_ULONG MusicalSymbolsMask = SkTEndian_SwapBE32(1 << (88 - 64));
-                static const SK_OT_ULONG MathematicalAlphanumericSymbolsMask = SkTEndian_SwapBE32(1 << (89 - 64));
-                static const SK_OT_ULONG PrivateUseMask = SkTEndian_SwapBE32(1 << (90 - 64));
-                static const SK_OT_ULONG VariationSelectorsMask = SkTEndian_SwapBE32(1 << (91 - 64));
-                static const SK_OT_ULONG TagsMask = SkTEndian_SwapBE32(1 << (92 - 64));
-            };
-            SK_OT_ULONG value[4];
-        } raw;
-    } ulUnicodeRange;
-    SK_OT_CHAR achVendID[4];
-    union Selection {
-        struct Field {
-            //8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved08,
-                Reserved09,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //0-7
-            SK_OT_BYTE_BITFIELD(
-                Italic,
-                Underscore,
-                Negative,
-                Outlined,
-                Strikeout,
-                Bold,
-                Regular,
-                Reserved07)
-        } field;
-        struct Raw {
-            static const SK_OT_USHORT ItalicMask = SkTEndian_SwapBE16(1 << 0);
-            static const SK_OT_USHORT UnderscoreMask = SkTEndian_SwapBE16(1 << 1);
-            static const SK_OT_USHORT NegativeMask = SkTEndian_SwapBE16(1 << 2);
-            static const SK_OT_USHORT OutlinedMask = SkTEndian_SwapBE16(1 << 3);
-            static const SK_OT_USHORT StrikeoutMask = SkTEndian_SwapBE16(1 << 4);
-            static const SK_OT_USHORT BoldMask = SkTEndian_SwapBE16(1 << 5);
-            static const SK_OT_USHORT RegularMask = SkTEndian_SwapBE16(1 << 6);
-            SK_OT_USHORT value;
-        } raw;
-    } fsSelection;
-    SK_OT_USHORT usFirstCharIndex;
-    SK_OT_USHORT usLastCharIndex;
-    //version0
-    SK_OT_SHORT sTypoAscender;
-    SK_OT_SHORT sTypoDescender;
-    SK_OT_SHORT sTypoLineGap;
-    SK_OT_USHORT usWinAscent;
-    SK_OT_USHORT usWinDescent;
-    //version1
-    union CodePageRange {
-        struct Field {
-            //l0 24-31
-            SK_OT_BYTE_BITFIELD(
-                Reserved24,
-                Reserved25,
-                Reserved26,
-                Reserved27,
-                Reserved28,
-                MacintoshCharacterSet,
-                OEMCharacterSet,
-                SymbolCharacterSet)
-            //l0 16-23
-            SK_OT_BYTE_BITFIELD(
-                Thai_874,
-                JISJapan_932,
-                ChineseSimplified_936,
-                KoreanWansung_949,
-                ChineseTraditional_950,
-                KoreanJohab_1361,
-                Reserved22,
-                Reserved23)
-            //l0 8-15
-            SK_OT_BYTE_BITFIELD(
-                Vietnamese,
-                Reserved09,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //l0 0-7
-            SK_OT_BYTE_BITFIELD(
-                Latin1_1252,
-                Latin2EasternEurope_1250,
-                Cyrillic_1251,
-                Greek_1253,
-                Turkish_1254,
-                Hebrew_1255,
-                Arabic_1256,
-                WindowsBaltic_1257)
-
-            //l1 24-31
-            SK_OT_BYTE_BITFIELD(
-                IBMTurkish_857,
-                IBMCyrillic_855,
-                Latin2_852,
-                MSDOSBaltic_775,
-                Greek_737,
-                Arabic_708,
-                WELatin1_850,
-                US_437)
-            //l1 16-23
-            SK_OT_BYTE_BITFIELD(
-                IBMGreek_869,
-                MSDOSRussian_866,
-                MSDOSNordic_865,
-                Arabic_864,
-                MSDOSCanadianFrench_863,
-                Hebrew_862,
-                MSDOSIcelandic_861,
-                MSDOSPortuguese_860)
-            //l1 8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved40,
-                Reserved41,
-                Reserved42,
-                Reserved43,
-                Reserved44,
-                Reserved45,
-                Reserved46,
-                Reserved47)
-            //l1 0-7
-            SK_OT_BYTE_BITFIELD(
-                Reserved32,
-                Reserved33,
-                Reserved34,
-                Reserved35,
-                Reserved36,
-                Reserved37,
-                Reserved38,
-                Reserved39)
-        } field;
-        struct Raw {
-            struct l0 {
-                static const SK_OT_ULONG Latin1_1252Mask = SkTEndian_SwapBE32(1 << 0);
-                static const SK_OT_ULONG Latin2EasternEurope_1250Mask = SkTEndian_SwapBE32(1 << 1);
-                static const SK_OT_ULONG Cyrillic_1251Mask = SkTEndian_SwapBE32(1 << 2);
-                static const SK_OT_ULONG Greek_1253Mask = SkTEndian_SwapBE32(1 << 3);
-                static const SK_OT_ULONG Turkish_1254Mask = SkTEndian_SwapBE32(1 << 4);
-                static const SK_OT_ULONG Hebrew_1255Mask = SkTEndian_SwapBE32(1 << 5);
-                static const SK_OT_ULONG Arabic_1256Mask = SkTEndian_SwapBE32(1 << 6);
-                static const SK_OT_ULONG WindowsBaltic_1257Mask = SkTEndian_SwapBE32(1 << 7);
-                static const SK_OT_ULONG Vietnamese_1258Mask = SkTEndian_SwapBE32(1 << 8);
-                static const SK_OT_ULONG Thai_874Mask = SkTEndian_SwapBE32(1 << 16);
-                static const SK_OT_ULONG JISJapan_932Mask = SkTEndian_SwapBE32(1 << 17);
-                static const SK_OT_ULONG ChineseSimplified_936Mask = SkTEndian_SwapBE32(1 << 18);
-                static const SK_OT_ULONG KoreanWansung_949Mask = SkTEndian_SwapBE32(1 << 19);
-                static const SK_OT_ULONG ChineseTraditional_950Mask = SkTEndian_SwapBE32(1 << 20);
-                static const SK_OT_ULONG KoreanJohab_1361Mask = SkTEndian_SwapBE32(1 << 21);
-                static const SK_OT_ULONG MacintoshCharacterSetMask = SkTEndian_SwapBE32(1 << 29);
-                static const SK_OT_ULONG OEMCharacterSetMask = SkTEndian_SwapBE32(1 << 30);
-                static const SK_OT_ULONG SymbolCharacterSetMask = SkTEndian_SwapBE32(1 << 31);
-            };
-            struct l1 {
-                static const SK_OT_ULONG IBMGreek_869Mask = SkTEndian_SwapBE32(1 << (48 - 32));
-                static const SK_OT_ULONG MSDOSRussian_866Mask = SkTEndian_SwapBE32(1 << (49 - 32));
-                static const SK_OT_ULONG MSDOSNordic_865Mask = SkTEndian_SwapBE32(1 << (50 - 32));
-                static const SK_OT_ULONG Arabic_864Mask = SkTEndian_SwapBE32(1 << (51 - 32));
-                static const SK_OT_ULONG MSDOSCanadianFrench_863Mask = SkTEndian_SwapBE32(1 << (52 - 32));
-                static const SK_OT_ULONG Hebrew_862Mask = SkTEndian_SwapBE32(1 << (53 - 32));
-                static const SK_OT_ULONG MSDOSIcelandic_861Mask = SkTEndian_SwapBE32(1 << (54 - 32));
-                static const SK_OT_ULONG MSDOSPortuguese_860Mask = SkTEndian_SwapBE32(1 << (55 - 32));
-                static const SK_OT_ULONG IBMTurkish_857Mask = SkTEndian_SwapBE32(1 << (56 - 32));
-                static const SK_OT_ULONG IBMCyrillic_855Mask = SkTEndian_SwapBE32(1 << (57 - 32));
-                static const SK_OT_ULONG Latin2_852Mask = SkTEndian_SwapBE32(1 << (58 - 32));
-                static const SK_OT_ULONG MSDOSBaltic_775Mask = SkTEndian_SwapBE32(1 << (59 - 32));
-                static const SK_OT_ULONG Greek_737Mask = SkTEndian_SwapBE32(1 << (60 - 32));
-                static const SK_OT_ULONG Arabic_708Mask = SkTEndian_SwapBE32(1 << (61 - 32));
-                static const SK_OT_ULONG WELatin1_850Mask = SkTEndian_SwapBE32(1 << (62 - 32));
-                static const SK_OT_ULONG US_437Mask = SkTEndian_SwapBE32(1 << (63 - 32));
-            };
-            SK_OT_ULONG value[2];
-        } raw;
-    } ulCodePageRange;
-    //version2
-    SK_OT_SHORT sxHeight;
-    SK_OT_SHORT sCapHeight;
-    SK_OT_USHORT usDefaultChar;
-    SK_OT_USHORT usBreakChar;
-    SK_OT_USHORT usMaxContext;
-};
-
-#pragma pack(pop)
-
-
-SK_COMPILE_ASSERT(sizeof(SkOTTableOS2_V3) == 96, sizeof_SkOTTableOS2_V3_not_96);
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkOTTable_OS_2_V4.h
+++ /dev/null
@@ -1,584 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkOTTable_OS_2_V4_DEFINED
-#define SkOTTable_OS_2_V4_DEFINED
-
-#include "SkEndian.h"
-#include "SkIBMFamilyClass.h"
-#include "SkOTTableTypes.h"
-#include "SkPanose.h"
-#include "SkTypedEnum.h"
-
-#pragma pack(push, 1)
-
-struct SkOTTableOS2_V4 {
-    SK_OT_USHORT version;
-    static const SK_OT_USHORT version4 = SkTEndian_SwapBE16(4);
-    SK_OT_SHORT xAvgCharWidth;
-    struct WeightClass {
-        SK_TYPED_ENUM(Value, SK_OT_USHORT,
-            ((Thin, SkTEndian_SwapBE16(100)))
-            ((ExtraLight, SkTEndian_SwapBE16(200)))
-            ((Light, SkTEndian_SwapBE16(300)))
-            ((Normal, SkTEndian_SwapBE16(400)))
-            ((Medium, SkTEndian_SwapBE16(500)))
-            ((SemiBold, SkTEndian_SwapBE16(600)))
-            ((Bold, SkTEndian_SwapBE16(700)))
-            ((ExtraBold, SkTEndian_SwapBE16(800)))
-            ((Black, SkTEndian_SwapBE16(900)))
-            SK_SEQ_END,
-        SK_SEQ_END)
-        SK_OT_USHORT value;
-    } usWeightClass;
-    struct WidthClass {
-        SK_TYPED_ENUM(Value, SK_OT_USHORT,
-            ((UltraCondensed, SkTEndian_SwapBE16(1)))
-            ((ExtraCondensed, SkTEndian_SwapBE16(2)))
-            ((Condensed, SkTEndian_SwapBE16(3)))
-            ((SemiCondensed, SkTEndian_SwapBE16(4)))
-            ((Medium, SkTEndian_SwapBE16(5)))
-            ((SemiExpanded, SkTEndian_SwapBE16(6)))
-            ((Expanded, SkTEndian_SwapBE16(7)))
-            ((ExtraExpanded, SkTEndian_SwapBE16(8)))
-            ((UltraExpanded, SkTEndian_SwapBE16(9)))
-            SK_SEQ_END,
-        (value)SK_SEQ_END)
-    } usWidthClass;
-    union Type {
-        struct Field {
-            //8-15
-            SK_OT_BYTE_BITFIELD(
-                NoSubsetting,
-                Bitmap,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //0-7
-            SK_OT_BYTE_BITFIELD(
-                Reserved00,
-                Restricted,
-                PreviewPrint,
-                Editable,
-                Reserved04,
-                Reserved05,
-                Reserved06,
-                Reserved07)
-        } field;
-        struct Raw {
-            static const SK_OT_USHORT Installable = SkTEndian_SwapBE16(0);
-            static const SK_OT_USHORT RestrictedMask = SkTEndian_SwapBE16(1 << 1);
-            static const SK_OT_USHORT PreviewPrintMask = SkTEndian_SwapBE16(1 << 2);
-            static const SK_OT_USHORT EditableMask = SkTEndian_SwapBE16(1 << 3);
-            static const SK_OT_USHORT NoSubsettingMask = SkTEndian_SwapBE16(1 << 8);
-            static const SK_OT_USHORT BitmapMask = SkTEndian_SwapBE16(1 << 9);
-            SK_OT_USHORT value;
-        } raw;
-    } fsType;
-    SK_OT_SHORT ySubscriptXSize;
-    SK_OT_SHORT ySubscriptYSize;
-    SK_OT_SHORT ySubscriptXOffset;
-    SK_OT_SHORT ySubscriptYOffset;
-    SK_OT_SHORT ySuperscriptXSize;
-    SK_OT_SHORT ySuperscriptYSize;
-    SK_OT_SHORT ySuperscriptXOffset;
-    SK_OT_SHORT ySuperscriptYOffset;
-    SK_OT_SHORT yStrikeoutSize;
-    SK_OT_SHORT yStrikeoutPosition;
-    SkIBMFamilyClass sFamilyClass;
-    SkPanose panose;
-    union UnicodeRange {
-        struct Field {
-            //l0 24-31
-            SK_OT_BYTE_BITFIELD(
-                Thai,
-                Lao,
-                Georgian,
-                Balinese,
-                HangulJamo,
-                LatinExtendedAdditional,
-                GreekExtended,
-                GeneralPunctuation)
-            //l0 16-23
-            SK_OT_BYTE_BITFIELD(
-                Bengali,
-                Gurmukhi,
-                Gujarati,
-                Oriya,
-                Tamil,
-                Telugu,
-                Kannada,
-                Malayalam)
-            //l0 8-15
-            SK_OT_BYTE_BITFIELD(
-                Coptic,
-                Cyrillic,
-                Armenian,
-                Hebrew,
-                Vai,
-                Arabic,
-                NKo,
-                Devanagari)
-            //l0 0-7
-            SK_OT_BYTE_BITFIELD(
-                BasicLatin,
-                Latin1Supplement,
-                LatinExtendedA,
-                LatinExtendedB,
-                IPAExtensions,
-                SpacingModifierLetters,
-                CombiningDiacriticalMarks,
-                GreekAndCoptic)
-
-            //l1 24-31
-            SK_OT_BYTE_BITFIELD(
-                Hangul,
-                NonPlane0,
-                Phoenician,
-                CJKUnifiedIdeographs,
-                PrivateUseArea,
-                CJKCompatibilityIdeographs,
-                AlphabeticPresentationForms,
-                ArabicPresentationFormsA)
-            //l1 16-23
-            SK_OT_BYTE_BITFIELD(
-                CJKSymbolsAndPunctuation,
-                Hiragana,
-                Katakana,
-                Bopomofo,
-                HangulCompatibilityJamo,
-                PhagsPa,
-                EnclosedCJKLettersAndMonths,
-                CJKCompatibility)
-            //l1 8-15
-            SK_OT_BYTE_BITFIELD(
-                ControlPictures,
-                OpticalCharacterRecognition,
-                EnclosedAlphanumerics,
-                BoxDrawing,
-                BlockElements,
-                GeometricShapes,
-                MiscellaneousSymbols,
-                Dingbats)
-            //l1 0-7
-            SK_OT_BYTE_BITFIELD(
-                SuperscriptsAndSubscripts,
-                CurrencySymbols,
-                CombiningDiacriticalMarksForSymbols,
-                LetterlikeSymbols,
-                NumberForms,
-                Arrows,
-                MathematicalOperators,
-                MiscellaneousTechnical)
-
-            //l2 24-31
-            SK_OT_BYTE_BITFIELD(
-                MusicalSymbols,
-                MathematicalAlphanumericSymbols,
-                PrivateUse,
-                VariationSelectors,
-                Tags,
-                Limbu,
-                TaiLe,
-                NewTaiLue)
-            //l2 16-23
-            SK_OT_BYTE_BITFIELD(
-                Khmer,
-                Mongolian,
-                Braille,
-                Yi,
-                Tagalog_Hanunoo_Buhid_Tagbanwa,
-                OldItalic,
-                Gothic,
-                Deseret)
-            //l2 8-15
-            SK_OT_BYTE_BITFIELD(
-                Thaana,
-                Sinhala,
-                Myanmar,
-                Ethiopic,
-                Cherokee,
-                UnifiedCanadianSyllabics,
-                Ogham,
-                Runic)
-            //l2 0-7
-            SK_OT_BYTE_BITFIELD(
-                CombiningHalfMarks,
-                CJKCompatibilityForms,
-                SmallFormVariants,
-                ArabicPresentationFormsB,
-                HalfwidthAndFullwidthForms,
-                Specials,
-                Tibetan,
-                Syriac)
-
-            //l3 24-31
-            SK_OT_BYTE_BITFIELD(
-                PhaistosDisc,
-                Carian_Lycian_Lydian,
-                DominoTiles_MahjongTiles,
-                Reserved123,
-                Reserved124,
-                Reserved125,
-                Reserved126,
-                Reserved127)
-            //l3 16-23
-            SK_OT_BYTE_BITFIELD(
-                Sundanese,
-                Lepcha,
-                OlChiki,
-                Saurashtra,
-                KayahLi,
-                Rejang,
-                Cham,
-                AncientSymbols)
-            //l3 8-15
-            SK_OT_BYTE_BITFIELD(
-                OldPersian,
-                Shavian,
-                Osmanya,
-                CypriotSyllabary,
-                Kharoshthi,
-                TaiXuanJingSymbols,
-                Cuneiform,
-                CountingRodNumerals)
-            //l3 0-7
-            SK_OT_BYTE_BITFIELD(
-                Buginese,
-                Glagolitic,
-                Tifinagh,
-                YijingHexagramSymbols,
-                SylotiNagri,
-                LinearB_AegeanNumbers,
-                AncientGreekNumbers,
-                Ugaritic)
-        } field;
-        struct Raw {
-            struct l0 {
-                static const SK_OT_ULONG BasicLatinMask = SkTEndian_SwapBE32(1 << 0);
-                static const SK_OT_ULONG Latin1SupplementMask = SkTEndian_SwapBE32(1 << 1);
-                static const SK_OT_ULONG LatinExtendedAMask = SkTEndian_SwapBE32(1 << 2);
-                static const SK_OT_ULONG LatinExtendedBMask = SkTEndian_SwapBE32(1 << 3);
-                static const SK_OT_ULONG IPAExtensionsMask = SkTEndian_SwapBE32(1 << 4);
-                static const SK_OT_ULONG SpacingModifierLettersMask = SkTEndian_SwapBE32(1 << 5);
-                static const SK_OT_ULONG CombiningDiacriticalMarksMask = SkTEndian_SwapBE32(1 << 6);
-                static const SK_OT_ULONG GreekAndCopticMask = SkTEndian_SwapBE32(1 << 7);
-                static const SK_OT_ULONG CopticMask = SkTEndian_SwapBE32(1 << 8);
-                static const SK_OT_ULONG CyrillicMask = SkTEndian_SwapBE32(1 << 9);
-                static const SK_OT_ULONG ArmenianMask = SkTEndian_SwapBE32(1 << 10);
-                static const SK_OT_ULONG HebrewMask = SkTEndian_SwapBE32(1 << 11);
-                static const SK_OT_ULONG VaiMask = SkTEndian_SwapBE32(1 << 12);
-                static const SK_OT_ULONG ArabicMask = SkTEndian_SwapBE32(1 << 13);
-                static const SK_OT_ULONG NKoMask = SkTEndian_SwapBE32(1 << 14);
-                static const SK_OT_ULONG DevanagariMask = SkTEndian_SwapBE32(1 << 15);
-                static const SK_OT_ULONG BengaliMask = SkTEndian_SwapBE32(1 << 16);
-                static const SK_OT_ULONG GurmukhiMask = SkTEndian_SwapBE32(1 << 17);
-                static const SK_OT_ULONG GujaratiMask = SkTEndian_SwapBE32(1 << 18);
-                static const SK_OT_ULONG OriyaMask = SkTEndian_SwapBE32(1 << 19);
-                static const SK_OT_ULONG TamilMask = SkTEndian_SwapBE32(1 << 20);
-                static const SK_OT_ULONG TeluguMask = SkTEndian_SwapBE32(1 << 21);
-                static const SK_OT_ULONG KannadaMask = SkTEndian_SwapBE32(1 << 22);
-                static const SK_OT_ULONG MalayalamMask = SkTEndian_SwapBE32(1 << 23);
-                static const SK_OT_ULONG ThaiMask = SkTEndian_SwapBE32(1 << 24);
-                static const SK_OT_ULONG LaoMask = SkTEndian_SwapBE32(1 << 25);
-                static const SK_OT_ULONG GeorgianMask = SkTEndian_SwapBE32(1 << 26);
-                static const SK_OT_ULONG BalineseMask = SkTEndian_SwapBE32(1 << 27);
-                static const SK_OT_ULONG HangulJamoMask = SkTEndian_SwapBE32(1 << 28);
-                static const SK_OT_ULONG LatinExtendedAdditionalMask = SkTEndian_SwapBE32(1 << 29);
-                static const SK_OT_ULONG GreekExtendedMask = SkTEndian_SwapBE32(1 << 30);
-                static const SK_OT_ULONG GeneralPunctuationMask = SkTEndian_SwapBE32(1 << 31);
-            };
-            struct l1 {
-                static const SK_OT_ULONG SuperscriptsAndSubscriptsMask = SkTEndian_SwapBE32(1 << (32 - 32));
-                static const SK_OT_ULONG CurrencySymbolsMask = SkTEndian_SwapBE32(1 << (33 - 32));
-                static const SK_OT_ULONG CombiningDiacriticalMarksForSymbolsMask = SkTEndian_SwapBE32(1 << (34 - 32));
-                static const SK_OT_ULONG LetterlikeSymbolsMask = SkTEndian_SwapBE32(1 << (35 - 32));
-                static const SK_OT_ULONG NumberFormsMask = SkTEndian_SwapBE32(1 << (36 - 32));
-                static const SK_OT_ULONG ArrowsMask = SkTEndian_SwapBE32(1 << (37 - 32));
-                static const SK_OT_ULONG MathematicalOperatorsMask = SkTEndian_SwapBE32(1 << (38 - 32));
-                static const SK_OT_ULONG MiscellaneousTechnicalMask = SkTEndian_SwapBE32(1 << (39 - 32));
-                static const SK_OT_ULONG ControlPicturesMask = SkTEndian_SwapBE32(1 << (40 - 32));
-                static const SK_OT_ULONG OpticalCharacterRecognitionMask = SkTEndian_SwapBE32(1 << (41 - 32));
-                static const SK_OT_ULONG EnclosedAlphanumericsMask = SkTEndian_SwapBE32(1 << (42 - 32));
-                static const SK_OT_ULONG BoxDrawingMask = SkTEndian_SwapBE32(1 << (43 - 32));
-                static const SK_OT_ULONG BlockElementsMask = SkTEndian_SwapBE32(1 << (44 - 32));
-                static const SK_OT_ULONG GeometricShapesMask = SkTEndian_SwapBE32(1 << (45 - 32));
-                static const SK_OT_ULONG MiscellaneousSymbolsMask = SkTEndian_SwapBE32(1 << (46 - 32));
-                static const SK_OT_ULONG DingbatsMask = SkTEndian_SwapBE32(1 << (47 - 32));
-                static const SK_OT_ULONG CJKSymbolsAndPunctuationMask = SkTEndian_SwapBE32(1 << (48 - 32));
-                static const SK_OT_ULONG HiraganaMask = SkTEndian_SwapBE32(1 << (49 - 32));
-                static const SK_OT_ULONG KatakanaMask = SkTEndian_SwapBE32(1 << (50 - 32));
-                static const SK_OT_ULONG BopomofoMask = SkTEndian_SwapBE32(1 << (51 - 32));
-                static const SK_OT_ULONG HangulCompatibilityJamoMask = SkTEndian_SwapBE32(1 << (52 - 32));
-                static const SK_OT_ULONG PhagsPaMask = SkTEndian_SwapBE32(1 << (53 - 32));
-                static const SK_OT_ULONG EnclosedCJKLettersAndMonthsMask = SkTEndian_SwapBE32(1 << (54 - 32));
-                static const SK_OT_ULONG CJKCompatibilityMask = SkTEndian_SwapBE32(1 << (55 - 32));
-                static const SK_OT_ULONG HangulMask = SkTEndian_SwapBE32(1 << (56 - 32));
-                static const SK_OT_ULONG NonPlane0Mask = SkTEndian_SwapBE32(1 << (57 - 32));
-                static const SK_OT_ULONG PhoenicianMask = SkTEndian_SwapBE32(1 << (58 - 32));
-                static const SK_OT_ULONG CJKUnifiedIdeographsMask = SkTEndian_SwapBE32(1 << (59 - 32));
-                static const SK_OT_ULONG PrivateUseAreaMask = SkTEndian_SwapBE32(1 << (60 - 32));
-                static const SK_OT_ULONG CJKCompatibilityIdeographsMask = SkTEndian_SwapBE32(1 << (61 - 32));
-                static const SK_OT_ULONG AlphabeticPresentationFormsMask = SkTEndian_SwapBE32(1 << (62 - 32));
-                static const SK_OT_ULONG ArabicPresentationFormsAMask = SkTEndian_SwapBE32(1 << (63 - 32));
-            };
-            struct l2 {
-                static const SK_OT_ULONG CombiningHalfMarksMask = SkTEndian_SwapBE32(1 << (64 - 64));
-                static const SK_OT_ULONG CJKCompatibilityFormsMask = SkTEndian_SwapBE32(1 << (65 - 64));
-                static const SK_OT_ULONG SmallFormVariantsMask = SkTEndian_SwapBE32(1 << (66 - 64));
-                static const SK_OT_ULONG ArabicPresentationFormsBMask = SkTEndian_SwapBE32(1 << (67 - 64));
-                static const SK_OT_ULONG HalfwidthAndFullwidthFormsMask = SkTEndian_SwapBE32(1 << (68 - 64));
-                static const SK_OT_ULONG SpecialsMask = SkTEndian_SwapBE32(1 << (69 - 64));
-                static const SK_OT_ULONG TibetanMask = SkTEndian_SwapBE32(1 << (70 - 64));
-                static const SK_OT_ULONG SyriacMask = SkTEndian_SwapBE32(1 << (71 - 64));
-                static const SK_OT_ULONG ThaanaMask = SkTEndian_SwapBE32(1 << (72 - 64));
-                static const SK_OT_ULONG SinhalaMask = SkTEndian_SwapBE32(1 << (73 - 64));
-                static const SK_OT_ULONG MyanmarMask = SkTEndian_SwapBE32(1 << (74 - 64));
-                static const SK_OT_ULONG EthiopicMask = SkTEndian_SwapBE32(1 << (75 - 64));
-                static const SK_OT_ULONG CherokeeMask = SkTEndian_SwapBE32(1 << (76 - 64));
-                static const SK_OT_ULONG UnifiedCanadianSyllabicsMask = SkTEndian_SwapBE32(1 << (77 - 64));
-                static const SK_OT_ULONG OghamMask = SkTEndian_SwapBE32(1 << (78 - 64));
-                static const SK_OT_ULONG RunicMask = SkTEndian_SwapBE32(1 << (79 - 64));
-                static const SK_OT_ULONG KhmerMask = SkTEndian_SwapBE32(1 << (80 - 64));
-                static const SK_OT_ULONG MongolianMask = SkTEndian_SwapBE32(1 << (81 - 64));
-                static const SK_OT_ULONG BrailleMask = SkTEndian_SwapBE32(1 << (82 - 64));
-                static const SK_OT_ULONG YiMask = SkTEndian_SwapBE32(1 << (83 - 64));
-                static const SK_OT_ULONG Tagalog_Hanunoo_Buhid_TagbanwaMask = SkTEndian_SwapBE32(1 << (84 - 64));
-                static const SK_OT_ULONG OldItalicMask = SkTEndian_SwapBE32(1 << (85 - 64));
-                static const SK_OT_ULONG GothicMask = SkTEndian_SwapBE32(1 << (86 - 64));
-                static const SK_OT_ULONG DeseretMask = SkTEndian_SwapBE32(1 << (87 - 64));
-                static const SK_OT_ULONG MusicalSymbolsMask = SkTEndian_SwapBE32(1 << (88 - 64));
-                static const SK_OT_ULONG MathematicalAlphanumericSymbolsMask = SkTEndian_SwapBE32(1 << (89 - 64));
-                static const SK_OT_ULONG PrivateUseMask = SkTEndian_SwapBE32(1 << (90 - 64));
-                static const SK_OT_ULONG VariationSelectorsMask = SkTEndian_SwapBE32(1 << (91 - 64));
-                static const SK_OT_ULONG TagsMask = SkTEndian_SwapBE32(1 << (92 - 64));
-                static const SK_OT_ULONG LimbuMask = SkTEndian_SwapBE32(1 << (93 - 64));
-                static const SK_OT_ULONG TaiLeMask = SkTEndian_SwapBE32(1 << (94 - 64));
-                static const SK_OT_ULONG NewTaiLueMask = SkTEndian_SwapBE32(1 << (95 - 64));
-            };
-            struct l3 {
-                static const SK_OT_ULONG BugineseMask = SkTEndian_SwapBE32(1 << (96 - 96));
-                static const SK_OT_ULONG GlagoliticMask = SkTEndian_SwapBE32(1 << (97 - 96));
-                static const SK_OT_ULONG TifinaghMask = SkTEndian_SwapBE32(1 << (98 - 96));
-                static const SK_OT_ULONG YijingHexagramSymbolsMask = SkTEndian_SwapBE32(1 << (99 - 96));
-                static const SK_OT_ULONG SylotiNagriMask = SkTEndian_SwapBE32(1 << (100 - 96));
-                static const SK_OT_ULONG LinearB_AegeanNumbersMask = SkTEndian_SwapBE32(1 << (101 - 96));
-                static const SK_OT_ULONG AncientGreekNumbersMask = SkTEndian_SwapBE32(1 << (102 - 96));
-                static const SK_OT_ULONG UgariticMask = SkTEndian_SwapBE32(1 << (103 - 96));
-                static const SK_OT_ULONG OldPersianMask = SkTEndian_SwapBE32(1 << (104 - 96));
-                static const SK_OT_ULONG ShavianMask = SkTEndian_SwapBE32(1 << (105 - 96));
-                static const SK_OT_ULONG OsmanyaMask = SkTEndian_SwapBE32(1 << (106 - 96));
-                static const SK_OT_ULONG CypriotSyllabaryMask = SkTEndian_SwapBE32(1 << (107 - 96));
-                static const SK_OT_ULONG KharoshthiMask = SkTEndian_SwapBE32(1 << (108 - 96));
-                static const SK_OT_ULONG TaiXuanJingSymbolsMask = SkTEndian_SwapBE32(1 << (109 - 96));
-                static const SK_OT_ULONG CuneiformMask = SkTEndian_SwapBE32(1 << (110 - 96));
-                static const SK_OT_ULONG CountingRodNumeralsMask = SkTEndian_SwapBE32(1 << (111 - 96));
-                static const SK_OT_ULONG SundaneseMask = SkTEndian_SwapBE32(1 << (112 - 96));
-                static const SK_OT_ULONG LepchaMask = SkTEndian_SwapBE32(1 << (113 - 96));
-                static const SK_OT_ULONG OlChikiMask = SkTEndian_SwapBE32(1 << (114 - 96));
-                static const SK_OT_ULONG SaurashtraMask = SkTEndian_SwapBE32(1 << (115 - 96));
-                static const SK_OT_ULONG KayahLiMask = SkTEndian_SwapBE32(1 << (116 - 96));
-                static const SK_OT_ULONG RejangMask = SkTEndian_SwapBE32(1 << (117 - 96));
-                static const SK_OT_ULONG ChamMask = SkTEndian_SwapBE32(1 << (118 - 96));
-                static const SK_OT_ULONG AncientSymbolsMask = SkTEndian_SwapBE32(1 << (119 - 96));
-                static const SK_OT_ULONG PhaistosDiscMask = SkTEndian_SwapBE32(1 << (120 - 96));
-                static const SK_OT_ULONG Carian_Lycian_LydianMask = SkTEndian_SwapBE32(1 << (121 - 96));
-                static const SK_OT_ULONG DominoTiles_MahjongTilesMask = SkTEndian_SwapBE32(1 << (122 - 96));
-            };
-            SK_OT_ULONG value[4];
-        } raw;
-    } ulUnicodeRange;
-    SK_OT_CHAR achVendID[4];
-    union Selection {
-        struct Field {
-            //8-15
-            SK_OT_BYTE_BITFIELD(
-                WWS,
-                Oblique,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //0-7
-            SK_OT_BYTE_BITFIELD(
-                Italic,
-                Underscore,
-                Negative,
-                Outlined,
-                Strikeout,
-                Bold,
-                Regular,
-                UseTypoMetrics)
-        } field;
-        struct Raw {
-            static const SK_OT_USHORT ItalicMask = SkTEndian_SwapBE16(1 << 0);
-            static const SK_OT_USHORT UnderscoreMask = SkTEndian_SwapBE16(1 << 1);
-            static const SK_OT_USHORT NegativeMask = SkTEndian_SwapBE16(1 << 2);
-            static const SK_OT_USHORT OutlinedMask = SkTEndian_SwapBE16(1 << 3);
-            static const SK_OT_USHORT StrikeoutMask = SkTEndian_SwapBE16(1 << 4);
-            static const SK_OT_USHORT BoldMask = SkTEndian_SwapBE16(1 << 5);
-            static const SK_OT_USHORT RegularMask = SkTEndian_SwapBE16(1 << 6);
-            static const SK_OT_USHORT UseTypoMetricsMask = SkTEndian_SwapBE16(1 << 7);
-            static const SK_OT_USHORT WWSMask = SkTEndian_SwapBE16(1 << 8);
-            static const SK_OT_USHORT ObliqueMask = SkTEndian_SwapBE16(1 << 9);
-            SK_OT_USHORT value;
-        } raw;
-    } fsSelection;
-    SK_OT_USHORT usFirstCharIndex;
-    SK_OT_USHORT usLastCharIndex;
-    //version0
-    SK_OT_SHORT sTypoAscender;
-    SK_OT_SHORT sTypoDescender;
-    SK_OT_SHORT sTypoLineGap;
-    SK_OT_USHORT usWinAscent;
-    SK_OT_USHORT usWinDescent;
-    //version1
-    union CodePageRange {
-        struct Field {
-            //l0 24-31
-            SK_OT_BYTE_BITFIELD(
-                Reserved24,
-                Reserved25,
-                Reserved26,
-                Reserved27,
-                Reserved28,
-                MacintoshCharacterSet,
-                OEMCharacterSet,
-                SymbolCharacterSet)
-            //l0 16-23
-            SK_OT_BYTE_BITFIELD(
-                Thai_874,
-                JISJapan_932,
-                ChineseSimplified_936,
-                KoreanWansung_949,
-                ChineseTraditional_950,
-                KoreanJohab_1361,
-                Reserved22,
-                Reserved23)
-            //l0 8-15
-            SK_OT_BYTE_BITFIELD(
-                Vietnamese,
-                Reserved09,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //l0 0-7
-            SK_OT_BYTE_BITFIELD(
-                Latin1_1252,
-                Latin2EasternEurope_1250,
-                Cyrillic_1251,
-                Greek_1253,
-                Turkish_1254,
-                Hebrew_1255,
-                Arabic_1256,
-                WindowsBaltic_1257)
-
-            //l1 24-31
-            SK_OT_BYTE_BITFIELD(
-                IBMTurkish_857,
-                IBMCyrillic_855,
-                Latin2_852,
-                MSDOSBaltic_775,
-                Greek_737,
-                Arabic_708,
-                WELatin1_850,
-                US_437)
-            //l1 16-23
-            SK_OT_BYTE_BITFIELD(
-                IBMGreek_869,
-                MSDOSRussian_866,
-                MSDOSNordic_865,
-                Arabic_864,
-                MSDOSCanadianFrench_863,
-                Hebrew_862,
-                MSDOSIcelandic_861,
-                MSDOSPortuguese_860)
-            //l1 8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved40,
-                Reserved41,
-                Reserved42,
-                Reserved43,
-                Reserved44,
-                Reserved45,
-                Reserved46,
-                Reserved47)
-            //l1 0-7
-            SK_OT_BYTE_BITFIELD(
-                Reserved32,
-                Reserved33,
-                Reserved34,
-                Reserved35,
-                Reserved36,
-                Reserved37,
-                Reserved38,
-                Reserved39)
-        } field;
-        struct Raw {
-            struct l0 {
-                static const SK_OT_ULONG Latin1_1252Mask = SkTEndian_SwapBE32(1 << 0);
-                static const SK_OT_ULONG Latin2EasternEurope_1250Mask = SkTEndian_SwapBE32(1 << 1);
-                static const SK_OT_ULONG Cyrillic_1251Mask = SkTEndian_SwapBE32(1 << 2);
-                static const SK_OT_ULONG Greek_1253Mask = SkTEndian_SwapBE32(1 << 3);
-                static const SK_OT_ULONG Turkish_1254Mask = SkTEndian_SwapBE32(1 << 4);
-                static const SK_OT_ULONG Hebrew_1255Mask = SkTEndian_SwapBE32(1 << 5);
-                static const SK_OT_ULONG Arabic_1256Mask = SkTEndian_SwapBE32(1 << 6);
-                static const SK_OT_ULONG WindowsBaltic_1257Mask = SkTEndian_SwapBE32(1 << 7);
-                static const SK_OT_ULONG Vietnamese_1258Mask = SkTEndian_SwapBE32(1 << 8);
-                static const SK_OT_ULONG Thai_874Mask = SkTEndian_SwapBE32(1 << 16);
-                static const SK_OT_ULONG JISJapan_932Mask = SkTEndian_SwapBE32(1 << 17);
-                static const SK_OT_ULONG ChineseSimplified_936Mask = SkTEndian_SwapBE32(1 << 18);
-                static const SK_OT_ULONG KoreanWansung_949Mask = SkTEndian_SwapBE32(1 << 19);
-                static const SK_OT_ULONG ChineseTraditional_950Mask = SkTEndian_SwapBE32(1 << 20);
-                static const SK_OT_ULONG KoreanJohab_1361Mask = SkTEndian_SwapBE32(1 << 21);
-                static const SK_OT_ULONG MacintoshCharacterSetMask = SkTEndian_SwapBE32(1 << 29);
-                static const SK_OT_ULONG OEMCharacterSetMask = SkTEndian_SwapBE32(1 << 30);
-                static const SK_OT_ULONG SymbolCharacterSetMask = SkTEndian_SwapBE32(1 << 31);
-            };
-            struct l1 {
-                static const SK_OT_ULONG IBMGreek_869Mask = SkTEndian_SwapBE32(1 << (48 - 32));
-                static const SK_OT_ULONG MSDOSRussian_866Mask = SkTEndian_SwapBE32(1 << (49 - 32));
-                static const SK_OT_ULONG MSDOSNordic_865Mask = SkTEndian_SwapBE32(1 << (50 - 32));
-                static const SK_OT_ULONG Arabic_864Mask = SkTEndian_SwapBE32(1 << (51 - 32));
-                static const SK_OT_ULONG MSDOSCanadianFrench_863Mask = SkTEndian_SwapBE32(1 << (52 - 32));
-                static const SK_OT_ULONG Hebrew_862Mask = SkTEndian_SwapBE32(1 << (53 - 32));
-                static const SK_OT_ULONG MSDOSIcelandic_861Mask = SkTEndian_SwapBE32(1 << (54 - 32));
-                static const SK_OT_ULONG MSDOSPortuguese_860Mask = SkTEndian_SwapBE32(1 << (55 - 32));
-                static const SK_OT_ULONG IBMTurkish_857Mask = SkTEndian_SwapBE32(1 << (56 - 32));
-                static const SK_OT_ULONG IBMCyrillic_855Mask = SkTEndian_SwapBE32(1 << (57 - 32));
-                static const SK_OT_ULONG Latin2_852Mask = SkTEndian_SwapBE32(1 << (58 - 32));
-                static const SK_OT_ULONG MSDOSBaltic_775Mask = SkTEndian_SwapBE32(1 << (59 - 32));
-                static const SK_OT_ULONG Greek_737Mask = SkTEndian_SwapBE32(1 << (60 - 32));
-                static const SK_OT_ULONG Arabic_708Mask = SkTEndian_SwapBE32(1 << (61 - 32));
-                static const SK_OT_ULONG WELatin1_850Mask = SkTEndian_SwapBE32(1 << (62 - 32));
-                static const SK_OT_ULONG US_437Mask = SkTEndian_SwapBE32(1 << (63 - 32));
-            };
-            SK_OT_ULONG value[2];
-        } raw;
-    } ulCodePageRange;
-    //version2
-    SK_OT_SHORT sxHeight;
-    SK_OT_SHORT sCapHeight;
-    SK_OT_USHORT usDefaultChar;
-    SK_OT_USHORT usBreakChar;
-    SK_OT_USHORT usMaxContext;
-};
-
-#pragma pack(pop)
-
-
-SK_COMPILE_ASSERT(sizeof(SkOTTableOS2_V4) == 96, sizeof_SkOTTableOS2_V4_not_96);
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkOTTable_OS_2_VA.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkOTTable_OS_2_VA_DEFINED
-#define SkOTTable_OS_2_VA_DEFINED
-
-#include "SkEndian.h"
-#include "SkIBMFamilyClass.h"
-#include "SkOTTableTypes.h"
-#include "SkPanose.h"
-#include "SkTypedEnum.h"
-
-#pragma pack(push, 1)
-
-//Original V0 TT
-struct SkOTTableOS2_VA {
-    SK_OT_USHORT version;
-    //The only way to differentiate versionA and version0 is by size.
-    static const SK_OT_USHORT version0 = SkTEndian_SwapBE16(0);
-    SK_OT_SHORT xAvgCharWidth;
-    struct WeightClass {
-        SK_TYPED_ENUM(Value, SK_OT_USHORT,
-            ((UltraLight, SkTEndian_SwapBE16(1)))
-            ((ExtraLight, SkTEndian_SwapBE16(2)))
-            ((Light, SkTEndian_SwapBE16(3)))
-            ((SemiLight, SkTEndian_SwapBE16(4)))
-            ((Medium, SkTEndian_SwapBE16(5)))
-            ((SemiBold, SkTEndian_SwapBE16(6)))
-            ((Bold, SkTEndian_SwapBE16(7)))
-            ((ExtraBold, SkTEndian_SwapBE16(8)))
-            ((UltraBold, SkTEndian_SwapBE16(9)))
-            SK_SEQ_END,
-        (value)SK_SEQ_END)
-    } usWeightClass;
-    struct WidthClass {
-        SK_TYPED_ENUM(Value, SK_OT_USHORT,
-            ((UltraCondensed, SkTEndian_SwapBE16(1)))
-            ((ExtraCondensed, SkTEndian_SwapBE16(2)))
-            ((Condensed, SkTEndian_SwapBE16(3)))
-            ((SemiCondensed, SkTEndian_SwapBE16(4)))
-            ((Medium, SkTEndian_SwapBE16(5)))
-            ((SemiExpanded, SkTEndian_SwapBE16(6)))
-            ((Expanded, SkTEndian_SwapBE16(7)))
-            ((ExtraExpanded, SkTEndian_SwapBE16(8)))
-            ((UltraExpanded, SkTEndian_SwapBE16(9)))
-            SK_SEQ_END,
-        (value)SK_SEQ_END)
-    } usWidthClass;
-    union Type {
-        struct Field {
-            //8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved08,
-                Reserved09,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //0-7
-            SK_OT_BYTE_BITFIELD(
-                Reserved00,
-                Restricted,
-                PreviewPrint,
-                Editable,
-                Reserved04,
-                Reserved05,
-                Reserved06,
-                Reserved07)
-        } field;
-        struct Raw {
-            static const SK_OT_USHORT Installable = SkTEndian_SwapBE16(0);
-            static const SK_OT_USHORT RestrictedMask = SkTEndian_SwapBE16(1 << 1);
-            static const SK_OT_USHORT PreviewPrintMask = SkTEndian_SwapBE16(1 << 2);
-            static const SK_OT_USHORT EditableMask = SkTEndian_SwapBE16(1 << 3);
-            SK_OT_USHORT value;
-        } raw;
-    } fsType;
-    SK_OT_SHORT ySubscriptXSize;
-    SK_OT_SHORT ySubscriptYSize;
-    SK_OT_SHORT ySubscriptXOffset;
-    SK_OT_SHORT ySubscriptYOffset;
-    SK_OT_SHORT ySuperscriptXSize;
-    SK_OT_SHORT ySuperscriptYSize;
-    SK_OT_SHORT ySuperscriptXOffset;
-    SK_OT_SHORT ySuperscriptYOffset;
-    SK_OT_SHORT yStrikeoutSize;
-    SK_OT_SHORT yStrikeoutPosition;
-    SkIBMFamilyClass sFamilyClass;
-    SkPanose panose;
-    SK_OT_ULONG ulCharRange[4];
-    SK_OT_CHAR achVendID[4];
-    union Selection {
-        struct Field {
-            //8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved08,
-                Reserved09,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //0-7
-            SK_OT_BYTE_BITFIELD(
-                Italic,
-                Underscore,
-                Negative,
-                Outlined,
-                Strikeout,
-                Bold,
-                Reserved06,
-                Reserved07)
-        } field;
-        struct Raw {
-            static const SK_OT_USHORT ItalicMask = SkTEndian_SwapBE16(1 << 0);
-            static const SK_OT_USHORT UnderscoreMask = SkTEndian_SwapBE16(1 << 1);
-            static const SK_OT_USHORT NegativeMask = SkTEndian_SwapBE16(1 << 2);
-            static const SK_OT_USHORT OutlinedMask = SkTEndian_SwapBE16(1 << 3);
-            static const SK_OT_USHORT StrikeoutMask = SkTEndian_SwapBE16(1 << 4);
-            static const SK_OT_USHORT BoldMask = SkTEndian_SwapBE16(1 << 5);
-            SK_OT_USHORT value;
-        } raw;
-    } fsSelection;
-    SK_OT_USHORT usFirstCharIndex;
-    SK_OT_USHORT usLastCharIndex;
-};
-
-#pragma pack(pop)
-
-
-SK_COMPILE_ASSERT(sizeof(SkOTTableOS2_VA) == 68, sizeof_SkOTTableOS2_VA_not_68);
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkOTTable_head.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkOTTable_head_DEFINED
-#define SkOTTable_head_DEFINED
-
-#include "SkEndian.h"
-#include "SkOTTableTypes.h"
-#include "SkTypedEnum.h"
-
-#pragma pack(push, 1)
-
-struct SkOTTableHead {
-    SK_OT_Fixed version;
-    static const SK_OT_Fixed version1 = SkTEndian_SwapBE32(0x00010000);
-    SK_OT_Fixed fontRevision;
-    static const uint32_t fontChecksum = 0xB1B0AFBA; //checksum of all TT fonts
-    SK_OT_ULONG checksumAdjustment;
-    SK_OT_ULONG magicNumber;
-    static const SK_OT_ULONG magicNumberConst = SkTEndian_SwapBE32(0x5F0F3CF5);
-    union Flags {
-        struct Field {
-            //8-15
-            SK_OT_BYTE_BITFIELD(
-                GXMetamorphosis_Apple,
-                HasStrongRTL_Apple,
-                HasIndicStyleRearrangement,
-                AgfaMicroTypeExpressProcessed,
-                FontConverted,
-                DesignedForClearType,
-                LastResort,
-                Reserved15)
-            //0-7
-            SK_OT_BYTE_BITFIELD(
-                BaselineAtY0,
-                LeftSidebearingAtX0,
-                InstructionsDependOnPointSize,
-                IntegerScaling,
-                InstructionsAlterAdvanceWidth,
-                VerticalCenteredGlyphs_Apple,
-                Reserved06,
-                RequiresLayout_Apple)
-        } field;
-        struct Raw {
-            static const SK_OT_USHORT BaselineAtY0Mask = SkTEndian_SwapBE16(1 << 0);
-            static const SK_OT_USHORT LeftSidebearingAtX0Mask = SkTEndian_SwapBE16(1 << 1);
-            static const SK_OT_USHORT InstructionsDependOnPointSizeMask = SkTEndian_SwapBE16(1 << 2);
-            static const SK_OT_USHORT IntegerScalingMask = SkTEndian_SwapBE16(1 << 3);
-            static const SK_OT_USHORT InstructionsAlterAdvanceWidthMask = SkTEndian_SwapBE16(1 << 4);
-            static const SK_OT_USHORT VerticalCenteredGlyphs_AppleMask = SkTEndian_SwapBE16(1 << 5);
-            //Reserved
-            static const SK_OT_USHORT RequiresLayout_AppleMask = SkTEndian_SwapBE16(1 << 7);
-
-            static const SK_OT_USHORT GXMetamorphosis_AppleMask = SkTEndian_SwapBE16(1 << 8);
-            static const SK_OT_USHORT HasStrongRTL_AppleMask = SkTEndian_SwapBE16(1 << 9);
-            static const SK_OT_USHORT HasIndicStyleRearrangementMask = SkTEndian_SwapBE16(1 << 10);
-            static const SK_OT_USHORT AgfaMicroTypeExpressProcessedMask = SkTEndian_SwapBE16(1 << 11);
-            static const SK_OT_USHORT FontConvertedMask = SkTEndian_SwapBE16(1 << 12);
-            static const SK_OT_USHORT DesignedForClearTypeMask = SkTEndian_SwapBE16(1 << 13);
-            static const SK_OT_USHORT LastResortMask = SkTEndian_SwapBE16(1 << 14);
-            //Reserved
-            SK_OT_USHORT value;
-        } raw;
-    } flags;
-    SK_OT_USHORT unitsPerEm;
-    SK_OT_LONGDATETIME created;
-    SK_OT_LONGDATETIME modified;
-    SK_OT_SHORT xMin;
-    SK_OT_SHORT yMin;
-    SK_OT_SHORT xMax;
-    SK_OT_SHORT yMax;
-    union MacStyle {
-        struct Field {
-            //8-15
-            SK_OT_BYTE_BITFIELD(
-                Reserved08,
-                Reserved09,
-                Reserved10,
-                Reserved11,
-                Reserved12,
-                Reserved13,
-                Reserved14,
-                Reserved15)
-            //0-7
-            SK_OT_BYTE_BITFIELD(
-                Bold,
-                Italic,
-                Underline,
-                Outline,
-                Shadow,
-                Condensed,
-                Extended,
-                Reserved07)
-        } field;
-        struct Raw {
-            static const SK_OT_USHORT BoldMask = SkTEndian_SwapBE16(1);
-            static const SK_OT_USHORT ItalicMask = SkTEndian_SwapBE16(1 << 1);
-            static const SK_OT_USHORT UnderlineMask = SkTEndian_SwapBE16(1 << 2);
-            static const SK_OT_USHORT OutlineMask = SkTEndian_SwapBE16(1 << 3);
-            static const SK_OT_USHORT ShadowMask = SkTEndian_SwapBE16(1 << 4);
-            static const SK_OT_USHORT CondensedMask = SkTEndian_SwapBE16(1 << 5);
-            static const SK_OT_USHORT ExtendedMask = SkTEndian_SwapBE16(1 << 6);
-
-            SK_OT_USHORT value;
-        } raw;
-    } macStyle;
-    SK_OT_USHORT lowestRecPPEM;
-    struct FontDirectionHint {
-        SK_TYPED_ENUM(Value, SK_OT_SHORT,
-            ((FullyMixedDirectionalGlyphs, SkTEndian_SwapBE16(0)))
-            ((OnlyStronglyLTR, SkTEndian_SwapBE16(1)))
-            ((StronglyLTR, SkTEndian_SwapBE16(2)))
-            ((OnlyStronglyRTL, static_cast<SK_OT_SHORT>(SkTEndian_SwapBE16(-1))))
-            ((StronglyRTL, static_cast<SK_OT_SHORT>(SkTEndian_SwapBE16(-2))))
-            SK_SEQ_END,
-        (value)SK_SEQ_END)
-    } fontDirectionHint;
-    struct IndexToLocFormat {
-        SK_TYPED_ENUM(Value, SK_OT_SHORT,
-            ((ShortOffsets, SkTEndian_SwapBE16(0)))
-            ((LongOffsets, SkTEndian_SwapBE16(1)))
-            SK_SEQ_END,
-        (value)SK_SEQ_END)
-    } indexToLocFormat;
-    struct GlyphDataFormat {
-        SK_TYPED_ENUM(Value, SK_OT_SHORT,
-            ((CurrentFormat, SkTEndian_SwapBE16(0)))
-            SK_SEQ_END,
-        (value)SK_SEQ_END)
-    } glyphDataFormat;
-};
-
-#pragma pack(pop)
-
-
-#include <stddef.h>
-SK_COMPILE_ASSERT(offsetof(SkOTTableHead, glyphDataFormat) == 52, SkOTTableHead_glyphDataFormat_not_at_52);
-SK_COMPILE_ASSERT(sizeof(SkOTTableHead) == 54, sizeof_SkOTTableHead_not_54);
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkOTTable_hhea.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkOTTable_hhea_DEFINED
-#define SkOTTable_hhea_DEFINED
-
-#include "SkEndian.h"
-#include "SkOTTableTypes.h"
-#include "SkTypedEnum.h"
-
-#pragma pack(push, 1)
-
-struct SkOTTableHorizontalHeader {
-    SK_OT_Fixed version;
-    static const SK_OT_Fixed version1 = SkTEndian_SwapBE32(0x00010000);
-    SK_OT_FWORD Ascender;
-    SK_OT_FWORD Descender;
-    SK_OT_FWORD LineGap;
-    SK_OT_UFWORD advanceWidthMax;
-    SK_OT_FWORD minLeftSideBearing;
-    SK_OT_FWORD minRightSideBearing;
-    SK_OT_FWORD xMaxExtent;
-    SK_OT_SHORT caretSlopeRise;
-    SK_OT_SHORT caretSlopeRun;
-    SK_OT_SHORT caretOffset;
-    SK_OT_SHORT Reserved24;
-    SK_OT_SHORT Reserved26;
-    SK_OT_SHORT Reserved28;
-    SK_OT_SHORT Reserved30;
-    struct MetricDataFormat {
-        SK_TYPED_ENUM(Value, SK_OT_SHORT,
-            ((CurrentFormat, SkTEndian_SwapBE16(0)))
-            SK_SEQ_END,
-        (value)SK_SEQ_END)
-    } metricDataFormat;
-    SK_OT_USHORT numberOfHMetrics;
-};
-
-#pragma pack(pop)
-
-
-#include <stddef.h>
-SK_COMPILE_ASSERT(offsetof(SkOTTableHorizontalHeader, numberOfHMetrics) == 34, SkOTTableHorizontalHeader_numberOfHMetrics_not_at_34);
-SK_COMPILE_ASSERT(sizeof(SkOTTableHorizontalHeader) == 36, sizeof_SkOTTableHorizontalHeader_not_36);
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkOTTable_name.h
+++ /dev/null
@@ -1,504 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkOTTable_name_DEFINED
-#define SkOTTable_name_DEFINED
-
-#include "SkEndian.h"
-#include "SkOTTableTypes.h"
-#include "SkTypedEnum.h"
-
-#pragma pack(push, 1)
-
-struct SkOTTableName {
-    SK_OT_USHORT format;
-    static const SK_OT_USHORT format_0 = SkTEndian_SwapBE16(0);
-    static const SK_OT_USHORT format_1 = SkTEndian_SwapBE16(1);
-    SK_OT_USHORT count;
-    SK_OT_USHORT stringOffset; //Offset to start of storage area (from start of table).
-    //SkOTTableNameRecord nameRecord[count];
-};
-struct SkOTTableNameF1 {
-    SK_OT_USHORT langTagCount;
-    //SkOTTableNameLangTagRecord langTagRecord[langTagCount];
-};
-
-struct SkOTTableNameLangTagRecord {
-    SK_OT_USHORT length;
-    SK_OT_USHORT offset; //From start of storage area.
-    //The string is always UTF-16BE from IETF specification BCP 47.
-};
-
-struct SkOTTableNameRecord {
-    //The platform ID specifies how to interpret the encoding and language ID.
-    struct PlatformID {
-        SK_TYPED_ENUM(Value, SK_OT_USHORT,
-            ((Unicode, SkTEndian_SwapBE16(0)))
-            ((Macintosh, SkTEndian_SwapBE16(1)))
-            ((ISO, SkTEndian_SwapBE16(2))) //deprecated, use Unicode instead
-            ((Windows, SkTEndian_SwapBE16(3)))
-            ((Custom, SkTEndian_SwapBE16(4)))
-            SK_SEQ_END,
-        (value)SK_SEQ_END)
-    } platformID;
-    union EncodingID {
-        //Always UTF-16BE
-        struct Unicode {
-            SK_TYPED_ENUM(Value, SK_OT_USHORT,
-                ((Unicode10, SkTEndian_SwapBE16(0)))
-                ((Unicode11, SkTEndian_SwapBE16(1)))
-                ((ISO10646, SkTEndian_SwapBE16(2))) //deprecated, use Unicode11
-                ((Unicode20BMP, SkTEndian_SwapBE16(3)))
-                ((Unicode20, SkTEndian_SwapBE16(4)))
-                ((UnicodeVariationSequences, SkTEndian_SwapBE16(5)))
-                ((UnicodeFull, SkTEndian_SwapBE16(6)))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } unicode;
-        struct Macintosh {
-            SK_TYPED_ENUM(Value, SK_OT_USHORT,
-                ((Roman, SkTEndian_SwapBE16(0)))
-                ((Japanese, SkTEndian_SwapBE16(1)))
-                ((ChineseTraditional, SkTEndian_SwapBE16(2)))
-                ((Korean, SkTEndian_SwapBE16(3)))
-                ((Arabic, SkTEndian_SwapBE16(4)))
-                ((Hebrew, SkTEndian_SwapBE16(5)))
-                ((Greek, SkTEndian_SwapBE16(6)))
-                ((Russian, SkTEndian_SwapBE16(7)))
-                ((RSymbol, SkTEndian_SwapBE16(8)))
-                ((Devanagari, SkTEndian_SwapBE16(9)))
-                ((Gurmukhi, SkTEndian_SwapBE16(10)))
-                ((Gujarati, SkTEndian_SwapBE16(11)))
-                ((Oriya, SkTEndian_SwapBE16(12)))
-                ((Bengali, SkTEndian_SwapBE16(13)))
-                ((Tamil, SkTEndian_SwapBE16(14)))
-                ((Telugu, SkTEndian_SwapBE16(15)))
-                ((Kannada, SkTEndian_SwapBE16(16)))
-                ((Malayalam, SkTEndian_SwapBE16(17)))
-                ((Sinhalese, SkTEndian_SwapBE16(18)))
-                ((Burmese, SkTEndian_SwapBE16(19)))
-                ((Khmer, SkTEndian_SwapBE16(20)))
-                ((Thai, SkTEndian_SwapBE16(21)))
-                ((Laotian, SkTEndian_SwapBE16(22)))
-                ((Georgian, SkTEndian_SwapBE16(23)))
-                ((Armenian, SkTEndian_SwapBE16(24)))
-                ((ChineseSimplified, SkTEndian_SwapBE16(25)))
-                ((Tibetan, SkTEndian_SwapBE16(26)))
-                ((Mongolian, SkTEndian_SwapBE16(27)))
-                ((Geez, SkTEndian_SwapBE16(28)))
-                ((Slavic, SkTEndian_SwapBE16(29)))
-                ((Vietnamese, SkTEndian_SwapBE16(30)))
-                ((Sindhi, SkTEndian_SwapBE16(31)))
-                ((Uninterpreted, SkTEndian_SwapBE16(32)))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } macintosh;
-        //deprecated, use Unicode instead
-        struct ISO {
-            SK_TYPED_ENUM(Value, SK_OT_USHORT,
-                ((ASCII7, SkTEndian_SwapBE16(0)))
-                ((ISO10646, SkTEndian_SwapBE16(1)))
-                ((ISO88591, SkTEndian_SwapBE16(2)))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } iso;
-        struct Windows {
-            SK_TYPED_ENUM(Value, SK_OT_USHORT,
-                ((Symbol, SkTEndian_SwapBE16(0)))
-                ((UnicodeBMPUCS2, SkTEndian_SwapBE16(1))) //Windows default
-                ((ShiftJIS, SkTEndian_SwapBE16(2)))
-                ((PRC, SkTEndian_SwapBE16(3)))
-                ((Big5, SkTEndian_SwapBE16(4)))
-                ((Wansung, SkTEndian_SwapBE16(5)))
-                ((Johab, SkTEndian_SwapBE16(6)))
-                ((UnicodeUCS4, SkTEndian_SwapBE16(10)))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } windows;
-        SK_OT_USHORT custom;
-    } encodingID;
-    union LanguageID {
-        struct Macintosh {
-            SK_TYPED_ENUM(Value, SK_OT_USHORT,
-                ((English, SkTEndian_SwapBE16(0)))
-                ((French, SkTEndian_SwapBE16(1)))
-                ((German, SkTEndian_SwapBE16(2)))
-                ((Italian, SkTEndian_SwapBE16(3)))
-                ((Dutch, SkTEndian_SwapBE16(4)))
-                ((Swedish, SkTEndian_SwapBE16(5)))
-                ((Spanish, SkTEndian_SwapBE16(6)))
-                ((Danish, SkTEndian_SwapBE16(7)))
-                ((Portuguese, SkTEndian_SwapBE16(8)))
-                ((Norwegian, SkTEndian_SwapBE16(9)))
-                ((Hebrew, SkTEndian_SwapBE16(10)))
-                ((Japanese, SkTEndian_SwapBE16(11)))
-                ((Arabic, SkTEndian_SwapBE16(12)))
-                ((Finnish, SkTEndian_SwapBE16(13)))
-                ((Greek, SkTEndian_SwapBE16(14)))
-                ((Icelandic, SkTEndian_SwapBE16(15)))
-                ((Maltese, SkTEndian_SwapBE16(16)))
-                ((Turkish, SkTEndian_SwapBE16(17)))
-                ((Croatian, SkTEndian_SwapBE16(18)))
-                ((ChineseTraditional, SkTEndian_SwapBE16(19)))
-                ((Urdu, SkTEndian_SwapBE16(20)))
-                ((Hindi, SkTEndian_SwapBE16(21)))
-                ((Thai, SkTEndian_SwapBE16(22)))
-                ((Korean, SkTEndian_SwapBE16(23)))
-                ((Lithuanian, SkTEndian_SwapBE16(24)))
-                ((Polish, SkTEndian_SwapBE16(25)))
-                ((Hungarian, SkTEndian_SwapBE16(26)))
-                ((Estonian, SkTEndian_SwapBE16(27)))
-                ((Latvian, SkTEndian_SwapBE16(28)))
-                ((Sami, SkTEndian_SwapBE16(29)))
-                ((Faroese, SkTEndian_SwapBE16(30)))
-                ((Farsi_Persian, SkTEndian_SwapBE16(31)))
-                ((Russian, SkTEndian_SwapBE16(32)))
-                ((ChineseSimplified, SkTEndian_SwapBE16(33)))
-                ((Flemish, SkTEndian_SwapBE16(34)))
-                ((IrishGaelic, SkTEndian_SwapBE16(35)))
-                ((Albanian, SkTEndian_SwapBE16(36)))
-                ((Romanian, SkTEndian_SwapBE16(37)))
-                ((Czech, SkTEndian_SwapBE16(38)))
-                ((Slovak, SkTEndian_SwapBE16(39)))
-                ((Slovenian, SkTEndian_SwapBE16(40)))
-                ((Yiddish, SkTEndian_SwapBE16(41)))
-                ((Serbian, SkTEndian_SwapBE16(42)))
-                ((Macedonian, SkTEndian_SwapBE16(43)))
-                ((Bulgarian, SkTEndian_SwapBE16(44)))
-                ((Ukrainian, SkTEndian_SwapBE16(45)))
-                ((Byelorussian, SkTEndian_SwapBE16(46)))
-                ((Uzbek, SkTEndian_SwapBE16(47)))
-                ((Kazakh, SkTEndian_SwapBE16(48)))
-                ((AzerbaijaniCyrillic, SkTEndian_SwapBE16(49)))
-                ((AzerbaijaniArabic, SkTEndian_SwapBE16(50)))
-                ((Armenian, SkTEndian_SwapBE16(51)))
-                ((Georgian, SkTEndian_SwapBE16(52)))
-                ((Moldavian, SkTEndian_SwapBE16(53)))
-                ((Kirghiz, SkTEndian_SwapBE16(54)))
-                ((Tajiki, SkTEndian_SwapBE16(55)))
-                ((Turkmen, SkTEndian_SwapBE16(56)))
-                ((MongolianTraditional, SkTEndian_SwapBE16(57)))
-                ((MongolianCyrillic, SkTEndian_SwapBE16(58)))
-                ((Pashto, SkTEndian_SwapBE16(59)))
-                ((Kurdish, SkTEndian_SwapBE16(60)))
-                ((Kashmiri, SkTEndian_SwapBE16(61)))
-                ((Sindhi, SkTEndian_SwapBE16(62)))
-                ((Tibetan, SkTEndian_SwapBE16(63)))
-                ((Nepali, SkTEndian_SwapBE16(64)))
-                ((Sanskrit, SkTEndian_SwapBE16(65)))
-                ((Marathi, SkTEndian_SwapBE16(66)))
-                ((Bengali, SkTEndian_SwapBE16(67)))
-                ((Assamese, SkTEndian_SwapBE16(68)))
-                ((Gujarati, SkTEndian_SwapBE16(69)))
-                ((Punjabi, SkTEndian_SwapBE16(70)))
-                ((Oriya, SkTEndian_SwapBE16(71)))
-                ((Malayalam, SkTEndian_SwapBE16(72)))
-                ((Kannada, SkTEndian_SwapBE16(73)))
-                ((Tamil, SkTEndian_SwapBE16(74)))
-                ((Telugu, SkTEndian_SwapBE16(75)))
-                ((Sinhalese, SkTEndian_SwapBE16(76)))
-                ((Burmese, SkTEndian_SwapBE16(77)))
-                ((Khmer, SkTEndian_SwapBE16(78)))
-                ((Lao, SkTEndian_SwapBE16(79)))
-                ((Vietnamese, SkTEndian_SwapBE16(80)))
-                ((Indonesian, SkTEndian_SwapBE16(81)))
-                ((Tagalong, SkTEndian_SwapBE16(82)))
-                ((MalayRoman, SkTEndian_SwapBE16(83)))
-                ((MalayArabic, SkTEndian_SwapBE16(84)))
-                ((Amharic, SkTEndian_SwapBE16(85)))
-                ((Tigrinya, SkTEndian_SwapBE16(86)))
-                ((Galla, SkTEndian_SwapBE16(87)))
-                ((Somali, SkTEndian_SwapBE16(88)))
-                ((Swahili, SkTEndian_SwapBE16(89)))
-                ((Kinyarwanda_Ruanda, SkTEndian_SwapBE16(90)))
-                ((Rundi, SkTEndian_SwapBE16(91)))
-                ((Nyanja_Chewa, SkTEndian_SwapBE16(92)))
-                ((Malagasy, SkTEndian_SwapBE16(93)))
-                ((Esperanto, SkTEndian_SwapBE16(94)))
-                ((Welsh, SkTEndian_SwapBE16(128)))
-                ((Basque, SkTEndian_SwapBE16(129)))
-                ((Catalan, SkTEndian_SwapBE16(130)))
-                ((Latin, SkTEndian_SwapBE16(131)))
-                ((Quenchua, SkTEndian_SwapBE16(132)))
-                ((Guarani, SkTEndian_SwapBE16(133)))
-                ((Aymara, SkTEndian_SwapBE16(134)))
-                ((Tatar, SkTEndian_SwapBE16(135)))
-                ((Uighur, SkTEndian_SwapBE16(136)))
-                ((Dzongkha, SkTEndian_SwapBE16(137)))
-                ((JavaneseRoman, SkTEndian_SwapBE16(138)))
-                ((SundaneseRoman, SkTEndian_SwapBE16(139)))
-                ((Galician, SkTEndian_SwapBE16(140)))
-                ((Afrikaans, SkTEndian_SwapBE16(141)))
-                ((Breton, SkTEndian_SwapBE16(142)))
-                ((Inuktitut, SkTEndian_SwapBE16(143)))
-                ((ScottishGaelic, SkTEndian_SwapBE16(144)))
-                ((ManxGaelic, SkTEndian_SwapBE16(145)))
-                ((IrishGaelicWithLenition, SkTEndian_SwapBE16(146)))
-                ((Tongan, SkTEndian_SwapBE16(147)))
-                ((GreekPolytonic, SkTEndian_SwapBE16(148)))
-                ((Greenlandic, SkTEndian_SwapBE16(149)))
-                ((AzerbaijaniRoman, SkTEndian_SwapBE16(150)))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } macintosh;
-        struct Windows {
-            SK_TYPED_ENUM(Value, SK_OT_USHORT,
-                ((Afrikaans_SouthAfrica, SkTEndian_SwapBE16(0x0436)))
-                ((Albanian_Albania, SkTEndian_SwapBE16(0x041C)))
-                ((Alsatian_France, SkTEndian_SwapBE16(0x0484)))
-                ((Amharic_Ethiopia, SkTEndian_SwapBE16(0x045E)))
-                ((Arabic_Algeria, SkTEndian_SwapBE16(0x1401)))
-                ((Arabic_Bahrain, SkTEndian_SwapBE16(0x3C01)))
-                ((Arabic_Egypt, SkTEndian_SwapBE16(0x0C01)))
-                ((Arabic_Iraq, SkTEndian_SwapBE16(0x0801)))
-                ((Arabic_Jordan, SkTEndian_SwapBE16(0x2C01)))
-                ((Arabic_Kuwait, SkTEndian_SwapBE16(0x3401)))
-                ((Arabic_Lebanon, SkTEndian_SwapBE16(0x3001)))
-                ((Arabic_Libya, SkTEndian_SwapBE16(0x1001)))
-                ((Arabic_Morocco, SkTEndian_SwapBE16(0x1801)))
-                ((Arabic_Oman, SkTEndian_SwapBE16(0x2001)))
-                ((Arabic_Qatar, SkTEndian_SwapBE16(0x4001)))
-                ((Arabic_SaudiArabia, SkTEndian_SwapBE16(0x0401)))
-                ((Arabic_Syria, SkTEndian_SwapBE16(0x2801)))
-                ((Arabic_Tunisia, SkTEndian_SwapBE16(0x1C01)))
-                ((Arabic_UAE, SkTEndian_SwapBE16(0x3801)))
-                ((Arabic_Yemen, SkTEndian_SwapBE16(0x2401)))
-                ((Armenian_Armenia, SkTEndian_SwapBE16(0x042B)))
-                ((Assamese_India, SkTEndian_SwapBE16(0x044D)))
-                ((AzeriCyrillic_Azerbaijan, SkTEndian_SwapBE16(0x082C)))
-                ((AzeriLatin_Azerbaijan, SkTEndian_SwapBE16(0x042C)))
-                ((Bashkir_Russia, SkTEndian_SwapBE16(0x046D)))
-                ((Basque_Basque, SkTEndian_SwapBE16(0x042D)))
-                ((Belarusian_Belarus, SkTEndian_SwapBE16(0x0423)))
-                ((Bengali_Bangladesh, SkTEndian_SwapBE16(0x0845)))
-                ((Bengali_India, SkTEndian_SwapBE16(0x0445)))
-                ((BosnianCyrillic_BosniaAndHerzegovina, SkTEndian_SwapBE16(0x201A)))
-                ((BosnianLatin_BosniaAndHerzegovina, SkTEndian_SwapBE16(0x141A)))
-                ((Breton_France, SkTEndian_SwapBE16(0x047E)))
-                ((Bulgarian_Bulgaria, SkTEndian_SwapBE16(0x0402)))
-                ((Catalan_Catalan, SkTEndian_SwapBE16(0x0403)))
-                ((Chinese_HongKongSAR, SkTEndian_SwapBE16(0x0C04)))
-                ((Chinese_MacaoSAR, SkTEndian_SwapBE16(0x1404)))
-                ((Chinese_PeoplesRepublicOfChina, SkTEndian_SwapBE16(0x0804)))
-                ((Chinese_Singapore, SkTEndian_SwapBE16(0x1004)))
-                ((Chinese_Taiwan, SkTEndian_SwapBE16(0x0404)))
-                ((Corsican_France, SkTEndian_SwapBE16(0x0483)))
-                ((Croatian_Croatia, SkTEndian_SwapBE16(0x041A)))
-                ((CroatianLatin_BosniaAndHerzegovina, SkTEndian_SwapBE16(0x101A)))
-                ((Czech_CzechRepublic, SkTEndian_SwapBE16(0x0405)))
-                ((Danish_Denmark, SkTEndian_SwapBE16(0x0406)))
-                ((Dari_Afghanistan, SkTEndian_SwapBE16(0x048C)))
-                ((Divehi_Maldives, SkTEndian_SwapBE16(0x0465)))
-                ((Dutch_Belgium, SkTEndian_SwapBE16(0x0813)))
-                ((Dutch_Netherlands, SkTEndian_SwapBE16(0x0413)))
-                ((English_Australia, SkTEndian_SwapBE16(0x0C09)))
-                ((English_Belize, SkTEndian_SwapBE16(0x2809)))
-                ((English_Canada, SkTEndian_SwapBE16(0x1009)))
-                ((English_Caribbean, SkTEndian_SwapBE16(0x2409)))
-                ((English_India, SkTEndian_SwapBE16(0x4009)))
-                ((English_Ireland, SkTEndian_SwapBE16(0x1809)))
-                ((English_Jamaica, SkTEndian_SwapBE16(0x2009)))
-                ((English_Malaysia, SkTEndian_SwapBE16(0x4409)))
-                ((English_NewZealand, SkTEndian_SwapBE16(0x1409)))
-                ((English_RepublicOfThePhilippines, SkTEndian_SwapBE16(0x3409)))
-                ((English_Singapore, SkTEndian_SwapBE16(0x4809)))
-                ((English_SouthAfrica, SkTEndian_SwapBE16(0x1C09)))
-                ((English_TrinidadAndTobago, SkTEndian_SwapBE16(0x2C09)))
-                ((English_UnitedKingdom, SkTEndian_SwapBE16(0x0809)))
-                ((English_UnitedStates, SkTEndian_SwapBE16(0x0409)))
-                ((English_Zimbabwe, SkTEndian_SwapBE16(0x3009)))
-                ((Estonian_Estonia, SkTEndian_SwapBE16(0x0425)))
-                ((Faroese_FaroeIslands, SkTEndian_SwapBE16(0x0438)))
-                ((Filipino_Philippines, SkTEndian_SwapBE16(0x0464)))
-                ((Finnish_Finland, SkTEndian_SwapBE16(0x040B)))
-                ((French_Belgium, SkTEndian_SwapBE16(0x080C)))
-                ((French_Canada, SkTEndian_SwapBE16(0x0C0C)))
-                ((French_France, SkTEndian_SwapBE16(0x040C)))
-                ((French_Luxembourg, SkTEndian_SwapBE16(0x140c)))
-                ((French_PrincipalityOfMonoco, SkTEndian_SwapBE16(0x180C)))
-                ((French_Switzerland, SkTEndian_SwapBE16(0x100C)))
-                ((Frisian_Netherlands, SkTEndian_SwapBE16(0x0462)))
-                ((Galician_Galician, SkTEndian_SwapBE16(0x0456)))
-                ((Georgian_Georgia, SkTEndian_SwapBE16(0x0437)))
-                ((German_Austria, SkTEndian_SwapBE16(0x0C07)))
-                ((German_Germany, SkTEndian_SwapBE16(0x0407)))
-                ((German_Liechtenstein, SkTEndian_SwapBE16(0x1407)))
-                ((German_Luxembourg, SkTEndian_SwapBE16(0x1007)))
-                ((German_Switzerland, SkTEndian_SwapBE16(0x0807)))
-                ((Greek_Greece, SkTEndian_SwapBE16(0x0408)))
-                ((Greenlandic_Greenland, SkTEndian_SwapBE16(0x046F)))
-                ((Gujarati_India, SkTEndian_SwapBE16(0x0447)))
-                ((HausaLatin_Nigeria, SkTEndian_SwapBE16(0x0468)))
-                ((Hebrew_Israel, SkTEndian_SwapBE16(0x040D)))
-                ((Hindi_India, SkTEndian_SwapBE16(0x0439)))
-                ((Hungarian_Hungary, SkTEndian_SwapBE16(0x040E)))
-                ((Icelandic_Iceland, SkTEndian_SwapBE16(0x040F)))
-                ((Igbo_Nigeria, SkTEndian_SwapBE16(0x0470)))
-                ((Indonesian_Indonesia, SkTEndian_SwapBE16(0x0421)))
-                ((Inuktitut_Canada, SkTEndian_SwapBE16(0x045D)))
-                ((InuktitutLatin_Canada, SkTEndian_SwapBE16(0x085D)))
-                ((Irish_Ireland, SkTEndian_SwapBE16(0x083C)))
-                ((isiXhosa_SouthAfrica, SkTEndian_SwapBE16(0x0434)))
-                ((isiZulu_SouthAfrica, SkTEndian_SwapBE16(0x0435)))
-                ((Italian_Italy, SkTEndian_SwapBE16(0x0410)))
-                ((Italian_Switzerland, SkTEndian_SwapBE16(0x0810)))
-                ((Japanese_Japan, SkTEndian_SwapBE16(0x0411)))
-                ((Kannada_India, SkTEndian_SwapBE16(0x044B)))
-                ((Kazakh_Kazakhstan, SkTEndian_SwapBE16(0x043F)))
-                ((Khmer_Cambodia, SkTEndian_SwapBE16(0x0453)))
-                ((Kiche_Guatemala, SkTEndian_SwapBE16(0x0486)))
-                ((Kinyarwanda_Rwanda, SkTEndian_SwapBE16(0x0487)))
-                ((Kiswahili_Kenya, SkTEndian_SwapBE16(0x0441)))
-                ((Konkani_India, SkTEndian_SwapBE16(0x0457)))
-                ((Korean_Korea, SkTEndian_SwapBE16(0x0412)))
-                ((Kyrgyz_Kyrgyzstan, SkTEndian_SwapBE16(0x0440)))
-                ((Lao_LaoPDR, SkTEndian_SwapBE16(0x0454)))
-                ((Latvian_Latvia, SkTEndian_SwapBE16(0x0426)))
-                ((Lithuanian_Lithuania, SkTEndian_SwapBE16(0x0427)))
-                ((LowerSorbian_Germany, SkTEndian_SwapBE16(0x082E)))
-                ((Luxembourgish_Luxembourg, SkTEndian_SwapBE16(0x046E)))
-                ((MacedonianFYROM_FormerYugoslavRepublicOfMacedonia, SkTEndian_SwapBE16(0x042F)))
-                ((Malay_BruneiDarussalam, SkTEndian_SwapBE16(0x083E)))
-                ((Malay_Malaysia, SkTEndian_SwapBE16(0x043E)))
-                ((Malayalam_India, SkTEndian_SwapBE16(0x044C)))
-                ((Maltese_Malta, SkTEndian_SwapBE16(0x043A)))
-                ((Maori_NewZealand, SkTEndian_SwapBE16(0x0481)))
-                ((Mapudungun_Chile, SkTEndian_SwapBE16(0x047A)))
-                ((Marathi_India, SkTEndian_SwapBE16(0x044E)))
-                ((Mohawk_Mohawk, SkTEndian_SwapBE16(0x047C)))
-                ((MongolianCyrillic_Mongolia, SkTEndian_SwapBE16(0x0450)))
-                ((MongolianTraditional_PeoplesRepublicOfChina, SkTEndian_SwapBE16(0x0850)))
-                ((Nepali_Nepal, SkTEndian_SwapBE16(0x0461)))
-                ((NorwegianBokmal_Norway, SkTEndian_SwapBE16(0x0414)))
-                ((NorwegianNynorsk_Norway, SkTEndian_SwapBE16(0x0814)))
-                ((Occitan_France, SkTEndian_SwapBE16(0x0482)))
-                ((Odia_India, SkTEndian_SwapBE16(0x0448)))
-                ((Pashto_Afghanistan, SkTEndian_SwapBE16(0x0463)))
-                ((Polish_Poland, SkTEndian_SwapBE16(0x0415)))
-                ((Portuguese_Brazil, SkTEndian_SwapBE16(0x0416)))
-                ((Portuguese_Portugal, SkTEndian_SwapBE16(0x0816)))
-                ((Punjabi_India, SkTEndian_SwapBE16(0x0446)))
-                ((Quechua_Bolivia, SkTEndian_SwapBE16(0x046B)))
-                ((Quechua_Ecuador, SkTEndian_SwapBE16(0x086B)))
-                ((Quechua_Peru, SkTEndian_SwapBE16(0x0C6B)))
-                ((Romanian_Romania, SkTEndian_SwapBE16(0x0418)))
-                ((Romansh_Switzerland, SkTEndian_SwapBE16(0x0417)))
-                ((Russian_Russia, SkTEndian_SwapBE16(0x0419)))
-                ((SamiInari_Finland, SkTEndian_SwapBE16(0x243B)))
-                ((SamiLule_Norway, SkTEndian_SwapBE16(0x103B)))
-                ((SamiLule_Sweden, SkTEndian_SwapBE16(0x143B)))
-                ((SamiNorthern_Finland, SkTEndian_SwapBE16(0x0C3B)))
-                ((SamiNorthern_Norway, SkTEndian_SwapBE16(0x043B)))
-                ((SamiNorthern_Sweden, SkTEndian_SwapBE16(0x083B)))
-                ((SamiSkolt_Finland, SkTEndian_SwapBE16(0x203B)))
-                ((SamiSouthern_Norway, SkTEndian_SwapBE16(0x183B)))
-                ((SamiSouthern_Sweden, SkTEndian_SwapBE16(0x1C3B)))
-                ((Sanskrit_India, SkTEndian_SwapBE16(0x044F)))
-                ((SerbianCyrillic_BosniaAndHerzegovina, SkTEndian_SwapBE16(0x1C1A)))
-                ((SerbianCyrillic_Serbia, SkTEndian_SwapBE16(0x0C1A)))
-                ((SerbianLatin_BosniaAndHerzegovina, SkTEndian_SwapBE16(0x181A)))
-                ((SerbianLatin_Serbia, SkTEndian_SwapBE16(0x081A)))
-                ((SesothoSaLeboa_SouthAfrica, SkTEndian_SwapBE16(0x046C)))
-                ((Setswana_SouthAfrica, SkTEndian_SwapBE16(0x0432)))
-                ((Sinhala_SriLanka, SkTEndian_SwapBE16(0x045B)))
-                ((Slovak_Slovakia, SkTEndian_SwapBE16(0x041B)))
-                ((Slovenian_Slovenia, SkTEndian_SwapBE16(0x0424)))
-                ((Spanish_Argentina, SkTEndian_SwapBE16(0x2C0A)))
-                ((Spanish_Bolivia, SkTEndian_SwapBE16(0x400A)))
-                ((Spanish_Chile, SkTEndian_SwapBE16(0x340A)))
-                ((Spanish_Colombia, SkTEndian_SwapBE16(0x240A)))
-                ((Spanish_CostaRica, SkTEndian_SwapBE16(0x140A)))
-                ((Spanish_DominicanRepublic, SkTEndian_SwapBE16(0x1C0A)))
-                ((Spanish_Ecuador, SkTEndian_SwapBE16(0x300A)))
-                ((Spanish_ElSalvador, SkTEndian_SwapBE16(0x440A)))
-                ((Spanish_Guatemala, SkTEndian_SwapBE16(0x100A)))
-                ((Spanish_Honduras, SkTEndian_SwapBE16(0x480A)))
-                ((Spanish_Mexico, SkTEndian_SwapBE16(0x080A)))
-                ((Spanish_Nicaragua, SkTEndian_SwapBE16(0x4C0A)))
-                ((Spanish_Panama, SkTEndian_SwapBE16(0x180A)))
-                ((Spanish_Paraguay, SkTEndian_SwapBE16(0x3C0A)))
-                ((Spanish_Peru, SkTEndian_SwapBE16(0x280A)))
-                ((Spanish_PuertoRico, SkTEndian_SwapBE16(0x500A)))
-                ((SpanishModernSort_Spain, SkTEndian_SwapBE16(0x0C0A)))
-                ((SpanishTraditionalSort_Spain, SkTEndian_SwapBE16(0x040A)))
-                ((Spanish_UnitedStates, SkTEndian_SwapBE16(0x540A)))
-                ((Spanish_Uruguay, SkTEndian_SwapBE16(0x380A)))
-                ((Spanish_Venezuela, SkTEndian_SwapBE16(0x200A)))
-                ((Sweden_Finland, SkTEndian_SwapBE16(0x081D)))
-                ((Swedish_Sweden, SkTEndian_SwapBE16(0x041D)))
-                ((Syriac_Syria, SkTEndian_SwapBE16(0x045A)))
-                ((TajikCyrillic_Tajikistan, SkTEndian_SwapBE16(0x0428)))
-                ((TamazightLatin_Algeria, SkTEndian_SwapBE16(0x085F)))
-                ((Tamil_India, SkTEndian_SwapBE16(0x0449)))
-                ((Tatar_Russia, SkTEndian_SwapBE16(0x0444)))
-                ((Telugu_India, SkTEndian_SwapBE16(0x044A)))
-                ((Thai_Thailand, SkTEndian_SwapBE16(0x041E)))
-                ((Tibetan_PRC, SkTEndian_SwapBE16(0x0451)))
-                ((Turkish_Turkey, SkTEndian_SwapBE16(0x041F)))
-                ((Turkmen_Turkmenistan, SkTEndian_SwapBE16(0x0442)))
-                ((Uighur_PRC, SkTEndian_SwapBE16(0x0480)))
-                ((Ukrainian_Ukraine, SkTEndian_SwapBE16(0x0422)))
-                ((UpperSorbian_Germany, SkTEndian_SwapBE16(0x042E)))
-                ((Urdu_IslamicRepublicOfPakistan, SkTEndian_SwapBE16(0x0420)))
-                ((UzbekCyrillic_Uzbekistan, SkTEndian_SwapBE16(0x0843)))
-                ((UzbekLatin_Uzbekistan, SkTEndian_SwapBE16(0x0443)))
-                ((Vietnamese_Vietnam, SkTEndian_SwapBE16(0x042A)))
-                ((Welsh_UnitedKingdom, SkTEndian_SwapBE16(0x0452)))
-                ((Wolof_Senegal, SkTEndian_SwapBE16(0x0488)))
-                ((Yakut_Russia, SkTEndian_SwapBE16(0x0485)))
-                ((Yi_PRC, SkTEndian_SwapBE16(0x0478)))
-                ((Yoruba_Nigeria, SkTEndian_SwapBE16(0x046A)))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } windows;
-        //languageTagID - 0x8000 is an index into the langTagRecord array.
-        SK_OT_USHORT languageTagID;
-    } languageID;
-    union NameID {
-       struct Predefined {
-            SK_TYPED_ENUM(Value, SK_OT_USHORT,
-                ((CopyrightNotice, SkTEndian_SwapBE16(0)))
-                ((FontFamilyName, SkTEndian_SwapBE16(1)))
-                ((FontSubfamilyName, SkTEndian_SwapBE16(2)))
-                ((UniqueFontIdentifier, SkTEndian_SwapBE16(3)))
-                ((FullFontName, SkTEndian_SwapBE16(4)))
-                ((VersionString, SkTEndian_SwapBE16(5))) //Version <number>.<number>
-                ((PostscriptName, SkTEndian_SwapBE16(6))) //See spec for constraints.
-                ((Trademark, SkTEndian_SwapBE16(7)))
-                ((ManufacturerName, SkTEndian_SwapBE16(8)))
-                ((Designer, SkTEndian_SwapBE16(9)))
-                ((Description, SkTEndian_SwapBE16(10)))
-                ((URLVendor, SkTEndian_SwapBE16(11)))
-                ((URLDesigner, SkTEndian_SwapBE16(12)))
-                ((LicenseDescription, SkTEndian_SwapBE16(13)))
-                ((LicenseInfoURL, SkTEndian_SwapBE16(14)))
-                ((PreferredFamily, SkTEndian_SwapBE16(16)))
-                ((PreferredSubfamily, SkTEndian_SwapBE16(17)))
-                ((CompatibleFullName, SkTEndian_SwapBE16(18)))
-                ((SampleText, SkTEndian_SwapBE16(19)))
-                ((PostscriptCIDFindfontName, SkTEndian_SwapBE16(20)))
-                ((WWSFamilyName, SkTEndian_SwapBE16(21)))
-                ((WWSSubfamilyName, SkTEndian_SwapBE16(22)))
-                SK_SEQ_END,
-            (value)SK_SEQ_END)
-        } predefined;
-        //values > 256 are font specific strings.
-        SK_OT_USHORT fontSpecific;
-    } nameID;
-    SK_OT_USHORT length;
-    SK_OT_USHORT offset; //From start of storage area.
-};
-
-#pragma pack(pop)
-
-
-SK_COMPILE_ASSERT(sizeof(SkOTTableName) == 6, sizeof_SkOTTableName_not_6);
-SK_COMPILE_ASSERT(sizeof(SkOTTableNameF1) == 2, sizeof_SkOTTableNameF1_not_2);
-SK_COMPILE_ASSERT(sizeof(SkOTTableNameLangTagRecord) == 4, sizeof_SkOTTableNameLangTagRecord_not_4);
-SK_COMPILE_ASSERT(sizeof(SkOTTableNameRecord) == 12, sizeof_SkOTTableNameRecord_not_12);
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkOTTable_post.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkOTTable_post_DEFINED
-#define SkOTTable_post_DEFINED
-
-#include "SkEndian.h"
-#include "SkOTTableTypes.h"
-#include "SkTypedEnum.h"
-
-#pragma pack(push, 1)
-
-struct SkOTTablePostScript {
-    struct Format {
-        SK_TYPED_ENUM(Value, SK_OT_Fixed,
-            ((version1, SkTEndian_SwapBE32(0x00010000)))
-            ((version2, SkTEndian_SwapBE32(0x00020000)))
-            ((version2_5, SkTEndian_SwapBE32(0x00025000)))
-            ((version3, SkTEndian_SwapBE32(0x00030000)))
-            ((version4, SkTEndian_SwapBE32(0x00040000)))
-            SK_SEQ_END,
-        SK_SEQ_END)
-        SK_OT_Fixed value;
-    } format;
-    SK_OT_Fixed italicAngle;
-    SK_OT_FWORD underlinePosition;
-    SK_OT_FWORD underlineThickness;
-    SK_OT_ULONG isFixedPitch;
-    SK_OT_ULONG minMemType42;
-    SK_OT_ULONG maxMemType42;
-    SK_OT_ULONG minMemType1;
-    SK_OT_ULONG maxMemType1;
-};
-
-#pragma pack(pop)
-
-
-#include <stddef.h>
-SK_COMPILE_ASSERT(offsetof(SkOTTablePostScript, maxMemType1) == 28, SkOTTablePostScript_maxMemType1_not_at_28);
-SK_COMPILE_ASSERT(sizeof(SkOTTablePostScript) == 32, sizeof_SkOTTablePostScript_not_32);
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkOTUtils.cpp
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "SkData.h"
-#include "SkEndian.h"
-#include "SkSFNTHeader.h"
-#include "SkStream.h"
-#include "SkOTTable_head.h"
-#include "SkOTTable_name.h"
-#include "SkOTTableTypes.h"
-#include "SkOTUtils.h"
-
-uint32_t SkOTUtils::CalcTableChecksum(SK_OT_ULONG *data, size_t length) {
-    uint32_t sum = 0;
-    SK_OT_ULONG *dataEnd = data + ((length + 3) & ~3) / sizeof(SK_OT_ULONG);
-    for (; data < dataEnd; ++data) {
-        sum += SkEndian_SwapBE32(*data);
-    }
-    return sum;
-}
-
-SkData* SkOTUtils::RenameFont(SkStream* fontData,
-                              const char* fontName, int fontNameLen) {
-
-    // Get the sfnt header.
-    SkSFNTHeader sfntHeader;
-    if (fontData->read(&sfntHeader, sizeof(sfntHeader)) < sizeof(sfntHeader)) {
-        return NULL;
-    }
-
-    // Find the existing 'name' table.
-    int tableIndex;
-    SkSFNTTableDirectoryEntry tableEntry;
-    int numTables = SkEndian_SwapBE16(sfntHeader.numTables);
-    for (tableIndex = 0; tableIndex < numTables; ++tableIndex) {
-        if (fontData->read(&tableEntry, sizeof(tableEntry)) < sizeof(tableEntry)) {
-            return NULL;
-        }
-        if ('name' == SkEndian_SwapBE32(tableEntry.tag)) {
-            break;
-        }
-    }
-    if (tableIndex == numTables) {
-        return NULL;
-    }
-
-    if (!fontData->rewind()) {
-        return NULL;
-    }
-
-    // The required 'name' record types: Family, Style, Unique, Full and PostScript.
-    const SkOTTableNameRecord::NameID::Predefined::Value namesToCreate[] = {
-        SkOTTableNameRecord::NameID::Predefined::FontFamilyName,
-        SkOTTableNameRecord::NameID::Predefined::FontSubfamilyName,
-        SkOTTableNameRecord::NameID::Predefined::UniqueFontIdentifier,
-        SkOTTableNameRecord::NameID::Predefined::FullFontName,
-        SkOTTableNameRecord::NameID::Predefined::PostscriptName,
-    };
-    const int namesCount = SK_ARRAY_COUNT(namesToCreate);
-
-    // Copy the data, leaving out the old name table.
-    // In theory, we could also remove the DSIG table if it exists.
-    size_t nameTableLogicalSize = sizeof(SkOTTableName) + (namesCount * sizeof(SkOTTableNameRecord)) + (fontNameLen * sizeof(wchar_t));
-    size_t nameTablePhysicalSize = (nameTableLogicalSize + 3) & ~3; // Rounded up to a multiple of 4.
-
-    size_t oldNameTablePhysicalSize = (SkEndian_SwapBE32(tableEntry.logicalLength) + 3) & ~3; // Rounded up to a multiple of 4.
-    size_t oldNameTableOffset = SkEndian_SwapBE32(tableEntry.offset);
-
-    //originalDataSize is the size of the original data without the name table.
-    size_t originalDataSize = fontData->getLength() - oldNameTablePhysicalSize;
-    size_t newDataSize = originalDataSize + nameTablePhysicalSize;
-    
-    SK_OT_BYTE* data = static_cast<SK_OT_BYTE*>(sk_malloc_throw(newDataSize));
-    SkAutoTUnref<SkData> rewrittenFontData(SkData::NewFromMalloc(data, newDataSize));
-
-    if (fontData->read(data, oldNameTableOffset) < oldNameTableOffset) {
-        return NULL;
-    }
-    if (fontData->skip(oldNameTablePhysicalSize) < oldNameTablePhysicalSize) {
-        return NULL;
-    }
-    if (fontData->read(data + oldNameTableOffset, originalDataSize - oldNameTableOffset) < originalDataSize - oldNameTableOffset) {
-        return NULL;
-    }
-
-    //Fix up the offsets of the directory entries after the old 'name' table entry.
-    SkSFNTTableDirectoryEntry* currentEntry = reinterpret_cast<SkSFNTTableDirectoryEntry*>(data + sizeof(SkSFNTHeader));
-    SkSFNTTableDirectoryEntry* endEntry = currentEntry + numTables;
-    SkSFNTTableDirectoryEntry* headTableEntry = NULL;
-    for (; currentEntry < endEntry; ++currentEntry) {
-        uint32_t oldOffset = SkEndian_SwapBE32(currentEntry->offset);
-        if (oldOffset > oldNameTableOffset) {
-            currentEntry->offset = SkEndian_SwapBE32(oldOffset - oldNameTablePhysicalSize);
-        }
-        if ('head' == SkEndian_SwapBE32(tableEntry.tag)) {
-            headTableEntry = currentEntry;
-        }
-    }
-
-    // Make the table directory entry point to the new 'name' table.
-    SkSFNTTableDirectoryEntry* nameTableEntry = reinterpret_cast<SkSFNTTableDirectoryEntry*>(data + sizeof(SkSFNTHeader)) + tableIndex;
-    nameTableEntry->logicalLength = SkEndian_SwapBE32(nameTableLogicalSize);
-    nameTableEntry->offset = SkEndian_SwapBE32(originalDataSize);
-
-    // Write the new 'name' table after the original font data.
-    SkOTTableName* nameTable = reinterpret_cast<SkOTTableName*>(data + originalDataSize);
-    unsigned short stringOffset = sizeof(SkOTTableName) + (namesCount * sizeof(SkOTTableNameRecord));
-    nameTable->format = SkOTTableName::format_0;
-    nameTable->count = SkEndian_SwapBE16(namesCount);
-    nameTable->stringOffset = SkEndian_SwapBE16(stringOffset);
-
-    SkOTTableNameRecord* nameRecords = reinterpret_cast<SkOTTableNameRecord*>(data + originalDataSize + sizeof(SkOTTableName));
-    for (int i = 0; i < namesCount; ++i) {
-        nameRecords[i].platformID.value = SkOTTableNameRecord::PlatformID::Windows;
-        nameRecords[i].encodingID.windows.value = SkOTTableNameRecord::EncodingID::Windows::UnicodeBMPUCS2;
-        nameRecords[i].languageID.windows.value = SkOTTableNameRecord::LanguageID::Windows::English_UnitedStates;
-        nameRecords[i].nameID.predefined.value = namesToCreate[i];
-        nameRecords[i].offset = SkEndian_SwapBE16(0);
-        nameRecords[i].length = SkEndian_SwapBE16(fontNameLen * sizeof(wchar_t));
-    }
-
-    SK_OT_USHORT* nameString = reinterpret_cast<SK_OT_USHORT*>(data + originalDataSize + stringOffset);
-    for (int i = 0; i < fontNameLen; ++i) {
-        nameString[i] = SkEndian_SwapBE16(fontName[i]);
-    }
-
-    unsigned char* logical = data + originalDataSize + nameTableLogicalSize;
-    unsigned char* physical = data + originalDataSize + nameTablePhysicalSize;
-    for (; logical < physical; ++logical) {
-        *logical = 0;
-    }
-
-    // Update the table checksum in the directory entry.
-    nameTableEntry->checksum = SkEndian_SwapBE32(SkOTUtils::CalcTableChecksum(reinterpret_cast<SK_OT_ULONG*>(nameTable), nameTableLogicalSize));
-
-    // Update the checksum adjustment in the head table.
-    if (headTableEntry) {
-        size_t headTableOffset = SkEndian_SwapBE32(headTableEntry->offset);
-        if (headTableOffset + sizeof(SkOTTableHead) < originalDataSize) {
-            SkOTTableHead* headTable = reinterpret_cast<SkOTTableHead*>(data + headTableOffset);
-            headTable->checksumAdjustment = SkEndian_SwapBE32(0);
-            uint32_t unadjustedFontChecksum = SkOTUtils::CalcTableChecksum(reinterpret_cast<SK_OT_ULONG*>(data), originalDataSize + nameTablePhysicalSize);
-            headTable->checksumAdjustment = SkEndian_SwapBE32(SkOTTableHead::fontChecksum - unadjustedFontChecksum);
-        }
-    }
-
-    return rewrittenFontData.detach();
-}
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkOTUtils.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkOTUtils_DEFINED
-#define SkOTUtils_DEFINED
-
-#include "SkOTTableTypes.h"
-class SkStream;
-
-struct SkOTUtils {
-    /**
-      *  Calculates the OpenType checksum for data.
-      */
-    static uint32_t CalcTableChecksum(SK_OT_ULONG *data, size_t length);
-
-    /**
-      *  Renames an sfnt font. On failure (invalid data or not an sfnt font)
-      *  returns NULL.
-      *
-      *  Essentially, this removes any existing 'name' table and replaces it
-      *  with a new one in which FontFamilyName, FontSubfamilyName,
-      *  UniqueFontIdentifier, FullFontName, and PostscriptName are fontName.
-      *
-      *  The new 'name' table records will be written with the Windows,
-      *  UnicodeBMPUCS2, and English_UnitedStates settings.
-      *
-      *  fontName and fontNameLen must be specified in terms of ASCII chars.
-      */
-    static SkData* RenameFont(SkStream* fontData,
-                              const char* fontName, int fontNameLen);
-};
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkPanose.h
+++ /dev/null
@@ -1,639 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkPanose_DEFINED
-#define SkPanose_DEFINED
-
-#include "SkOTTableTypes.h"
-#include "SkTypedEnum.h"
-
-#pragma pack(push, 1)
-
-struct SkPanose {
-    //This value changes the meaning of the following 9 bytes.
-    struct FamilyType {
-        SK_TYPED_ENUM(Value, SK_OT_BYTE,
-            ((Any, 0))
-            ((NoFit, 1))
-            ((TextAndDisplay, 2))
-            ((Script, 3))
-            ((Decorative, 4))
-            ((Pictoral, 5))
-            SK_SEQ_END,
-        (value)SK_SEQ_END)
-    } bFamilyType;
-
-    union Data {
-        struct TextAndDisplay {
-            struct SerifStyle {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((Cove, 2))
-                    ((ObtuseCove, 3))
-                    ((SquareCove, 4))
-                    ((ObtuseSquareCove, 5))
-                    ((Square, 6))
-                    ((Thin, 7))
-                    ((Bone, 8))
-                    ((Exaggerated, 9))
-                    ((Triangle, 10))
-                    ((NormalSans, 11))
-                    ((ObtuseSans, 12))
-                    ((PerpSans, 13))
-                    ((Flared, 14))
-                    ((Rounded, 15))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bSerifStyle;
-
-            struct Weight {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((VeryLight, 2))
-                    ((Light, 3))
-                    ((Thin, 4))
-                    ((Book, 5))
-                    ((Medium, 6))
-                    ((Demi, 7))
-                    ((Bold, 8))
-                    ((Heavy, 9))
-                    ((Black, 10))
-                    ((ExtraBlack, 11))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bWeight;
-
-            struct Proportion {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((OldStyle, 2))
-                    ((Modern, 3))
-                    ((EvenWidth, 4))
-                    ((Expanded, 5))
-                    ((Condensed, 6))
-                    ((VeryExpanded, 7))
-                    ((VeryCondensed, 8))
-                    ((Monospaced, 9))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bProportion;
-
-            struct Contrast {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((None, 2))
-                    ((VeryLow, 3))
-                    ((Low, 4))
-                    ((MediumLow, 5))
-                    ((Medium, 6))
-                    ((MediumHigh, 7))
-                    ((High, 8))
-                    ((VeryHigh, 9))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bContrast;
-
-#ifdef SK_WIN_PANOSE
-            //This is what Windows (and FontForge and Apple TT spec) define.
-            //The Impact font uses 9.
-            struct StrokeVariation {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((GradualDiagonal, 2))
-                    ((GradualTransitional, 3))
-                    ((GradualVertical, 4))
-                    ((GradualHorizontal, 5))
-                    ((RapidVertical, 6))
-                    ((RapidHorizontal, 7))
-                    ((InstantVertical, 8))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bStrokeVariation;
-#else
-            //Stroke variation description in OT OS/2 ver0,ver1 is incorrect.
-            //This is what HP Panose says.
-            struct StrokeVariation {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((NoVariation, 2))
-                    ((Gradual_Diagonal, 3))
-                    ((Gradual_Transitional, 4))
-                    ((Gradual_Vertical, 5))
-                    ((Gradual_Horizontal, 6))
-                    ((Rapid_Vertical, 7))
-                    ((Rapid_Horizontal, 8))
-                    ((Instant_Vertical, 9))
-                    ((Instant_Horizontal, 10))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bStrokeVariation;
-#endif
-
-            struct ArmStyle {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((StraightArms_Horizontal, 2))
-                    ((StraightArms_Wedge, 3))
-                    ((StraightArms_Vertical, 4))
-                    ((StraightArms_SingleSerif, 5))
-                    ((StraightArms_DoubleSerif, 6))
-                    ((NonStraightArms_Horizontal, 7))
-                    ((NonStraightArms_Wedge, 8))
-                    ((NonStraightArms_Vertical, 9))
-                    ((NonStraightArms_SingleSerif, 10))
-                    ((NonStraightArms_DoubleSerif, 11))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bArmStyle;
-
-            struct Letterform {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((Normal_Contact, 2))
-                    ((Normal_Weighted, 3))
-                    ((Normal_Boxed, 4))
-                    ((Normal_Flattened, 5))
-                    ((Normal_Rounded, 6))
-                    ((Normal_OffCenter, 7))
-                    ((Normal_Square, 8))
-                    ((Oblique_Contact, 9))
-                    ((Oblique_Weighted, 10))
-                    ((Oblique_Boxed, 11))
-                    ((Oblique_Flattened, 12))
-                    ((Oblique_Rounded, 13))
-                    ((Oblique_OffCenter, 14))
-                    ((Oblique_Square, 15))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bLetterform;
-
-            struct Midline {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((Standard_Trimmed, 2))
-                    ((Standard_Pointed, 3))
-                    ((Standard_Serifed, 4))
-                    ((High_Trimmed, 5))
-                    ((High_Pointed, 6))
-                    ((High_Serifed, 7))
-                    ((Constant_Trimmed, 8))
-                    ((Constant_Pointed, 9))
-                    ((Constant_Serifed, 10))
-                    ((Low_Trimmed, 11))
-                    ((Low_Pointed, 12))
-                    ((Low_Serifed, 13))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bMidline;
-
-            struct XHeight {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((Constant_Small, 2))
-                    ((Constant_Standard, 3))
-                    ((Constant_Large, 4))
-                    ((Ducking_Small, 5))
-                    ((Ducking_Standard, 6))
-                    ((Ducking_Large, 7))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bXHeight;
-        } textAndDisplay;
-
-        struct Script {
-            struct ToolKind {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((FlatNib, 2))
-                    ((PressurePoint, 3))
-                    ((Engraved, 4))
-                    ((Ball, 5))
-                    ((Brush, 6))
-                    ((Rough, 7))
-                    ((FeltPen, 8))
-                    ((WildBrush, 9))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bToolKind;
-
-            struct Weight {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((VeryLight, 2))
-                    ((Light, 3))
-                    ((Thin, 4))
-                    ((Book, 5))
-                    ((Medium, 6))
-                    ((Demi, 7))
-                    ((Bold, 8))
-                    ((Heavy, 9))
-                    ((Black, 10))
-                    ((ExtraBlack, 11))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bWeight;
-
-            struct Spacing {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((ProportionalSpaced, 2))
-                    ((Monospaced, 3))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bSpacing;
-
-            struct AspectRatio {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((VeryCondensed, 2))
-                    ((Condensed, 3))
-                    ((Normal, 4))
-                    ((Expanded, 5))
-                    ((VeryExpanded, 6))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bAspectRatio;
-
-            struct Contrast {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((None, 2))
-                    ((VeryLow, 3))
-                    ((Low, 4))
-                    ((MediumLow, 5))
-                    ((Medium, 6))
-                    ((MediumHigh, 7))
-                    ((High, 8))
-                    ((VeryHigh, 9))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bContrast;
-
-            struct Topology {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((Roman_Disconnected, 2))
-                    ((Roman_Trailing, 3))
-                    ((Roman_Connected, 4))
-                    ((Cursive_Disconnected, 5))
-                    ((Cursive_Trailing, 6))
-                    ((Cursive_Connected, 7))
-                    ((Blackletter_Disconnected, 8))
-                    ((Blackletter_Trailing, 9))
-                    ((Blackletter_Connected, 10))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bTopology;
-
-            struct Form {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((Upright_NoWrapping, 2))
-                    ((Upright_SomeWrapping, 3))
-                    ((Upright_MoreWrapping, 4))
-                    ((Upright_ExtremeWrapping, 5))
-                    ((Oblique_NoWrapping, 6))
-                    ((Oblique_SomeWrapping, 7))
-                    ((Oblique_MoreWrapping, 8))
-                    ((Oblique_ExtremeWrapping, 9))
-                    ((Exaggerated_NoWrapping, 10))
-                    ((Exaggerated_SomeWrapping, 11))
-                    ((Exaggerated_MoreWrapping, 12))
-                    ((Exaggerated_ExtremeWrapping, 13))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bForm;
-
-            struct Finials {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((None_NoLoops, 2))
-                    ((None_ClosedLoops, 3))
-                    ((None_OpenLoops, 4))
-                    ((Sharp_NoLoops, 5))
-                    ((Sharp_ClosedLoops, 6))
-                    ((Sharp_OpenLoops, 7))
-                    ((Tapered_NoLoops, 8))
-                    ((Tapered_ClosedLoops, 9))
-                    ((Tapered_OpenLoops, 10))
-                    ((Round_NoLoops, 11))
-                    ((Round_ClosedLoops, 12))
-                    ((Round_OpenLoops, 13))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bFinials;
-
-            struct XAscent {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((VeryLow, 2))
-                    ((Low, 3))
-                    ((Medium, 4))
-                    ((High, 5))
-                    ((VeryHigh, 6))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bXAscent;
-        } script;
-
-        struct Decorative {
-            struct Class {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((Derivative, 2))
-                    ((NonStandard_Topology, 3))
-                    ((NonStandard_Elements, 4))
-                    ((NonStandard_Aspect, 5))
-                    ((Initials, 6))
-                    ((Cartoon, 7))
-                    ((PictureStems, 8))
-                    ((Ornamented, 9))
-                    ((TextAndBackground, 10))
-                    ((Collage, 11))
-                    ((Montage, 12))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bClass;
-
-            struct Weight {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((VeryLight, 2))
-                    ((Light, 3))
-                    ((Thin, 4))
-                    ((Book, 5))
-                    ((Medium, 6))
-                    ((Demi, 7))
-                    ((Bold, 8))
-                    ((Heavy, 9))
-                    ((Black, 10))
-                    ((ExtraBlack, 11))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bWeight;
-
-            struct Aspect {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((SuperCondensed, 2))
-                    ((VeryCondensed, 3))
-                    ((Condensed, 4))
-                    ((Normal, 5))
-                    ((Extended, 6))
-                    ((VeryExtended, 7))
-                    ((SuperExtended, 8))
-                    ((Monospaced, 9))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bAspect;
-
-            struct Contrast {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((None, 2))
-                    ((VeryLow, 3))
-                    ((Low, 4))
-                    ((MediumLow, 5))
-                    ((Medium, 6))
-                    ((MediumHigh, 7))
-                    ((High, 8))
-                    ((VeryHigh, 9))
-                    ((HorizontalLow, 10))
-                    ((HorizontalMedium, 11))
-                    ((HorizontalHigh, 12))
-                    ((Broken, 13))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bContrast;
-
-            struct SerifVariant {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((Cove, 2))
-                    ((ObtuseCove, 3))
-                    ((SquareCove, 4))
-                    ((ObtuseSquareCove, 5))
-                    ((Square, 6))
-                    ((Thin, 7))
-                    ((Oval, 8))
-                    ((Exaggerated, 9))
-                    ((Triangle, 10))
-                    ((NormalSans, 11))
-                    ((ObtuseSans, 12))
-                    ((PerpendicularSans, 13))
-                    ((Flared, 14))
-                    ((Rounded, 15))
-                    ((Script, 16))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bSerifVariant;
-
-            struct Treatment {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((None_StandardSolidFill, 2))
-                    ((White_NoFill, 3))
-                    ((PatternedFill, 4))
-                    ((ComplexFill, 5))
-                    ((ShapedFill, 6))
-                    ((DrawnDistressed, 7))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bTreatment;
-
-            struct Lining {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((None, 2))
-                    ((Inline, 3))
-                    ((Outline, 4))
-                    ((Engraved, 5))
-                    ((Shadow, 6))
-                    ((Relief, 7))
-                    ((Backdrop, 8))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bLining;
-
-            struct Topology {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((Standard, 2))
-                    ((Square, 3))
-                    ((MultipleSegment, 4))
-                    ((DecoWacoMidlines, 5))
-                    ((UnevenWeighting, 6))
-                    ((DiverseArms, 7))
-                    ((DiverseForms, 8))
-                    ((LombardicForms, 9))
-                    ((UpperCaseInLowerCase, 10))
-                    ((ImpliedTopology, 11))
-                    ((HorseshoeEandA, 12))
-                    ((Cursive, 13))
-                    ((Blackletter, 14))
-                    ((SwashVariance, 15))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bTopology;
-
-            struct RangeOfCharacters {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((ExtendedCollection, 2))
-                    ((Litterals, 3))
-                    ((NoLowerCase, 4))
-                    ((SmallCaps, 5))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bRangeOfCharacters;
-        } decorative;
-
-        struct Pictoral {
-            struct Kind {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((Montages, 2))
-                    ((Pictures, 3))
-                    ((Shapes, 4))
-                    ((Scientific, 5))
-                    ((Music, 6))
-                    ((Expert, 7))
-                    ((Patterns, 8))
-                    ((Boarders, 9))
-                    ((Icons, 10))
-                    ((Logos, 11))
-                    ((IndustrySpecific, 12))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bKind;
-
-            struct Weight {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((NoFit, 1))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bWeight;
-
-            struct Spacing {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((ProportionalSpaced, 2))
-                    ((Monospaced, 3))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bSpacing;
-
-            struct AspectRatioAndContrast {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((NoFit, 1))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bAspectRatioAndContrast;
-
-            struct AspectRatio94 {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((NoWidth, 2))
-                    ((ExceptionallyWide, 3))
-                    ((SuperWide, 4))
-                    ((VeryWide, 5))
-                    ((Wide, 6))
-                    ((Normal, 7))
-                    ((Narrow, 8))
-                    ((VeryNarrow, 9))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bAspectRatio94;
-
-            struct AspectRatio119 {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((NoWidth, 2))
-                    ((ExceptionallyWide, 3))
-                    ((SuperWide, 4))
-                    ((VeryWide, 5))
-                    ((Wide, 6))
-                    ((Normal, 7))
-                    ((Narrow, 8))
-                    ((VeryNarrow, 9))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bAspectRatio119;
-
-             struct AspectRatio157 {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((NoWidth, 2))
-                    ((ExceptionallyWide, 3))
-                    ((SuperWide, 4))
-                    ((VeryWide, 5))
-                    ((Wide, 6))
-                    ((Normal, 7))
-                    ((Narrow, 8))
-                    ((VeryNarrow, 9))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bAspectRatio157;
-
-            struct AspectRatio163 {
-                SK_TYPED_ENUM(Value, SK_OT_BYTE,
-                    ((Any, 0))
-                    ((NoFit, 1))
-                    ((NoWidth, 2))
-                    ((ExceptionallyWide, 3))
-                    ((SuperWide, 4))
-                    ((VeryWide, 5))
-                    ((Wide, 6))
-                    ((Normal, 7))
-                    ((Narrow, 8))
-                    ((VeryNarrow, 9))
-                    SK_SEQ_END,
-                (value)SK_SEQ_END)
-            } bAspectRatio163;
-        } pictoral;
-    } data;
-};
-
-#pragma pack(pop)
-
-
-SK_COMPILE_ASSERT(sizeof(SkPanose) == 10, sizeof_SkPanose_not_10);
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkPreprocessorSeq.h
+++ /dev/null
@@ -1,826 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkPreprocessorSeq_DEFINED
-#define SkPreprocessorSeq_DEFINED
-
-#define SK_CONCAT(a, b) SK_CONCAT_I(a, b) // allow for macro expansion
-#define SK_CONCAT_I(a, b) a ## b
-
-//A preprocessor pair is of the form '(a, b)'
-#define SK_PAIR_FIRST(pair) SK_PAIR_FIRST_I pair
-#define SK_PAIR_FIRST_I(a, b) a
-#define SK_PAIR_SECOND(pair) SK_PAIR_SECOND_I pair
-#define SK_PAIR_SECOND_I(a, b) b
-
-//A preprocessor sequence is of the form (a)(b)(c)SK_SEQ_END
-#if 0
-//The following is what we logically want to do.
-//However, MSVC expands macros at the wrong time, causing an error on use of
-//SK_SEQ_IGNORE_SECOND_I because it formally takes two parameters, but we only
-//pass "one" parameter in SK_SEQ_IGNORE_SECOND.
-
-#define SK_SEQ_HEAD(seq) SK_SEQ_IGNORE_SECOND(SK_SEQ_FIRST seq)
-#define SK_SEQ_IGNORE_SECOND(x) SK_SEQ_IGNORE_SECOND_I(x) // expand x
-#define SK_SEQ_IGNORE_SECOND_I(x, _) x
-#define SK_SEQ_FIRST(x) x, SK_NIL
-
-#else
-
-//This is less obvious, but works on GCC, clang, and MSVC.
-#define SK_SEQ_HEAD(seq) SK_SEQ_HEAD_II((SK_SEQ_FIRST seq))
-#define SK_SEQ_HEAD_II(x) SK_SEQ_IGNORE_SECOND_I x
-#define SK_SEQ_IGNORE_SECOND_I(x, _) x
-#define SK_SEQ_FIRST(x) x, SK_NIL
-
-#endif
-
-#define SK_SEQ_TAIL(seq) SK_SEQ_TAIL_I seq
-#define SK_SEQ_TAIL_I(x)
-
-#define SK_SEQ_SIZE(seq) SK_CONCAT(SK_SEQ_SIZE_, SK_SEQ_SIZE_TERMINATOR seq)
-
-#define SK_SEQ_SIZE_TERMINATOR(_) SK_SEQ_SIZE_0
-#define SK_SEQ_SIZE_0(_) SK_SEQ_SIZE_1
-#define SK_SEQ_SIZE_1(_) SK_SEQ_SIZE_2
-#define SK_SEQ_SIZE_2(_) SK_SEQ_SIZE_3
-#define SK_SEQ_SIZE_3(_) SK_SEQ_SIZE_4
-#define SK_SEQ_SIZE_4(_) SK_SEQ_SIZE_5
-#define SK_SEQ_SIZE_5(_) SK_SEQ_SIZE_6
-#define SK_SEQ_SIZE_6(_) SK_SEQ_SIZE_7
-#define SK_SEQ_SIZE_7(_) SK_SEQ_SIZE_8
-#define SK_SEQ_SIZE_8(_) SK_SEQ_SIZE_9
-#define SK_SEQ_SIZE_9(_) SK_SEQ_SIZE_10
-#define SK_SEQ_SIZE_10(_) SK_SEQ_SIZE_11
-#define SK_SEQ_SIZE_11(_) SK_SEQ_SIZE_12
-#define SK_SEQ_SIZE_12(_) SK_SEQ_SIZE_13
-#define SK_SEQ_SIZE_13(_) SK_SEQ_SIZE_14
-#define SK_SEQ_SIZE_14(_) SK_SEQ_SIZE_15
-#define SK_SEQ_SIZE_15(_) SK_SEQ_SIZE_16
-#define SK_SEQ_SIZE_16(_) SK_SEQ_SIZE_17
-#define SK_SEQ_SIZE_17(_) SK_SEQ_SIZE_18
-#define SK_SEQ_SIZE_18(_) SK_SEQ_SIZE_19
-#define SK_SEQ_SIZE_19(_) SK_SEQ_SIZE_20
-#define SK_SEQ_SIZE_20(_) SK_SEQ_SIZE_21
-#define SK_SEQ_SIZE_21(_) SK_SEQ_SIZE_22
-#define SK_SEQ_SIZE_22(_) SK_SEQ_SIZE_23
-#define SK_SEQ_SIZE_23(_) SK_SEQ_SIZE_24
-#define SK_SEQ_SIZE_24(_) SK_SEQ_SIZE_25
-#define SK_SEQ_SIZE_25(_) SK_SEQ_SIZE_26
-#define SK_SEQ_SIZE_26(_) SK_SEQ_SIZE_27
-#define SK_SEQ_SIZE_27(_) SK_SEQ_SIZE_28
-#define SK_SEQ_SIZE_28(_) SK_SEQ_SIZE_29
-#define SK_SEQ_SIZE_29(_) SK_SEQ_SIZE_30
-#define SK_SEQ_SIZE_30(_) SK_SEQ_SIZE_31
-#define SK_SEQ_SIZE_31(_) SK_SEQ_SIZE_32
-#define SK_SEQ_SIZE_32(_) SK_SEQ_SIZE_33
-#define SK_SEQ_SIZE_33(_) SK_SEQ_SIZE_34
-#define SK_SEQ_SIZE_34(_) SK_SEQ_SIZE_35
-#define SK_SEQ_SIZE_35(_) SK_SEQ_SIZE_36
-#define SK_SEQ_SIZE_36(_) SK_SEQ_SIZE_37
-#define SK_SEQ_SIZE_37(_) SK_SEQ_SIZE_38
-#define SK_SEQ_SIZE_38(_) SK_SEQ_SIZE_39
-#define SK_SEQ_SIZE_39(_) SK_SEQ_SIZE_40
-#define SK_SEQ_SIZE_40(_) SK_SEQ_SIZE_41
-#define SK_SEQ_SIZE_41(_) SK_SEQ_SIZE_42
-#define SK_SEQ_SIZE_42(_) SK_SEQ_SIZE_43
-#define SK_SEQ_SIZE_43(_) SK_SEQ_SIZE_44
-#define SK_SEQ_SIZE_44(_) SK_SEQ_SIZE_45
-#define SK_SEQ_SIZE_45(_) SK_SEQ_SIZE_46
-#define SK_SEQ_SIZE_46(_) SK_SEQ_SIZE_47
-#define SK_SEQ_SIZE_47(_) SK_SEQ_SIZE_48
-#define SK_SEQ_SIZE_48(_) SK_SEQ_SIZE_49
-#define SK_SEQ_SIZE_49(_) SK_SEQ_SIZE_50
-#define SK_SEQ_SIZE_50(_) SK_SEQ_SIZE_51
-#define SK_SEQ_SIZE_51(_) SK_SEQ_SIZE_52
-#define SK_SEQ_SIZE_52(_) SK_SEQ_SIZE_53
-#define SK_SEQ_SIZE_53(_) SK_SEQ_SIZE_54
-#define SK_SEQ_SIZE_54(_) SK_SEQ_SIZE_55
-#define SK_SEQ_SIZE_55(_) SK_SEQ_SIZE_56
-#define SK_SEQ_SIZE_56(_) SK_SEQ_SIZE_57
-#define SK_SEQ_SIZE_57(_) SK_SEQ_SIZE_58
-#define SK_SEQ_SIZE_58(_) SK_SEQ_SIZE_59
-#define SK_SEQ_SIZE_59(_) SK_SEQ_SIZE_60
-#define SK_SEQ_SIZE_60(_) SK_SEQ_SIZE_61
-#define SK_SEQ_SIZE_61(_) SK_SEQ_SIZE_62
-#define SK_SEQ_SIZE_62(_) SK_SEQ_SIZE_63
-#define SK_SEQ_SIZE_63(_) SK_SEQ_SIZE_64
-#define SK_SEQ_SIZE_64(_) SK_SEQ_SIZE_65
-#define SK_SEQ_SIZE_65(_) SK_SEQ_SIZE_66
-#define SK_SEQ_SIZE_66(_) SK_SEQ_SIZE_67
-#define SK_SEQ_SIZE_67(_) SK_SEQ_SIZE_68
-#define SK_SEQ_SIZE_68(_) SK_SEQ_SIZE_69
-#define SK_SEQ_SIZE_69(_) SK_SEQ_SIZE_70
-#define SK_SEQ_SIZE_70(_) SK_SEQ_SIZE_71
-#define SK_SEQ_SIZE_71(_) SK_SEQ_SIZE_72
-#define SK_SEQ_SIZE_72(_) SK_SEQ_SIZE_73
-#define SK_SEQ_SIZE_73(_) SK_SEQ_SIZE_74
-#define SK_SEQ_SIZE_74(_) SK_SEQ_SIZE_75
-#define SK_SEQ_SIZE_75(_) SK_SEQ_SIZE_76
-#define SK_SEQ_SIZE_76(_) SK_SEQ_SIZE_77
-#define SK_SEQ_SIZE_77(_) SK_SEQ_SIZE_78
-#define SK_SEQ_SIZE_78(_) SK_SEQ_SIZE_79
-#define SK_SEQ_SIZE_79(_) SK_SEQ_SIZE_80
-#define SK_SEQ_SIZE_80(_) SK_SEQ_SIZE_81
-#define SK_SEQ_SIZE_81(_) SK_SEQ_SIZE_82
-#define SK_SEQ_SIZE_82(_) SK_SEQ_SIZE_83
-#define SK_SEQ_SIZE_83(_) SK_SEQ_SIZE_84
-#define SK_SEQ_SIZE_84(_) SK_SEQ_SIZE_85
-#define SK_SEQ_SIZE_85(_) SK_SEQ_SIZE_86
-#define SK_SEQ_SIZE_86(_) SK_SEQ_SIZE_87
-#define SK_SEQ_SIZE_87(_) SK_SEQ_SIZE_88
-#define SK_SEQ_SIZE_88(_) SK_SEQ_SIZE_89
-#define SK_SEQ_SIZE_89(_) SK_SEQ_SIZE_90
-#define SK_SEQ_SIZE_90(_) SK_SEQ_SIZE_91
-#define SK_SEQ_SIZE_91(_) SK_SEQ_SIZE_92
-#define SK_SEQ_SIZE_92(_) SK_SEQ_SIZE_93
-#define SK_SEQ_SIZE_93(_) SK_SEQ_SIZE_94
-#define SK_SEQ_SIZE_94(_) SK_SEQ_SIZE_95
-#define SK_SEQ_SIZE_95(_) SK_SEQ_SIZE_96
-#define SK_SEQ_SIZE_96(_) SK_SEQ_SIZE_97
-#define SK_SEQ_SIZE_97(_) SK_SEQ_SIZE_98
-#define SK_SEQ_SIZE_98(_) SK_SEQ_SIZE_99
-#define SK_SEQ_SIZE_99(_) SK_SEQ_SIZE_100
-#define SK_SEQ_SIZE_100(_) SK_SEQ_SIZE_101
-#define SK_SEQ_SIZE_101(_) SK_SEQ_SIZE_102
-#define SK_SEQ_SIZE_102(_) SK_SEQ_SIZE_103
-#define SK_SEQ_SIZE_103(_) SK_SEQ_SIZE_104
-#define SK_SEQ_SIZE_104(_) SK_SEQ_SIZE_105
-#define SK_SEQ_SIZE_105(_) SK_SEQ_SIZE_106
-#define SK_SEQ_SIZE_106(_) SK_SEQ_SIZE_107
-#define SK_SEQ_SIZE_107(_) SK_SEQ_SIZE_108
-#define SK_SEQ_SIZE_108(_) SK_SEQ_SIZE_109
-#define SK_SEQ_SIZE_109(_) SK_SEQ_SIZE_110
-#define SK_SEQ_SIZE_110(_) SK_SEQ_SIZE_111
-#define SK_SEQ_SIZE_111(_) SK_SEQ_SIZE_112
-#define SK_SEQ_SIZE_112(_) SK_SEQ_SIZE_113
-#define SK_SEQ_SIZE_113(_) SK_SEQ_SIZE_114
-#define SK_SEQ_SIZE_114(_) SK_SEQ_SIZE_115
-#define SK_SEQ_SIZE_115(_) SK_SEQ_SIZE_116
-#define SK_SEQ_SIZE_116(_) SK_SEQ_SIZE_117
-#define SK_SEQ_SIZE_117(_) SK_SEQ_SIZE_118
-#define SK_SEQ_SIZE_118(_) SK_SEQ_SIZE_119
-#define SK_SEQ_SIZE_119(_) SK_SEQ_SIZE_120
-#define SK_SEQ_SIZE_120(_) SK_SEQ_SIZE_121
-#define SK_SEQ_SIZE_121(_) SK_SEQ_SIZE_122
-#define SK_SEQ_SIZE_122(_) SK_SEQ_SIZE_123
-#define SK_SEQ_SIZE_123(_) SK_SEQ_SIZE_124
-#define SK_SEQ_SIZE_124(_) SK_SEQ_SIZE_125
-#define SK_SEQ_SIZE_125(_) SK_SEQ_SIZE_126
-#define SK_SEQ_SIZE_126(_) SK_SEQ_SIZE_127
-#define SK_SEQ_SIZE_127(_) SK_SEQ_SIZE_128
-#define SK_SEQ_SIZE_128(_) SK_SEQ_SIZE_129
-#define SK_SEQ_SIZE_129(_) SK_SEQ_SIZE_130
-#define SK_SEQ_SIZE_130(_) SK_SEQ_SIZE_131
-#define SK_SEQ_SIZE_131(_) SK_SEQ_SIZE_132
-#define SK_SEQ_SIZE_132(_) SK_SEQ_SIZE_133
-#define SK_SEQ_SIZE_133(_) SK_SEQ_SIZE_134
-#define SK_SEQ_SIZE_134(_) SK_SEQ_SIZE_135
-#define SK_SEQ_SIZE_135(_) SK_SEQ_SIZE_136
-#define SK_SEQ_SIZE_136(_) SK_SEQ_SIZE_137
-#define SK_SEQ_SIZE_137(_) SK_SEQ_SIZE_138
-#define SK_SEQ_SIZE_138(_) SK_SEQ_SIZE_139
-#define SK_SEQ_SIZE_139(_) SK_SEQ_SIZE_140
-#define SK_SEQ_SIZE_140(_) SK_SEQ_SIZE_141
-#define SK_SEQ_SIZE_141(_) SK_SEQ_SIZE_142
-#define SK_SEQ_SIZE_142(_) SK_SEQ_SIZE_143
-#define SK_SEQ_SIZE_143(_) SK_SEQ_SIZE_144
-#define SK_SEQ_SIZE_144(_) SK_SEQ_SIZE_145
-#define SK_SEQ_SIZE_145(_) SK_SEQ_SIZE_146
-#define SK_SEQ_SIZE_146(_) SK_SEQ_SIZE_147
-#define SK_SEQ_SIZE_147(_) SK_SEQ_SIZE_148
-#define SK_SEQ_SIZE_148(_) SK_SEQ_SIZE_149
-#define SK_SEQ_SIZE_149(_) SK_SEQ_SIZE_150
-#define SK_SEQ_SIZE_150(_) SK_SEQ_SIZE_151
-#define SK_SEQ_SIZE_151(_) SK_SEQ_SIZE_152
-#define SK_SEQ_SIZE_152(_) SK_SEQ_SIZE_153
-#define SK_SEQ_SIZE_153(_) SK_SEQ_SIZE_154
-#define SK_SEQ_SIZE_154(_) SK_SEQ_SIZE_155
-#define SK_SEQ_SIZE_155(_) SK_SEQ_SIZE_156
-#define SK_SEQ_SIZE_156(_) SK_SEQ_SIZE_157
-#define SK_SEQ_SIZE_157(_) SK_SEQ_SIZE_158
-#define SK_SEQ_SIZE_158(_) SK_SEQ_SIZE_159
-#define SK_SEQ_SIZE_159(_) SK_SEQ_SIZE_160
-#define SK_SEQ_SIZE_160(_) SK_SEQ_SIZE_161
-#define SK_SEQ_SIZE_161(_) SK_SEQ_SIZE_162
-#define SK_SEQ_SIZE_162(_) SK_SEQ_SIZE_163
-#define SK_SEQ_SIZE_163(_) SK_SEQ_SIZE_164
-#define SK_SEQ_SIZE_164(_) SK_SEQ_SIZE_165
-#define SK_SEQ_SIZE_165(_) SK_SEQ_SIZE_166
-#define SK_SEQ_SIZE_166(_) SK_SEQ_SIZE_167
-#define SK_SEQ_SIZE_167(_) SK_SEQ_SIZE_168
-#define SK_SEQ_SIZE_168(_) SK_SEQ_SIZE_169
-#define SK_SEQ_SIZE_169(_) SK_SEQ_SIZE_170
-#define SK_SEQ_SIZE_170(_) SK_SEQ_SIZE_171
-#define SK_SEQ_SIZE_171(_) SK_SEQ_SIZE_172
-#define SK_SEQ_SIZE_172(_) SK_SEQ_SIZE_173
-#define SK_SEQ_SIZE_173(_) SK_SEQ_SIZE_174
-#define SK_SEQ_SIZE_174(_) SK_SEQ_SIZE_175
-#define SK_SEQ_SIZE_175(_) SK_SEQ_SIZE_176
-#define SK_SEQ_SIZE_176(_) SK_SEQ_SIZE_177
-#define SK_SEQ_SIZE_177(_) SK_SEQ_SIZE_178
-#define SK_SEQ_SIZE_178(_) SK_SEQ_SIZE_179
-#define SK_SEQ_SIZE_179(_) SK_SEQ_SIZE_180
-#define SK_SEQ_SIZE_180(_) SK_SEQ_SIZE_181
-#define SK_SEQ_SIZE_181(_) SK_SEQ_SIZE_182
-#define SK_SEQ_SIZE_182(_) SK_SEQ_SIZE_183
-#define SK_SEQ_SIZE_183(_) SK_SEQ_SIZE_184
-#define SK_SEQ_SIZE_184(_) SK_SEQ_SIZE_185
-#define SK_SEQ_SIZE_185(_) SK_SEQ_SIZE_186
-#define SK_SEQ_SIZE_186(_) SK_SEQ_SIZE_187
-#define SK_SEQ_SIZE_187(_) SK_SEQ_SIZE_188
-#define SK_SEQ_SIZE_188(_) SK_SEQ_SIZE_189
-#define SK_SEQ_SIZE_189(_) SK_SEQ_SIZE_190
-#define SK_SEQ_SIZE_190(_) SK_SEQ_SIZE_191
-#define SK_SEQ_SIZE_191(_) SK_SEQ_SIZE_192
-#define SK_SEQ_SIZE_192(_) SK_SEQ_SIZE_193
-#define SK_SEQ_SIZE_193(_) SK_SEQ_SIZE_194
-#define SK_SEQ_SIZE_194(_) SK_SEQ_SIZE_195
-#define SK_SEQ_SIZE_195(_) SK_SEQ_SIZE_196
-#define SK_SEQ_SIZE_196(_) SK_SEQ_SIZE_197
-#define SK_SEQ_SIZE_197(_) SK_SEQ_SIZE_198
-#define SK_SEQ_SIZE_198(_) SK_SEQ_SIZE_199
-#define SK_SEQ_SIZE_199(_) SK_SEQ_SIZE_200
-#define SK_SEQ_SIZE_200(_) SK_SEQ_SIZE_201
-#define SK_SEQ_SIZE_201(_) SK_SEQ_SIZE_202
-#define SK_SEQ_SIZE_202(_) SK_SEQ_SIZE_203
-#define SK_SEQ_SIZE_203(_) SK_SEQ_SIZE_204
-#define SK_SEQ_SIZE_204(_) SK_SEQ_SIZE_205
-#define SK_SEQ_SIZE_205(_) SK_SEQ_SIZE_206
-#define SK_SEQ_SIZE_206(_) SK_SEQ_SIZE_207
-#define SK_SEQ_SIZE_207(_) SK_SEQ_SIZE_208
-#define SK_SEQ_SIZE_208(_) SK_SEQ_SIZE_209
-#define SK_SEQ_SIZE_209(_) SK_SEQ_SIZE_210
-#define SK_SEQ_SIZE_210(_) SK_SEQ_SIZE_211
-#define SK_SEQ_SIZE_211(_) SK_SEQ_SIZE_212
-#define SK_SEQ_SIZE_212(_) SK_SEQ_SIZE_213
-#define SK_SEQ_SIZE_213(_) SK_SEQ_SIZE_214
-#define SK_SEQ_SIZE_214(_) SK_SEQ_SIZE_215
-#define SK_SEQ_SIZE_215(_) SK_SEQ_SIZE_216
-#define SK_SEQ_SIZE_216(_) SK_SEQ_SIZE_217
-#define SK_SEQ_SIZE_217(_) SK_SEQ_SIZE_218
-#define SK_SEQ_SIZE_218(_) SK_SEQ_SIZE_219
-#define SK_SEQ_SIZE_219(_) SK_SEQ_SIZE_220
-#define SK_SEQ_SIZE_220(_) SK_SEQ_SIZE_221
-#define SK_SEQ_SIZE_221(_) SK_SEQ_SIZE_222
-#define SK_SEQ_SIZE_222(_) SK_SEQ_SIZE_223
-#define SK_SEQ_SIZE_223(_) SK_SEQ_SIZE_224
-#define SK_SEQ_SIZE_224(_) SK_SEQ_SIZE_225
-#define SK_SEQ_SIZE_225(_) SK_SEQ_SIZE_226
-#define SK_SEQ_SIZE_226(_) SK_SEQ_SIZE_227
-#define SK_SEQ_SIZE_227(_) SK_SEQ_SIZE_228
-#define SK_SEQ_SIZE_228(_) SK_SEQ_SIZE_229
-#define SK_SEQ_SIZE_229(_) SK_SEQ_SIZE_230
-#define SK_SEQ_SIZE_230(_) SK_SEQ_SIZE_231
-#define SK_SEQ_SIZE_231(_) SK_SEQ_SIZE_232
-#define SK_SEQ_SIZE_232(_) SK_SEQ_SIZE_233
-#define SK_SEQ_SIZE_233(_) SK_SEQ_SIZE_234
-#define SK_SEQ_SIZE_234(_) SK_SEQ_SIZE_235
-#define SK_SEQ_SIZE_235(_) SK_SEQ_SIZE_236
-#define SK_SEQ_SIZE_236(_) SK_SEQ_SIZE_237
-#define SK_SEQ_SIZE_237(_) SK_SEQ_SIZE_238
-#define SK_SEQ_SIZE_238(_) SK_SEQ_SIZE_239
-#define SK_SEQ_SIZE_239(_) SK_SEQ_SIZE_240
-#define SK_SEQ_SIZE_240(_) SK_SEQ_SIZE_241
-#define SK_SEQ_SIZE_241(_) SK_SEQ_SIZE_242
-#define SK_SEQ_SIZE_242(_) SK_SEQ_SIZE_243
-#define SK_SEQ_SIZE_243(_) SK_SEQ_SIZE_244
-#define SK_SEQ_SIZE_244(_) SK_SEQ_SIZE_245
-#define SK_SEQ_SIZE_245(_) SK_SEQ_SIZE_246
-#define SK_SEQ_SIZE_246(_) SK_SEQ_SIZE_247
-#define SK_SEQ_SIZE_247(_) SK_SEQ_SIZE_248
-#define SK_SEQ_SIZE_248(_) SK_SEQ_SIZE_249
-#define SK_SEQ_SIZE_249(_) SK_SEQ_SIZE_250
-#define SK_SEQ_SIZE_250(_) SK_SEQ_SIZE_251
-#define SK_SEQ_SIZE_251(_) SK_SEQ_SIZE_252
-#define SK_SEQ_SIZE_252(_) SK_SEQ_SIZE_253
-#define SK_SEQ_SIZE_253(_) SK_SEQ_SIZE_254
-#define SK_SEQ_SIZE_254(_) SK_SEQ_SIZE_255
-#define SK_SEQ_SIZE_255(_) SK_SEQ_SIZE_256
-
-
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_0 0
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_1 1
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_2 2
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_3 3
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_4 4
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_5 5
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_6 6
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_7 7
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_8 8
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_9 9
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_10 10
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_11 11
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_12 12
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_13 13
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_14 14
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_15 15
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_16 16
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_17 17
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_18 18
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_19 19
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_20 20
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_21 21
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_22 22
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_23 23
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_24 24
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_25 25
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_26 26
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_27 27
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_28 28
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_29 29
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_30 30
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_31 31
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_32 32
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_33 33
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_34 34
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_35 35
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_36 36
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_37 37
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_38 38
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_39 39
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_40 40
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_41 41
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_42 42
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_43 43
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_44 44
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_45 45
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_46 46
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_47 47
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_48 48
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_49 49
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_50 50
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_51 51
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_52 52
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_53 53
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_54 54
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_55 55
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_56 56
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_57 57
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_58 58
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_59 59
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_60 60
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_61 61
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_62 62
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_63 63
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_64 64
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_65 65
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_66 66
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_67 67
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_68 68
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_69 69
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_70 70
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_71 71
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_72 72
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_73 73
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_74 74
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_75 75
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_76 76
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_77 77
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_78 78
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_79 79
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_80 80
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_81 81
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_82 82
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_83 83
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_84 84
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_85 85
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_86 86
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_87 87
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_88 88
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_89 89
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_90 90
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_91 91
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_92 92
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_93 93
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_94 94
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_95 95
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_96 96
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_97 97
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_98 98
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_99 99
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_100 100
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_101 101
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_102 102
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_103 103
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_104 104
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_105 105
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_106 106
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_107 107
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_108 108
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_109 109
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_110 110
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_111 111
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_112 112
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_113 113
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_114 114
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_115 115
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_116 116
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_117 117
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_118 118
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_119 119
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_120 120
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_121 121
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_122 122
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_123 123
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_124 124
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_125 125
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_126 126
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_127 127
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_128 128
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_129 129
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_130 130
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_131 131
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_132 132
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_133 133
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_134 134
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_135 135
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_136 136
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_137 137
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_138 138
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_139 139
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_140 140
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_141 141
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_142 142
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_143 143
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_144 144
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_145 145
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_146 146
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_147 147
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_148 148
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_149 149
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_150 150
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_151 151
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_152 152
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_153 153
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_154 154
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_155 155
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_156 156
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_157 157
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_158 158
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_159 159
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_160 160
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_161 161
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_162 162
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_163 163
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_164 164
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_165 165
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_166 166
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_167 167
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_168 168
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_169 169
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_170 170
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_171 171
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_172 172
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_173 173
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_174 174
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_175 175
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_176 176
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_177 177
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_178 178
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_179 179
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_180 180
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_181 181
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_182 182
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_183 183
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_184 184
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_185 185
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_186 186
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_187 187
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_188 188
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_189 189
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_190 190
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_191 191
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_192 192
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_193 193
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_194 194
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_195 195
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_196 196
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_197 197
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_198 198
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_199 199
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_200 200
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_201 201
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_202 202
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_203 203
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_204 204
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_205 205
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_206 206
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_207 207
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_208 208
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_209 209
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_210 210
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_211 211
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_212 212
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_213 213
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_214 214
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_215 215
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_216 216
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_217 217
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_218 218
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_219 219
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_220 220
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_221 221
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_222 222
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_223 223
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_224 224
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_225 225
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_226 226
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_227 227
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_228 228
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_229 229
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_230 230
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_231 231
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_232 232
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_233 233
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_234 234
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_235 235
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_236 236
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_237 237
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_238 238
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_239 239
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_240 240
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_241 241
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_242 242
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_243 243
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_244 244
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_245 245
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_246 246
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_247 247
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_248 248
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_249 249
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_250 250
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_251 251
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_252 252
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_253 253
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_254 254
-#define SK_SEQ_SIZE_SK_SEQ_SIZE_255 255
-
-
-#define SK_SEQ_FOREACH(op, data, seq) SK_SEQ_FOREACH_L(op, op, data, seq)
-#define SK_SEQ_FOREACH_L(op, lop, data, seq) SK_CONCAT(SK_SEQ_FOREACH_, SK_SEQ_SIZE(seq)) (op, lop, data, SK_SEQ_HEAD(seq), SK_SEQ_TAIL(seq))
-
-#define SK_SEQ_FOREACH_0(op,lop,d,x,t)
-#define SK_SEQ_FOREACH_1(op,lop,d,x,t) lop(d,x)
-#define SK_SEQ_FOREACH_2(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_1(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_3(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_2(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_4(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_3(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_5(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_4(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_6(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_5(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_7(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_6(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_8(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_7(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_9(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_8(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_10(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_9(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_11(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_10(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_12(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_11(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_13(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_12(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_14(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_13(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_15(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_14(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_16(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_15(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_17(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_16(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_18(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_17(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_19(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_18(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_20(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_19(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_21(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_20(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_22(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_21(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_23(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_22(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_24(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_23(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_25(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_24(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_26(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_25(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_27(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_26(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_28(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_27(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_29(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_28(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_30(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_29(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_31(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_30(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_32(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_31(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_33(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_32(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_34(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_33(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_35(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_34(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_36(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_35(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_37(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_36(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_38(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_37(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_39(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_38(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_40(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_39(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_41(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_40(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_42(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_41(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_43(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_42(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_44(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_43(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_45(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_44(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_46(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_45(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_47(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_46(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_48(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_47(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_49(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_48(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_50(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_49(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_51(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_50(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_52(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_51(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_53(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_52(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_54(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_53(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_55(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_54(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_56(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_55(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_57(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_56(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_58(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_57(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_59(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_58(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_60(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_59(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_61(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_60(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_62(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_61(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_63(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_62(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_64(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_63(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_65(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_64(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_66(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_65(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_67(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_66(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_68(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_67(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_69(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_68(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_70(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_69(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_71(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_70(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_72(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_71(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_73(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_72(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_74(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_73(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_75(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_74(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_76(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_75(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_77(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_76(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_78(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_77(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_79(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_78(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_80(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_79(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_81(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_80(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_82(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_81(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_83(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_82(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_84(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_83(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_85(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_84(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_86(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_85(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_87(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_86(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_88(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_87(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_89(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_88(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_90(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_89(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_91(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_90(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_92(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_91(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_93(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_92(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_94(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_93(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_95(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_94(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_96(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_95(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_97(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_96(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_98(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_97(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_99(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_98(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_100(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_99(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_101(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_100(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_102(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_101(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_103(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_102(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_104(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_103(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_105(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_104(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_106(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_105(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_107(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_106(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_108(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_107(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_109(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_108(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_110(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_109(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_111(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_110(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_112(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_111(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_113(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_112(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_114(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_113(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_115(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_114(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_116(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_115(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_117(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_116(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_118(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_117(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_119(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_118(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_120(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_119(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_121(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_120(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_122(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_121(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_123(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_122(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_124(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_123(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_125(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_124(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_126(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_125(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_127(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_126(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_128(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_127(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_129(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_128(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_130(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_129(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_131(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_130(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_132(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_131(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_133(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_132(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_134(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_133(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_135(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_134(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_136(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_135(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_137(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_136(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_138(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_137(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_139(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_138(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_140(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_139(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_141(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_140(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_142(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_141(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_143(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_142(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_144(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_143(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_145(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_144(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_146(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_145(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_147(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_146(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_148(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_147(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_149(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_148(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_150(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_149(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_151(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_150(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_152(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_151(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_153(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_152(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_154(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_153(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_155(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_154(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_156(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_155(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_157(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_156(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_158(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_157(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_159(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_158(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_160(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_159(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_161(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_160(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_162(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_161(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_163(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_162(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_164(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_163(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_165(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_164(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_166(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_165(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_167(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_166(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_168(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_167(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_169(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_168(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_170(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_169(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_171(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_170(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_172(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_171(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_173(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_172(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_174(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_173(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_175(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_174(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_176(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_175(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_177(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_176(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_178(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_177(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_179(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_178(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_180(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_179(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_181(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_180(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_182(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_181(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_183(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_182(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_184(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_183(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_185(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_184(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_186(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_185(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_187(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_186(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_188(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_187(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_189(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_188(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_190(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_189(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_191(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_190(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_192(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_191(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_193(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_192(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_194(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_193(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_195(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_194(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_196(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_195(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_197(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_196(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_198(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_197(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_199(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_198(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_200(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_199(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_201(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_200(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_202(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_201(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_203(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_202(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_204(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_203(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_205(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_204(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_206(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_205(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_207(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_206(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_208(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_207(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_209(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_208(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_210(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_209(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_211(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_210(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_212(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_211(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_213(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_212(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_214(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_213(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_215(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_214(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_216(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_215(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_217(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_216(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_218(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_217(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_219(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_218(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_220(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_219(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_221(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_220(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_222(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_221(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_223(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_222(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_224(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_223(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_225(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_224(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_226(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_225(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_227(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_226(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_228(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_227(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_229(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_228(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_230(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_229(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_231(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_230(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_232(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_231(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_233(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_232(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_234(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_233(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_235(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_234(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_236(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_235(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_237(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_236(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_238(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_237(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_239(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_238(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_240(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_239(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_241(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_240(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_242(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_241(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_243(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_242(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_244(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_243(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_245(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_244(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_246(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_245(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_247(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_246(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_248(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_247(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_249(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_248(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_250(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_249(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_251(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_250(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_252(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_251(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_253(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_252(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_254(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_253(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-#define SK_SEQ_FOREACH_255(op,lop,d,x,t) op(d,x) SK_SEQ_FOREACH_254(op, lop, d, SK_SEQ_HEAD(t), SK_SEQ_TAIL(t))
-
-#define SK_SEQ_END (SK_NIL)
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkSFNTHeader.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkSFNTHeader_DEFINED
-#define SkSFNTHeader_DEFINED
-
-#include "SkEndian.h"
-#include "SkOTTableTypes.h"
-
-//All SK_SFNT_ prefixed types should be considered as big endian.
-typedef uint16_t SK_SFNT_USHORT;
-typedef uint32_t SK_SFNT_ULONG;
-
-#pragma pack(push, 1)
-
-struct SkSFNTHeader {
-    SK_SFNT_ULONG fontType;
-    static const SK_OT_ULONG fontType_WindowsTrueType = SkTEndian_SwapBE32(0x00010000);
-    static const SK_OT_ULONG fontType_MacTrueType = SkTEndian_SwapBE32('true');
-    static const SK_OT_ULONG fontType_PostScript = SkTEndian_SwapBE32('typ1');
-    static const SK_OT_ULONG fontType_OpenTypeCFF = SkTEndian_SwapBE32('OTTO');
-
-    SK_SFNT_USHORT numTables;
-    SK_SFNT_USHORT searchRange;
-    SK_SFNT_USHORT entrySelector;
-    SK_SFNT_USHORT rangeShift;
-};
-
-struct SkSFNTTableDirectoryEntry {
-    SK_SFNT_ULONG tag;
-    SK_SFNT_ULONG checksum;
-    SK_SFNT_ULONG offset; //From beginning of header.
-    SK_SFNT_ULONG logicalLength;
-};
-
-#pragma pack(pop)
-
-
-SK_COMPILE_ASSERT(sizeof(SkSFNTHeader) == 12, sizeof_SkSFNTHeader_not_12);
-SK_COMPILE_ASSERT(sizeof(SkSFNTTableDirectoryEntry) == 16, sizeof_SkSFNTTableDirectoryEntry_not_16);
-
-#endif
deleted file mode 100644
--- a/gfx/skia/src/sfnt/SkTypedEnum.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkTypedEnum_DEFINED
-#define SkTypedEnum_DEFINED
-
-#include "SkPreprocessorSeq.h"
-
-//Compatibility with non-clang compilers.
-#ifndef __has_feature
-    #define __has_feature(x) 0
-#endif
-#ifndef __has_extension
-    #define __has_extension __has_feature
-#endif
-
-//Detect if typed enums are supported.
-#if defined(_MSC_VER) && _MSC_VER >= 1400
-    #define SK_TYPED_ENUMS
-
-#elif defined(__clang__) && __has_extension(cxx_strong_enums)
-    #define SK_TYPED_ENUMS
-
-// Scoped enums are buggy in GCC 4.4.0 through 4.5.1.
-// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
-// __cplusplus should actually be accurate now.
-// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773
-#elif defined(__GNUC__) && (((__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ >= 40501) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || __cplusplus >= 201103L)
-    #define SK_TYPED_ENUMS
-#endif
-
-//Define what a typed enum looks like.
-#ifdef SK_TYPED_ENUMS
-
-    #define SK_TYPED_ENUM_VALUES(data, elem) \
-        SK_PAIR_FIRST(elem) = SK_PAIR_SECOND(elem),
-
-    #define SK_TYPED_ENUM_IDS(data, elem) \
-        elem, 
-
-    #define SK_TYPED_ENUM_IDS_L(data, elem) \
-        elem
-
-    #define SK_TYPED_ENUM(enumName, enumType, enumSeq, idSeq) \
-        enum enumName : enumType { \
-            SK_SEQ_FOREACH(SK_TYPED_ENUM_VALUES, _, enumSeq) \
-        } SK_SEQ_FOREACH_L(SK_TYPED_ENUM_IDS, SK_TYPED_ENUM_IDS_L, _, idSeq);
-
-#else
-
-    #define SK_TYPED_ENUM_VALUES(enumType, elem) \
-        static const enumType SK_PAIR_FIRST(elem) = SK_PAIR_SECOND(elem);
-
-    #define SK_TYPED_ENUM_IDS(enumType, elem) \
-        enumType elem;
-
-    #define SK_TYPED_ENUM(enumName, enumType, enumSeq, idSeq) \
-        typedef enumType enumName; \
-        SK_SEQ_FOREACH(SK_TYPED_ENUM_VALUES, enumType, enumSeq) \
-        SK_SEQ_FOREACH(SK_TYPED_ENUM_IDS, enumType, idSeq)
-
-#endif
-
-#endif
--- a/gfx/skia/update.sh
+++ b/gfx/skia/update.sh
@@ -45,18 +45,16 @@ cp $1/src/opts/*.h ./src/opts/
 cp $1/src/pdf/*.cpp ./src/pdf/
 cp $1/src/pdf/*.h ./src/pdf/
 cp $1/src/pipe/*.h ./src/pipe/
 cp $1/src/pipe/*.cpp ./src/pipe/
 cp $1/src/ports/*.h ./src/ports/
 cp $1/src/ports/*.cpp ./src/ports/
 cp $1/src/svg/*.cpp ./src/svg/
 cp $1/src/svg/*.h ./src/svg/
-cp $1/src/sfnt/*.cpp ./src/sfnt/
-cp $1/src/sfnt/*.h ./src/sfnt/
 cp $1/src/text/*.cpp ./src/text/
 cp $1/src/utils/mac/SampleApp-Info.plist ./src/utils/mac/
 cp $1/src/utils/mac/SampleApp.xib ./src/utils/mac/
 cp $1/src/utils/mac/*.cpp ./src/utils/mac/
 cp $1/src/utils/mac/*.h ./src/utils/mac/
 cp $1/src/utils/mac/*.mm ./src/utils/mac/
 cp $1/src/utils/SDL/*.cpp ./src/utils/SDL/
 cp $1/src/utils/*.cpp ./src/utils/
--- a/gfx/thebes/gfx2DGlue.h
+++ b/gfx/thebes/gfx2DGlue.h
@@ -1,15 +1,12 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-#ifndef GFX_2D_GLUE_H
-#define GFX_2D_GLUE_H
-
 
 #include "gfxPlatform.h"
 #include "gfxRect.h"
 #include "gfxMatrix.h"
 #include "gfxContext.h"
 #include "mozilla/gfx/Rect.h"
 #include "mozilla/gfx/2D.h"
 
@@ -175,32 +172,16 @@ inline JoinStyle ToJoinStyle(gfxContext:
 }
 
 inline gfxMatrix ThebesMatrix(const Matrix &aMatrix)
 {
   return gfxMatrix(aMatrix._11, aMatrix._12, aMatrix._21,
                    aMatrix._22, aMatrix._31, aMatrix._32);
 }
 
-inline gfxASurface::gfxImageFormat SurfaceFormatToImageFormat(SurfaceFormat aFormat)
-{
-  switch (aFormat) {
-  case FORMAT_B8G8R8A8:
-    return gfxASurface::ImageFormatARGB32;
-  case FORMAT_B8G8R8X8:
-    return gfxASurface::ImageFormatRGB24;
-  case FORMAT_R5G6B5:
-    return gfxASurface::ImageFormatRGB16_565;
-  case FORMAT_A8:
-    return gfxASurface::ImageFormatA8;
-  default:
-    return gfxASurface::ImageFormatUnknown;
-  }
-}
-
 inline gfxASurface::gfxContentType ContentForFormat(const SurfaceFormat &aFormat)
 {
   switch (aFormat) {
   case FORMAT_R5G6B5:
   case FORMAT_B8G8R8X8:
     return gfxASurface::CONTENT_COLOR;
   case FORMAT_A8:
     return gfxASurface::CONTENT_ALPHA;
@@ -259,10 +240,8 @@ inline gfxContext::GraphicsOperator Theb
     return gfxContext::OPERATOR_XOR;
   default:
     return gfxContext::OPERATOR_OVER;
   }
 }
 
 }
 }
-
-#endif
--- a/gfx/thebes/gfxContext.cpp
+++ b/gfx/thebes/gfxContext.cpp
@@ -41,20 +41,20 @@ public:
     gfxContext::AzureState &state = mContext->CurrentState();
 
     if (state.pattern) {
       return *state.pattern->GetPattern(mContext->mDT, state.patternTransformChanged ? &state.patternTransform : nsnull);
     } else if (state.sourceSurface) {
       Matrix transform = state.surfTransform;
 
       if (state.patternTransformChanged) {
-        Matrix mat = mContext->mDT->GetTransform();
+        Matrix mat = state.patternTransform;
         mat.Invert();
 
-        transform = mat * state.patternTransform * transform;
+        transform = mat * mContext->mDT->GetTransform() * transform;
       }
 
       mPattern = new (mSurfacePattern.addr())
         SurfacePattern(state.sourceSurface, EXTEND_CLAMP, transform);
       return *mPattern;
     } else {
       mPattern = new (mColorPattern.addr())
         ColorPattern(state.color);
@@ -1418,17 +1418,17 @@ gfxContext::Mask(gfxASurface *surface, c
     // Lifetime needs to be limited here as we may simply wrap surface's data.
     RefPtr<SourceSurface> sourceSurf =
       gfxPlatform::GetPlatform()->GetSourceSurfaceForSurface(mDT, surface);
 
     gfxPoint pt = surface->GetDeviceOffset();
     mDT->Mask(GeneralPattern(this), 
               SurfacePattern(sourceSurf, EXTEND_CLAMP,
                              Matrix(1.0f, 0, 0, 1.0f, Float(offset.x - pt.x), Float(offset.y - pt.y))),
-              DrawOptions(1.0f, CurrentState().op, CurrentState().aaMode));
+                             DrawOptions(1.0f, CurrentState().op, CurrentState().aaMode));
   }
 }
 
 void
 gfxContext::Paint(gfxFloat alpha)
 {
   SAMPLE_LABEL("gfxContext", "Paint");
   if (mCairo) {
--- a/gfx/thebes/gfxImageSurface.cpp
+++ b/gfx/thebes/gfxImageSurface.cpp
@@ -4,20 +4,16 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "prmem.h"
 
 #include "gfxAlphaRecovery.h"
 #include "gfxImageSurface.h"
 
 #include "cairo.h"
-#include "mozilla/gfx/2D.h"
-#include "gfx2DGlue.h"
-
-using namespace mozilla::gfx;
 
 gfxImageSurface::gfxImageSurface()
   : mSize(0, 0),
     mOwnsData(false),
     mFormat(ImageFormatUnknown),
     mStride(0)
 {
 }
@@ -170,85 +166,42 @@ gfxImageSurface::ComputeStride(const gfx
         stride = aSize.width * 4;
     }
 
     stride = ((stride + 3) / 4) * 4;
 
     return stride;
 }
 
-// helper function for the CopyFrom methods
-static void
-CopyForStride(unsigned char* aDest, unsigned char* aSrc, const gfxIntSize& aSize, long aDestStride, long aSrcStride)
+bool
+gfxImageSurface::CopyFrom(gfxImageSurface *other)
 {
-    if (aDestStride == aSrcStride) {
-        memcpy (aDest, aSrc, aSrcStride * aSize.height);
+    if (other->mSize != mSize)
+    {
+        return false;
+    }
+
+    if (other->mFormat != mFormat &&
+        !(other->mFormat == ImageFormatARGB32 && mFormat == ImageFormatRGB24) &&
+        !(other->mFormat == ImageFormatRGB24 && mFormat == ImageFormatARGB32))
+    {
+        return false;
+    }
+
+    if (other->mStride == mStride) {
+        memcpy (mData, other->mData, mStride * mSize.height);
     } else {
-        int lineSize = NS_MIN(aDestStride, aSrcStride);
-        for (int i = 0; i < aSize.height; i++) {
-            unsigned char* src = aSrc + aSrcStride * i;
-            unsigned char* dst = aDest + aDestStride * i;
+        int lineSize = NS_MIN(other->mStride, mStride);
+        for (int i = 0; i < mSize.height; i++) {
+            unsigned char *src = other->mData + other->mStride * i;
+            unsigned char *dst = mData + mStride * i;
 
             memcpy (dst, src, lineSize);
         }
     }
-}
-
-// helper function for the CopyFrom methods
-static bool
-FormatsAreCompatible(gfxASurface::gfxImageFormat a1, gfxASurface::gfxImageFormat a2)
-{
-    if (a1 != a2 &&
-        !(a1 == gfxASurface::ImageFormatARGB32 &&
-          a2 == gfxASurface::ImageFormatRGB24) &&
-        !(a1 == gfxASurface::ImageFormatRGB24 &&
-          a2 == gfxASurface::ImageFormatARGB32)) {
-        return false;
-    }
-
-    return true;
-}
-
-bool
-gfxImageSurface::CopyFrom (SourceSurface *aSurface)
-{
-    mozilla::RefPtr<DataSourceSurface> data = aSurface->GetDataSurface();
-
-    if (!data) {
-        return false;
-    }
-
-    gfxIntSize size(data->GetSize().width, data->GetSize().height);
-    if (size != mSize) {
-        return false;
-    }
-
-    if (!FormatsAreCompatible(SurfaceFormatToImageFormat(aSurface->GetFormat()),
-                              mFormat)) {
-        return false;
-    }
-
-    CopyForStride(mData, data->GetData(), size, mStride, data->Stride());
-
-    return true;
-}
-
-
-bool
-gfxImageSurface::CopyFrom(gfxImageSurface *other)
-{
-    if (other->mSize != mSize) {
-        return false;
-    }
-
-    if (!FormatsAreCompatible(other->mFormat, mFormat)) {
-        return false;
-    }
-
-    CopyForStride(mData, other->mData, mSize, mStride, other->mStride);
 
     return true;
 }
 
 already_AddRefed<gfxSubimageSurface>
 gfxImageSurface::GetSubimage(const gfxRect& aRect)
 {
     gfxRect r(aRect);
--- a/gfx/thebes/gfxImageSurface.h
+++ b/gfx/thebes/gfxImageSurface.h
@@ -8,22 +8,16 @@
 
 #include "gfxASurface.h"
 #include "gfxPoint.h"
 
 // ARGB -- raw buffer.. wont be changed.. good for storing data.
 
 class gfxSubimageSurface;
 
-namespace mozilla {
-namespace gfx {
-class SourceSurface;
-}
-}
-
 /**
  * A raw image buffer. The format can be set in the constructor. Its main
  * purpose is for storing read-only images and using it as a source surface,
  * but it can also be drawn to.
  */
 class THEBES_API gfxImageSurface : public gfxASurface {
 public:
     /**
@@ -70,22 +64,16 @@ public:
     /**
      * Returns the total size of the image data.
      */
     PRInt32 GetDataSize() const { return mStride*mSize.height; }
 
     /* Fast copy from another image surface; returns TRUE if successful, FALSE otherwise */
     bool CopyFrom (gfxImageSurface *other);
 
-    /**
-     * Fast copy from a source surface; returns TRUE if successful, FALSE otherwise
-     * Assumes that the format of this surface is compatable with aSurface
-     */
-    bool CopyFrom (mozilla::gfx::SourceSurface *aSurface);
-
     /* return new Subimage with pointing to original image starting from aRect.pos
      * and size of aRect.size. New subimage keeping current image reference
      */
     already_AddRefed<gfxSubimageSurface> GetSubimage(const gfxRect& aRect);
 
     virtual already_AddRefed<gfxImageSurface> GetAsImageSurface();
 
     /** See gfxASurface.h. */
--- a/gfx/thebes/gfxPattern.cpp
+++ b/gfx/thebes/gfxPattern.cpp
@@ -162,16 +162,17 @@ gfxPattern::GetPattern(DrawTarget *aTarg
           gfxPlatform::GetPlatform()->GetSourceSurfaceForSurface(aTarget, gfxSurf);
       }
 
       if (mSourceSurface) {
         Matrix newMat = ToMatrix(matrix);
 
         AdjustTransformForPattern(newMat, aTarget->GetTransform(), aPatternTransform);
 
+        newMat.Invert();
         double x, y;
         cairo_surface_get_device_offset(surf, &x, &y);
         newMat.Translate(-x, -y);
         mGfxPattern = new (mSurfacePattern.addr())
           SurfacePattern(mSourceSurface, ToExtendMode(extend), newMat, ToFilter(filter));
         return mGfxPattern;
       }
       break;
@@ -203,16 +204,18 @@ gfxPattern::GetPattern(DrawTarget *aTarg
         cairo_matrix_t mat;
         cairo_pattern_get_matrix(mPattern, &mat);
         gfxMatrix matrix(*reinterpret_cast<gfxMatrix*>(&mat));
 
         Matrix newMat = ToMatrix(matrix);
 
         AdjustTransformForPattern(newMat, aTarget->GetTransform(), aPatternTransform);
 
+        newMat.Invert();
+
         mGfxPattern = new (mLinearGradientPattern.addr())
           LinearGradientPattern(Point(x1, y1), Point(x2, y2), mStops, newMat);
 
         return mGfxPattern;
       }
       break;
     }
   case CAIRO_PATTERN_TYPE_RADIAL:
@@ -240,16 +243,18 @@ gfxPattern::GetPattern(DrawTarget *aTarg
         cairo_matrix_t mat;
         cairo_pattern_get_matrix(mPattern, &mat);
         gfxMatrix matrix(*reinterpret_cast<gfxMatrix*>(&mat));
 
         Matrix newMat = ToMatrix(matrix);
 
         AdjustTransformForPattern(newMat, aTarget->GetTransform(), aPatternTransform);
 
+        newMat.Invert();
+
         double x1, y1, x2, y2, r1, r2;
         cairo_pattern_get_radial_circles(mPattern, &x1, &y1, &r1, &x2, &y2, &r2);
         mGfxPattern = new (mRadialGradientPattern.addr())
           RadialGradientPattern(Point(x1, y1), Point(x2, y2), r1, r2, mStops, newMat);
 
         return mGfxPattern;
       }
       break;
@@ -407,18 +412,17 @@ gfxPattern::CairoStatus()
   }
 }
 
 void
 gfxPattern::AdjustTransformForPattern(Matrix &aPatternTransform,
                                       const Matrix &aCurrentTransform,
                                       const Matrix *aOriginalTransform)
 {
-  aPatternTransform.Invert();
   if (!aOriginalTransform) {
     return;
   }
 
-  Matrix mat = aCurrentTransform;
+  Matrix mat = *aOriginalTransform;
   mat.Invert();
 
-  aPatternTransform = aPatternTransform * *aOriginalTransform * mat;
-}
+  aPatternTransform = mat * aCurrentTransform * aPatternTransform;
+}
\ No newline at end of file
--- a/gfx/thebes/gfxPlatform.cpp
+++ b/gfx/thebes/gfxPlatform.cpp
@@ -553,16 +553,23 @@ gfxPlatform::GetScaledFontForFont(gfxFon
   nativeFont.mType = NATIVE_FONT_CAIRO_FONT_FACE;
   nativeFont.mFont = aFont;
   RefPtr<ScaledFont> scaledFont =
     Factory::CreateScaledFontForNativeFont(nativeFont,
                                            aFont->GetAdjustedSize());
   return scaledFont;
 }
 
+cairo_user_data_key_t kDrawSourceSurface;
+static void
+DataSourceSurfaceDestroy(void *dataSourceSurface)
+{
+  static_cast<DataSourceSurface*>(dataSourceSurface)->Release();
+}
+
 UserDataKey kThebesSurfaceKey;
 void
 DestroyThebesSurface(void *data)
 {
   gfxASurface *surface = static_cast<gfxASurface*>(data);
   surface->Release();
 }
 
@@ -592,22 +599,21 @@ gfxPlatform::GetThebesSurfaceForDrawTarg
 
     if (!data) {
       return NULL;
     }
 
     IntSize size = data->GetSize();
     gfxASurface::gfxImageFormat format = OptimalFormatForContent(ContentForFormat(data->GetFormat()));
 
-    // We need to make a copy here because data might change its data under us
-    nsRefPtr<gfxImageSurface> imageSurf = new gfxImageSurface(gfxIntSize(size.width, size.height), format, false);
- 
-    bool resultOfCopy = imageSurf->CopyFrom(source);
-    NS_ASSERTION(resultOfCopy, "Failed to copy surface.");
-    surf = imageSurf;
+    surf =
+      new gfxImageSurface(data->GetData(), gfxIntSize(size.width, size.height),
+                          data->Stride(), format);
+
+    surf->SetData(&kDrawSourceSurface, data.forget().drop(), DataSourceSurfaceDestroy);
   }
 
   // add a reference to be held by the drawTarget
   // careful, the reference graph is getting complicated here
   surf->AddRef();
   aTarget->AddUserData(&kThebesSurfaceKey, surf.get(), DestroyThebesSurface);
 
   return surf.forget();
--- a/layout/media/Makefile.in
+++ b/layout/media/Makefile.in
@@ -110,17 +110,17 @@ SHARED_LIBRARY_LIBS 	+= \
 	$(NULL)
   
 ifdef MOZ_ENABLE_SKIA
 SHARED_LIBRARY_LIBS += $(MOZ_SKIA_LIBS)
 endif
 
 ifeq (WINNT,$(OS_TARGET))
 EXTRA_DSO_LDOPTS = $(MOZALLOC_LIB) $(NSPR_LIBS)
-OS_LIBS += $(call EXPAND_LIBNAME,usp10 ole32)
+OS_LIBS += $(call EXPAND_LIBNAME,usp10)
 
 # OTS uses uncompress2() from libz, so we need to link with this
 ifdef MOZ_NATIVE_ZLIB
 EXTRA_DSO_LDOPTS += $(ZLIB_LIBS)
 else
 EXTRA_DSO_LDOPTS += $(MOZ_ZLIB_LIBS)
 endif
 
--- a/layout/reftests/abs-pos/reftest.list
+++ b/layout/reftests/abs-pos/reftest.list
@@ -1,11 +1,11 @@
 == font-size-wrap.html font-size-wrap-ref.html
 == abs-pos-auto-margin-1.html abs-pos-auto-margin-1-ref.html
-fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia) == auto-offset-inline-block-1.html auto-offset-inline-block-1-ref.html # bug 696670
+fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated) == auto-offset-inline-block-1.html auto-offset-inline-block-1-ref.html # bug 696670
 == fieldset-1.html fieldset-1-ref.html
 == table-1.html table-1-ref.html
 == table-2.html table-2-ref.html
 == table-3.html table-3-ref.html
 == continuation-positioned-inline-1.html continuation-positioned-inline-ref.html
 == continuation-positioned-inline-2.html continuation-positioned-inline-ref.html
 == scrollframe-1.html scrollframe-1-ref.html
 fuzzy-if(Android,9,39) == scrollframe-2.html scrollframe-2-ref.html #bug 756530
--- a/layout/reftests/bidi/reftest.list
+++ b/layout/reftests/bidi/reftest.list
@@ -31,31 +31,31 @@ random-if(cocoaWidget) == mirroring-02.h
 == mixedChartype-02.html mixedChartype-02-ref.html
 == mixedChartype-02-j.html mixedChartype-02-ref.html
 == mixedChartype-03.html mixedChartype-03-ref.html
 == mixedChartype-03-j.html mixedChartype-03-ref.html
 == unicode-bidi-anonymous-001.html unicode-bidi-anonymous-001-ref.html
 == unicode-bidi-anonymous-002.html unicode-bidi-anonymous-002-ref.html
 fails == unicode-bidi-isolate-basic.html unicode-bidi-isolate-basic-ref.html # bug 712600
 fails == unicode-bidi-isolate-aharon.html unicode-bidi-isolate-aharon-ref.html # bug 712600
-fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia) == unicode-bidi-plaintext.html unicode-bidi-plaintext-ref.html # sub-pixel AA
+fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated) == unicode-bidi-plaintext.html unicode-bidi-plaintext-ref.html # sub-pixel AA
 == unicode-bidi-plaintext-textarea-1.html unicode-bidi-plaintext-textarea-ref.html
 == unicode-bidi-plaintext-textarea-2.html unicode-bidi-plaintext-textarea-ref.html
 == unicode-bidi-plaintext-textarea-3.html unicode-bidi-plaintext-textarea-ref.html
 == unicode-bidi-plaintext-textarea-4.html unicode-bidi-plaintext-textarea-ref.html
 == with-first-letter-1a.html with-first-letter-1-ref.html
 == with-first-letter-1b.html with-first-letter-1-ref.html
 random-if(cocoaWidget) == with-first-letter-2a.html with-first-letter-2-ref.html # bug 734313
 random-if(cocoaWidget) == with-first-letter-2b.html with-first-letter-2-ref.html # bug 734313
 == 83958-1a.html 83958-1-ref.html
 == 83958-1b.html 83958-1-ref.html
 == 83958-1c.html 83958-1-ref.html
-fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia) == 83958-2a.html 83958-2-ref.html # bug 696671
-fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia) == 83958-2b.html 83958-2-ref.html # bug 696671
-fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia) == 83958-2c.html 83958-2-ref.html # bug 696671
+fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated) == 83958-2a.html 83958-2-ref.html # bug 696671
+fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated) == 83958-2b.html 83958-2-ref.html # bug 696671
+fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated) == 83958-2c.html 83958-2-ref.html # bug 696671
 == 115921-1.html 115921-1-ref.html
 == 115921-2.html 115921-2-ref.html
 == 229367-1.html 229367-1-ref.html
 == 229367-2.html 229367-2-ref.html
 == 229367-3.html 229367-3-ref.html
 == 258928-1.html 258928-1-ref.html
 == 263359-1.html 263359-1-ref.html
 == 263359-1a.html 263359-1-ref.html
@@ -87,20 +87,20 @@ random-if(winWidget) == 305643-1.html 30
 == 525740-1.html 525740-1-ref.html
 == 536963-1.html 536963-1-ref.html
 == 588739-1.html 588739-ref.html
 == 588739-2.html 588739-ref.html
 == 588739-3.html 588739-ref.html
 == 612843-1.html 612843-1-ref.html
 == 613149-1a.html 613149-1-ref.html
 == 613149-1b.html 613149-1-ref.html
-fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia) == 613149-2a.html 613149-2-ref.html # bug 696672
-fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia) == 613149-2b.html 613149-2-ref.html # bug 696672
+fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated) == 613149-2a.html 613149-2-ref.html # bug 696672
+fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated) == 613149-2b.html 613149-2-ref.html # bug 696672
 == 613157-1.html 613157-1-ref.html
-fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia) == 613157-2.html 613157-2-ref.html # bug 696673
+fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated) == 613157-2.html 613157-2-ref.html # bug 696673
 == 662288-1.html 662288-1-ref.html
 == 670226-1.html 670226-1-ref.html
 == 676245-1.html 676245-1-ref.html
 == 698291-1.html 698291-1-ref.html
 == 698706-1.html 698706-1-ref.html
 == 704837-1.html 704837-1-ref.html
 == 712600-1.html 712600-1-ref.html
 == 712600-2.html 712600-2-ref.html
deleted file mode 100644
--- a/layout/reftests/bugs/759036-1-ref.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <style>
-    #container {
-      height: 300px;
-      width: 300px;
-      overflow:hidden;
-      border-radius:30px;
-    }
-    #inner {
-      width: 380px;
-      height: 260px;
-      background-color: #7fff7f;
-    }
-  </style>
-</head>
-<body>
-  <div id="container">
-    <div id="inner">
-    </div>
-  </div>
-</body>
-</html>
deleted file mode 100644
--- a/layout/reftests/bugs/759036-1.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <style>
-    #container {
-      height: 300px;
-      width: 300px;
-      overflow:hidden;
-      border-radius:30px;
-      opacity: 0.5;
-    }
-    #inner {
-      width: 380px;
-      height: 260px;
-      background-color: #00ff00;
-    }
-  </style>
-</head>
-<body>
-  <div id="container">
-    <div id="inner">
-    </div>
-  </div>
-</body>
-</html>
deleted file mode 100644
--- a/layout/reftests/bugs/759036-2-ref.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<style>
-.clipround {
-  width:250px;
-  overflow:hidden;
-  -moz-transform: translateX(300px);
-	border-radius:35px;
-  opacity:0.5;
-}
-</style>
-</head>
-<body>
-<img src="mozilla-banner.gif" class="clipround">
-</body>
-</html>
deleted file mode 100644
--- a/layout/reftests/bugs/759036-2.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<style>
-.clipround {
-  width:250px;
-  overflow:hidden;
-  -moz-transform: translateX(300px);
-	border-radius:35px;
-}
-</style>
-</head>
-<body>
-<img src="mozilla-banner-opacity.gif" class="clipround">
-</body>
-</html>
deleted file mode 100644
index bbf66e5104bca76fa5a8592700704747ca1b0111..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/layout/reftests/bugs/reftest.list
+++ b/layout/reftests/bugs/reftest.list
@@ -1484,17 +1484,17 @@ random-if(!haveTestPlugin) == 546071-1.h
 == 550325-3.html 550325-1-ref.html
 == 550716-1.html 550716-1-ref.html
 == 551463-1.html 551463-1-ref.html
 == 551699-1.html 551699-1-ref.html
 == 552334-1.html 552334-1-ref.html
 # 553571 depends on MS Indic shaping behavior and Win7 font support;
 # not expected to be reliable on XP or non-Windows platforms
 random-if(!winWidget) random-if(/^Windows\x20NT\x205/.test(http.oscpu)) != 553571-1.html 553571-1-notref.html # expect dotted circle in test, not in ref
-fuzzy-if(azureSkia,6,90) random-if(d2d) == 555388-1.html 555388-1-ref.html
+random-if(d2d) == 555388-1.html 555388-1-ref.html
 == 556661-1.html 556661-1-ref.html
 fails-if(Android) == 557087-1.html 557087-ref.html
 fails-if(Android) == 557087-2.html 557087-ref.html
 == 557736-1.html 557736-1-ref.html
 != 558011-1.xul 558011-1-ref.xul
 == 559284-1.html 559284-1-ref.html
 fails-if(Android) == 560455-1.xul 560455-1-ref.xul
 == 561981-1.html 561981-1-ref.html
@@ -1699,14 +1699,12 @@ fuzzy-if(true,1,21) fuzzy-if(cocoaWidget
 needs-focus == 731726-1.html 731726-1-ref.html
 == 735481-1.html 735481-1-ref.html
 == 745934-1.html 745934-1-ref.html
 == 748803-1.html 748803-1-ref.html
 == 750551-1.html 750551-1-ref.html
 == 751012-1a.html 751012-1-ref.html
 == 751012-1b.html 751012-1-ref.html
 == 690643-1.html 690643-1-ref.html
+== 758561-1.html 758561-1-ref.html
 == 748692-1a.html 748692-1-ref.html
 == 748692-1b.html 748692-1-ref.html
-== 758561-1.html 758561-1-ref.html
-+fuzzy-if(true,1,19) == 759036-1.html 759036-1-ref.html
-+fuzzy-if(true,3,5859) == 759036-2.html 759036-2-ref.html
 == 753329-1.html about:blank
--- a/layout/reftests/canvas/reftest.list
+++ b/layout/reftests/canvas/reftest.list
@@ -59,17 +59,17 @@ fails-if(/Mac\x20OS\x20X\x2010\.[56]/.te
 
 == evenodd-fill-sanity.html data:text/html,<body>Pass
 != evenodd-fill-1.html nonzero-fill-1.html
 == evenodd-fill-1.html evenodd-fill-ref.html
 == evenodd-fill-2.html evenodd-fill-ref.html
 == evenodd-fill-3.html nonzero-fill-2.html
 
 == dash-sanity.html data:text/html,<body>Pass
-fuzzy-if(azureSkia,9,470) random-if(Android) == dash-1.html dash-1-ref.svg  # Bug 668412 (really is android-specific, not IPC-specific)
+random-if(Android) == dash-1.html dash-1-ref.svg  # Bug 668412 (really is android-specific, not IPC-specific)
 
 == ctm-sanity.html data:text/html,<body>Pass
 fails == ctm-singular-sanity.html data:text/html,<body>Pass  # Bug 612033
 == ctm-1.html ctm-1-ref.html
 
 fails-if(/Mac\x20OS\x20X\x2010\.[56]/.test(http.oscpu)) == 672646-alpha-radial-gradient.html 672646-alpha-radial-gradient-ref.html # Bug 673333
 == 674003-alpha-radial-gradient-superlum.html 674003-alpha-radial-gradient-superlum-ref.html
 
--- a/layout/reftests/css-gradients/reftest.list
+++ b/layout/reftests/css-gradients/reftest.list
@@ -1,14 +1,14 @@
-fuzzy-if(azureSkia,2,85500) fuzzy-if(azureQuartz,1,34919) fails-if(Android) == linear-1a.html linear-1-ref.html
-fuzzy-if(azureSkia,2,85500) fuzzy-if(azureQuartz,1,34919) fails-if(Android) == linear-1b.html linear-1-ref.html
-fuzzy-if(azureSkia,1,11332) fuzzy-if(azureQuartz,1,11483) fails-if(Android) == linear-keywords-1a.html linear-keywords-1-ref.html
-fuzzy-if(azureSkia,1,11332) fuzzy-if(azureQuartz,1,11483) fails-if(Android) == linear-keywords-1b.html linear-keywords-1-ref.html
-fuzzy-if(azureSkia,1,37500) fuzzy-if(azureQuartz,1,10230) fails-if(Android) == linear-percent.html linear-percent-ref.html
-fuzzy-if(azureSkia,1,4500) fuzzy-if(azureQuartz,1,17068) fails-if(Android) == linear-mix.html linear-mix-ref.html
+fuzzy-if(azureQuartz,1,34919) fails-if(Android) == linear-1a.html linear-1-ref.html
+fuzzy-if(azureQuartz,1,34919) fails-if(Android) == linear-1b.html linear-1-ref.html
+fuzzy-if(azureQuartz,1,11483) fails-if(Android) == linear-keywords-1a.html linear-keywords-1-ref.html
+fuzzy-if(azureQuartz,1,11483) fails-if(Android) == linear-keywords-1b.html linear-keywords-1-ref.html
+fuzzy-if(azureQuartz,1,10230) fails-if(Android) == linear-percent.html linear-percent-ref.html
+fuzzy-if(azureQuartz,1,17068) fails-if(Android) == linear-mix.html linear-mix-ref.html
 == linear-diagonal-1a.html linear-diagonal-1-ref.html
 == linear-diagonal-1b.html linear-diagonal-1-ref.html
 == linear-diagonal-1c.html linear-diagonal-1-ref.html
 == linear-diagonal-2a.html linear-diagonal-2-ref.html
 == linear-diagonal-2b.html linear-diagonal-2-ref.html
 == linear-diagonal-2c.html linear-diagonal-2-ref.html
 == linear-diagonal-3a.html linear-diagonal-3-ref.html
 == linear-diagonal-3b.html linear-diagonal-3-ref.html
@@ -42,19 +42,19 @@ fuzzy-if(azureQuartz,1,9674) fails-if(An
 fuzzy-if(azureQuartz,1,9674) fails-if(Android) == linear-vertical-1d.html linear-vertical-1-ref.html
 fuzzy-if(azureQuartz,1,9674) fails-if(Android) == linear-vertical-1e.html linear-vertical-1-ref.html
 == linear-viewport.html linear-viewport-ref.html
 == linear-zero-length-1a.html linear-zero-length-1-ref.html
 == linear-zero-length-1b.html linear-zero-length-1-ref.html
 == linear-zero-length-1c.html linear-zero-length-1-ref.html
 == nostops.html about:blank
 == onestop.html about:blank
-fuzzy-if(azureSkia,1,5884) fuzzy-if(azureQuartz,1,1997) fails-if(Android) random-if(d2d) == radial-1a.html radial-1-ref.html
-fuzzy-if(azureSkia,1,7860) fuzzy-if(azureQuartz,1,1926) fails-if(Android) == radial-2a.html radial-2-ref.html
-fuzzy-if(azureSkia,1,7860) fuzzy-if(azureQuartz,1,1926) fails-if(Android) == radial-2b.html radial-2-ref.html
+fuzzy-if(azureQuartz,1,1997) fails-if(Android) random-if(d2d) == radial-1a.html radial-1-ref.html
+fuzzy-if(azureQuartz,1,1926) fails-if(Android) == radial-2a.html radial-2-ref.html
+fuzzy-if(azureQuartz,1,1926) fails-if(Android) == radial-2b.html radial-2-ref.html
 == radial-position-1a.html radial-position-1-ref.html
 == radial-shape-closest-corner-1a.html radial-shape-closest-corner-1-ref.html
 == radial-shape-closest-side-1a.html radial-shape-closest-side-1-ref.html
 == radial-shape-farthest-corner-1a.html radial-shape-farthest-corner-1-ref.html
 == radial-shape-farthest-side-1a.html radial-shape-farthest-side-1-ref.html
 == radial-size-1a.html radial-size-1-ref.html
 == radial-zero-length-1a.html radial-zero-length-1-ref.html
 == radial-zero-length-1b.html radial-zero-length-1-ref.html
@@ -72,33 +72,33 @@ fails-if(d2d) == repeating-linear-1b.htm
 == twostops-1b.html twostops-1-ref.html
 fails-if(/Mac\x20OS\x20X\x2010\.[56]/.test(http.oscpu)) == twostops-1c.html twostops-1-ref.html # bug 524173
 == twostops-1d.html twostops-1-ref.html
 == twostops-1e.html twostops-1-ref.html
 == twostops-1f.html twostops-1-ref.html
 == twostops-1g.html twostops-1-ref.html
 
 # from http://www.xanthir.com/:4bhipd by way of http://a-ja.net/newgrad.html
-fuzzy-if(azureSkia,1,19900) fuzzy-if(azureQuartz,1,4646) fails-if(Android) == aja-linear-1a.html aja-linear-1-ref.html
+fuzzy-if(azureQuartz,1,4646) fails-if(Android) == aja-linear-1a.html aja-linear-1-ref.html
 fails-if(!d2d) == aja-linear-1b.html aja-linear-1-ref.html # bug 526694
-fuzzy-if(azureSkia,1,19900) fuzzy-if(azureQuartz,1,4646) fails-if(Android) == aja-linear-1c.html aja-linear-1-ref.html
-fuzzy-if(azureSkia,1,19900) fuzzy-if(azureQuartz,1,4646) fails-if(Android) == aja-linear-1d.html aja-linear-1-ref.html
-fuzzy-if(azureSkia,1,19900) fuzzy-if(azureQuartz,1,4646) fails-if(Android) == aja-linear-1e.html aja-linear-1-ref.html
-fuzzy-if(azureSkia,1,19900) fuzzy-if(azureQuartz,1,4646) fails-if(Android) == aja-linear-1f.html aja-linear-1-ref.html
-fuzzy-if(azureSkia,1,19900) fuzzy-if(azureQuartz,1,4646) fails-if(Android) == aja-linear-1g.html aja-linear-1-ref.html
-fuzzy-if(azureSkia,1,19999) fuzzy-if(azureQuartz,1,4675) fails-if(Android) == aja-linear-2a.html aja-linear-2-ref.html
-fuzzy-if(azureSkia,1,19999) fuzzy-if(azureQuartz,1,4675) fails-if(Android) == aja-linear-2b.html aja-linear-2-ref.html
+fuzzy-if(azureQuartz,1,4646) fails-if(Android) == aja-linear-1c.html aja-linear-1-ref.html
+fuzzy-if(azureQuartz,1,4646) fails-if(Android) == aja-linear-1d.html aja-linear-1-ref.html
+fuzzy-if(azureQuartz,1,4646) fails-if(Android) == aja-linear-1e.html aja-linear-1-ref.html
+fuzzy-if(azureQuartz,1,4646) fails-if(Android) == aja-linear-1f.html aja-linear-1-ref.html
+fuzzy-if(azureQuartz,1,4646) fails-if(Android) == aja-linear-1g.html aja-linear-1-ref.html
+fuzzy-if(azureQuartz,1,4675) fails-if(Android) == aja-linear-2a.html aja-linear-2-ref.html
+fuzzy-if(azureQuartz,1,4675) fails-if(Android) == aja-linear-2b.html aja-linear-2-ref.html
 fails == aja-linear-2c.html aja-linear-2-ref.html # bug 522607
 fails-if(!d2d) == aja-linear-2d.html aja-linear-2-ref.html # bug 526694
-fuzzy-if(azureSkia,1,19999) fuzzy-if(azureQuartz,1,4900) fails-if(Android) == aja-linear-3a.html aja-linear-3-ref.html
-fuzzy-if(azureSkia,1,19999) fuzzy-if(azureQuartz,1,4900) fails-if(Android) == aja-linear-3b.html aja-linear-3-ref.html
-fuzzy-if(azureSkia,2,20000) fuzzy-if(azureQuartz,1,8655) fails-if(Android) == aja-linear-4a.html aja-linear-4-ref.html
-fuzzy-if(azureSkia,2,20000) fuzzy-if(azureQuartz,1,8655) fails-if(Android) == aja-linear-4b.html aja-linear-4-ref.html
-fuzzy-if(azureSkia,4,19900) fuzzy-if(azureQuartz,2,7878) fails-if(Android) == aja-linear-5a.html aja-linear-5-ref.html
-fuzzy-if(azureSkia,2,16477) fuzzy-if(azureQuartz,1,3910) fails-if(Android) fails-if(/Mac\x20OS\x20X\x2010\.5/.test(http.oscpu)) == aja-linear-6a.html aja-linear-6-ref.html # bug 526708
+fuzzy-if(azureQuartz,1,4900) fails-if(Android) == aja-linear-3a.html aja-linear-3-ref.html
+fuzzy-if(azureQuartz,1,4900) fails-if(Android) == aja-linear-3b.html aja-linear-3-ref.html
+fuzzy-if(azureQuartz,1,8655) fails-if(Android) == aja-linear-4a.html aja-linear-4-ref.html
+fuzzy-if(azureQuartz,1,8655) fails-if(Android) == aja-linear-4b.html aja-linear-4-ref.html
+fuzzy-if(azureQuartz,2,7878) fails-if(Android) == aja-linear-5a.html aja-linear-5-ref.html
+fuzzy-if(azureQuartz,1,3910) fails-if(Android) fails-if(/Mac\x20OS\x20X\x2010\.5/.test(http.oscpu)) == aja-linear-6a.html aja-linear-6-ref.html # bug 526708
 fails == aja-linear-6b.html aja-linear-6-ref.html # bug 522607
 == height-dependence-1.html height-dependence-1-ref.html
 fails-if(cocoaWidget) == height-dependence-2.html height-dependence-2-ref.html # bug 535007
 == height-dependence-3.html height-dependence-3-ref.html
 
 fails-if(d2d) == linear-onestopposition-1.html linear-onestopposition-1-ref.html # bug 638664
 == linear-onestopposition-1.html linear-onestopposition-1-ref2.html
 fails-if(d2d) fails-if(cocoaWidget) == radial-onestopposition-1.html radial-onestopposition-1-ref.html # bug 638664
--- a/layout/reftests/image-element/reftest.list
+++ b/layout/reftests/image-element/reftest.list
@@ -1,17 +1,16 @@
 == bug-364968.html bug-364968-ref.html
 == bug-463204.html bug-463204-ref.html
 fails-if(Android) == canvas-outside-document.html canvas-inside-document.html
 == mozsetimageelement-01.html mozsetimageelement-01-ref.html
 == mozsetimageelement-02.html about:blank
 == image-outside-document-invalidate.html about:blank
 == canvas-outside-document-invalidate-01.html about:blank
-fails-if(azureSkia&&winWidget) fails-if(cocoaWidget) == canvas-outside-document-invalidate-02.html about:blank # See bug 666800
-#fails with Skia due to Skia bug 568
+fails-if(cocoaWidget) == canvas-outside-document-invalidate-02.html about:blank # See bug 666800
 == element-paint-simple.html element-paint-simple-ref.html
 == element-paint-repeated.html element-paint-repeated-ref.html
 == element-paint-recursion.html element-paint-recursion-ref.html
 HTTP(..) == element-paint-continuation.html element-paint-continuation-ref.html
 == element-paint-transform-01.html element-paint-transform-01-ref.html
 random-if(d2d) == element-paint-transform-02.html element-paint-transform-02-ref.html # bug 587133
 == element-paint-background-size-01.html element-paint-background-size-01-ref.html
 == element-paint-background-size-02.html element-paint-background-size-02-ref.html
--- a/layout/tools/reftest/reftest.js
+++ b/layout/tools/reftest/reftest.js
@@ -482,17 +482,16 @@ function BuildConditionSandbox(aURL) {
     
     var gfxInfo = (NS_GFXINFO_CONTRACTID in CC) && CC[NS_GFXINFO_CONTRACTID].getService(CI.nsIGfxInfo);
     try {
       sandbox.d2d = gfxInfo.D2DEnabled;
     } catch (e) {
       sandbox.d2d = false;
     }
     sandbox.azureQuartz = gfxInfo.getInfo().AzureBackend == "quartz";
-    sandbox.azureSkia = gfxInfo.getInfo().AzureBackend == "skia";
 
     sandbox.layersGPUAccelerated =
       gWindowUtils.layerManagerType != "Basic";
     sandbox.layersOpenGL =
       gWindowUtils.layerManagerType == "OpenGL";
 
     // Shortcuts for widget toolkits.
     sandbox.Android = xr.OS == "Android";
--- a/parser/htmlparser/tests/reftest/reftest.list
+++ b/parser/htmlparser/tests/reftest/reftest.list
@@ -1,17 +1,17 @@
 == bug535530-1.html bug535530-1-ref.html
 == view-source:bug535530-2.html bug535530-2-ref.html
 == bug566280-1.html bug566280-1-ref.html
 == bug577418-1.html bug577418-1-ref.html
 == bug582788-1.html bug582788-1-ref.html
 == bug582940-1.html bug582940-1-ref.html
 == bug592656-1.html bug592656-1-ref.html
 == bug608373-1.html bug608373-1-ref.html
-fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azureSkia) == view-source:bug482921-1.html bug482921-1-ref.html # bug 703201
+fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated) == view-source:bug482921-1.html bug482921-1-ref.html # bug 703201
 == view-source:bug482921-2.xhtml bug482921-2-ref.html
 == bug659763-1.html bug659763-1-ref.html
 == bug659763-2.html bug659763-2-ref.html
 == bug659763-3.html bug659763-3-ref.html
 == bug659763-4.html bug659763-4-ref.html
 == bug659763-5.html bug659763-5-ref.html
 == bug659763-6.html bug659763-6-ref.html
 == view-source:bug673094-1.html view-source:bug673094-1-ref.html