aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sfnt
diff options
context:
space:
mode:
authorGravatar bungeman <bungeman@google.com>2016-08-16 12:27:49 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-08-16 12:27:49 -0700
commit8fd23a86d0d16c93e4fa08f79cdcca4b48b6d7f9 (patch)
tree57eb9e4b1f6c7e3485af398b9779fa5319ef663b /src/sfnt
parent6c80a9d4b06e10a2865731c487a537d34963268a (diff)
Remove SkPreprocessorSeq.h and SkTypedEnum.h.
These were added to allow the use of typed enums before typed enums were available on all platforms. Now that typed enums are available, just use them directly. Review-Url: https://codereview.chromium.org/2254513002
Diffstat (limited to 'src/sfnt')
-rw-r--r--src/sfnt/SkIBMFamilyClass.h214
-rw-r--r--src/sfnt/SkOTTable_EBDT.h1
-rw-r--r--src/sfnt/SkOTTable_EBLC.h14
-rw-r--r--src/sfnt/SkOTTable_OS_2_V0.h47
-rw-r--r--src/sfnt/SkOTTable_OS_2_V1.h47
-rw-r--r--src/sfnt/SkOTTable_OS_2_V2.h46
-rw-r--r--src/sfnt/SkOTTable_OS_2_V3.h47
-rw-r--r--src/sfnt/SkOTTable_OS_2_V4.h47
-rw-r--r--src/sfnt/SkOTTable_OS_2_VA.h45
-rw-r--r--src/sfnt/SkOTTable_gasp.h1
-rw-r--r--src/sfnt/SkOTTable_glyf.h1
-rw-r--r--src/sfnt/SkOTTable_head.h32
-rw-r--r--src/sfnt/SkOTTable_hhea.h8
-rw-r--r--src/sfnt/SkOTTable_maxp_TT.h10
-rw-r--r--src/sfnt/SkOTTable_name.h843
-rw-r--r--src/sfnt/SkOTTable_post.h16
-rw-r--r--src/sfnt/SkPanose.h940
-rw-r--r--src/sfnt/SkPreprocessorSeq.h826
-rw-r--r--src/sfnt/SkTypedEnum.h68
19 files changed, 1135 insertions, 2118 deletions
diff --git a/src/sfnt/SkIBMFamilyClass.h b/src/sfnt/SkIBMFamilyClass.h
index 1572011215..190952b084 100644
--- a/src/sfnt/SkIBMFamilyClass.h
+++ b/src/sfnt/SkIBMFamilyClass.h
@@ -9,159 +9,147 @@
#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))
+ 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))
+ FreeformSerifs = 7,
+ SansSerif = 8,
+ Ornamentals = 9,
+ Scripts = 10,
//11 reserved for future use
- ((Symbolic, 12))
+ Symbolic = 12,
//13-15 reserved for future use
- SK_SEQ_END,
- (familyClass)SK_SEQ_END)
+ } familyClass;
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))
+ 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)
+ Miscellaneous = 15,
+ } value;
} oldstyleSerifs;
struct TransitionalSerifs {
- SK_TYPED_ENUM(Value, SK_OT_BYTE,
- ((NoClassification, 0))
- ((DirectLine, 1))
- ((Script, 2))
+ 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)
+ Miscellaneous = 15,
+ } value;
} transitionalSerifs;
struct ModernSerifs {
- SK_TYPED_ENUM(Value, SK_OT_BYTE,
- ((NoClassification, 0))
- ((Italian, 1))
- ((Script, 2))
+ 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)
+ Miscellaneous = 15,
+ } value;
} 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))
+ 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)
+ Miscellaneous = 15,
+ } value;
} clarendonSerifs;
struct SlabSerifs {
- SK_TYPED_ENUM(Value, SK_OT_BYTE,
- ((NoClassification, 0))
- ((Monotone, 1))
- ((Humanist, 2))
- ((Geometric, 3))
- ((Swiss, 4))
- ((Typewriter, 5))
+ 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)
+ Miscellaneous = 15,
+ } value;
} slabSerifs;
struct FreeformSerifs {
- SK_TYPED_ENUM(Value, SK_OT_BYTE,
- ((NoClassification, 0))
- ((Modern, 1))
+ enum Value : SK_OT_BYTE {
+ NoClassification = 0,
+ Modern = 1,
//2-14 reserved for future use
- ((Miscellaneous, 15))
- SK_SEQ_END,
- (value)SK_SEQ_END)
+ Miscellaneous = 15,
+ } value;
} freeformSerifs;
struct SansSerif {
- SK_TYPED_ENUM(Value, SK_OT_BYTE,
- ((NoClassification, 0))
- ((IBMNeoGrotesqueGothic, 1))
- ((Humanist, 2))
- ((LowXRoundGeometric, 3))
- ((HighXRoundGeometric, 4))
- ((NeoGrotesqueGothic, 5))
- ((ModifiedNeoGrotesqueGothic, 6))
+ 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))
+ TypewriterGothic = 9,
+ Matrix = 10,
//11-14 reserved for future use
- ((Miscellaneous, 15))
- SK_SEQ_END,
- (value)SK_SEQ_END)
+ Miscellaneous = 15,
+ } value;
} sansSerif;
struct Ornamentals {
- SK_TYPED_ENUM(Value, SK_OT_BYTE,
- ((NoClassification, 0))
- ((Engraver, 1))
- ((BlackLetter, 2))
- ((Decorative, 3))
- ((ThreeDimensional, 4))
+ 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)
+ Miscellaneous = 15,
+ } value;
} 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))
+ 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)
+ Miscellaneous = 15,
+ } value;
} scripts;
struct Symbolic {
- SK_TYPED_ENUM(Value, SK_OT_BYTE,
- ((NoClassification, 0))
+ enum Value : SK_OT_BYTE {
+ NoClassification = 0,
//1-2 reserved for future use
- ((MixedSerif, 3))
+ MixedSerif = 3,
//4-5 reserved for future use
- ((OldstyleSerif, 6))
- ((NeoGrotesqueSansSerif, 7))
+ OldstyleSerif = 6,
+ NeoGrotesqueSansSerif = 7,
//8-14 reserved for future use
- ((Miscellaneous, 15))
- SK_SEQ_END,
- (value)SK_SEQ_END)
+ Miscellaneous = 15,
+ } value;
} symbolic;
} familySubClass;
};
diff --git a/src/sfnt/SkOTTable_EBDT.h b/src/sfnt/SkOTTable_EBDT.h
index 89d7a3abe2..856b59a832 100644
--- a/src/sfnt/SkOTTable_EBDT.h
+++ b/src/sfnt/SkOTTable_EBDT.h
@@ -12,7 +12,6 @@
#include "SkOTTableTypes.h"
#include "SkOTTable_head.h"
#include "SkOTTable_loca.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
diff --git a/src/sfnt/SkOTTable_EBLC.h b/src/sfnt/SkOTTable_EBLC.h
index 845418d3e4..d77dc137f7 100644
--- a/src/sfnt/SkOTTable_EBLC.h
+++ b/src/sfnt/SkOTTable_EBLC.h
@@ -11,7 +11,6 @@
#include "SkEndian.h"
#include "SkOTTable_EBDT.h"
#include "SkOTTableTypes.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
@@ -54,13 +53,12 @@ struct SkOTTableEmbeddedBitmapLocation {
SK_OT_BYTE ppemX; //horizontal pixels per Em
SK_OT_BYTE ppemY; //vertical pixels per Em
struct BitDepth {
- SK_TYPED_ENUM(Value, SK_OT_BYTE,
- ((BW, 1))
- ((Gray4, 2))
- ((Gray16, 4))
- ((Gray256, 8))
- SK_SEQ_END,
- SK_SEQ_END)
+ enum Value : SK_OT_BYTE {
+ BW = 1,
+ Gray4 = 2,
+ Gray16 = 4,
+ Gray256 = 8,
+ };
SK_OT_BYTE value;
} bitDepth; //the Microsoft rasterizer v.1.7 or greater supports
union Flags {
diff --git a/src/sfnt/SkOTTable_OS_2_V0.h b/src/sfnt/SkOTTable_OS_2_V0.h
index 4dff413770..0c9f61198c 100644
--- a/src/sfnt/SkOTTable_OS_2_V0.h
+++ b/src/sfnt/SkOTTable_OS_2_V0.h
@@ -12,7 +12,6 @@
#include "SkIBMFamilyClass.h"
#include "SkOTTableTypes.h"
#include "SkPanose.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
@@ -24,33 +23,31 @@ struct SkOTTableOS2_V0 {
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)
+ 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_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)
+ 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;
} usWidthClass;
union Type {
struct Field {
diff --git a/src/sfnt/SkOTTable_OS_2_V1.h b/src/sfnt/SkOTTable_OS_2_V1.h
index 43e61d41cc..40cfdb64a0 100644
--- a/src/sfnt/SkOTTable_OS_2_V1.h
+++ b/src/sfnt/SkOTTable_OS_2_V1.h
@@ -12,7 +12,6 @@
#include "SkIBMFamilyClass.h"
#include "SkOTTableTypes.h"
#include "SkPanose.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
@@ -22,33 +21,31 @@ struct SkOTTableOS2_V1 {
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)
+ 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_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)
+ 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;
} usWidthClass;
union Type {
struct Field {
diff --git a/src/sfnt/SkOTTable_OS_2_V2.h b/src/sfnt/SkOTTable_OS_2_V2.h
index 30ad016790..080bf95d92 100644
--- a/src/sfnt/SkOTTable_OS_2_V2.h
+++ b/src/sfnt/SkOTTable_OS_2_V2.h
@@ -12,7 +12,6 @@
#include "SkIBMFamilyClass.h"
#include "SkOTTableTypes.h"
#include "SkPanose.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
@@ -22,32 +21,31 @@ struct SkOTTableOS2_V2 {
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)
+ 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_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)
+ 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;
} usWidthClass;
union Type {
struct Field {
diff --git a/src/sfnt/SkOTTable_OS_2_V3.h b/src/sfnt/SkOTTable_OS_2_V3.h
index 00df2891f1..e77c46606b 100644
--- a/src/sfnt/SkOTTable_OS_2_V3.h
+++ b/src/sfnt/SkOTTable_OS_2_V3.h
@@ -12,7 +12,6 @@
#include "SkIBMFamilyClass.h"
#include "SkOTTableTypes.h"
#include "SkPanose.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
@@ -22,33 +21,31 @@ struct SkOTTableOS2_V3 {
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)
+ 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_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)
+ 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;
} usWidthClass;
union Type {
struct Field {
diff --git a/src/sfnt/SkOTTable_OS_2_V4.h b/src/sfnt/SkOTTable_OS_2_V4.h
index 3d22a1b2d1..0dbb21ff52 100644
--- a/src/sfnt/SkOTTable_OS_2_V4.h
+++ b/src/sfnt/SkOTTable_OS_2_V4.h
@@ -12,7 +12,6 @@
#include "SkIBMFamilyClass.h"
#include "SkOTTableTypes.h"
#include "SkPanose.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
@@ -22,33 +21,31 @@ struct SkOTTableOS2_V4 {
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)
+ 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_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)
+ 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;
} usWidthClass;
union Type {
struct Field {
diff --git a/src/sfnt/SkOTTable_OS_2_VA.h b/src/sfnt/SkOTTable_OS_2_VA.h
index 1dc95b5af7..63b904c5b0 100644
--- a/src/sfnt/SkOTTable_OS_2_VA.h
+++ b/src/sfnt/SkOTTable_OS_2_VA.h
@@ -12,7 +12,6 @@
#include "SkIBMFamilyClass.h"
#include "SkOTTableTypes.h"
#include "SkPanose.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
@@ -25,32 +24,32 @@ struct SkOTTableOS2_VA {
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)))
+ 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)
+ } 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)))
+ 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)
+ } value;
} usWidthClass;
union Type {
struct Field {
diff --git a/src/sfnt/SkOTTable_gasp.h b/src/sfnt/SkOTTable_gasp.h
index c6d8aa6550..5af590e5cc 100644
--- a/src/sfnt/SkOTTable_gasp.h
+++ b/src/sfnt/SkOTTable_gasp.h
@@ -10,7 +10,6 @@
#include "SkEndian.h"
#include "SkOTTableTypes.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
diff --git a/src/sfnt/SkOTTable_glyf.h b/src/sfnt/SkOTTable_glyf.h
index ac34d7b816..77bd982b0e 100644
--- a/src/sfnt/SkOTTable_glyf.h
+++ b/src/sfnt/SkOTTable_glyf.h
@@ -12,7 +12,6 @@
#include "SkOTTableTypes.h"
#include "SkOTTable_head.h"
#include "SkOTTable_loca.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
diff --git a/src/sfnt/SkOTTable_head.h b/src/sfnt/SkOTTable_head.h
index 52970b0f3b..0011eead80 100644
--- a/src/sfnt/SkOTTable_head.h
+++ b/src/sfnt/SkOTTable_head.h
@@ -10,7 +10,6 @@
#include "SkEndian.h"
#include "SkOTTableTypes.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
@@ -116,27 +115,24 @@ struct SkOTTableHead {
} 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((uint16_t)-1))))
- ((StronglyRTL, static_cast<SK_OT_SHORT>(SkTEndian_SwapBE16((uint16_t)-2))))
- SK_SEQ_END,
- (value)SK_SEQ_END)
+ 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((uint16_t)-1)),
+ StronglyRTL = static_cast<SK_OT_SHORT>(SkTEndian_SwapBE16((uint16_t)-2)),
+ } value;
} 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)
+ enum Value : SK_OT_SHORT {
+ ShortOffsets = SkTEndian_SwapBE16(0),
+ LongOffsets = SkTEndian_SwapBE16(1),
+ } value;
} indexToLocFormat;
struct GlyphDataFormat {
- SK_TYPED_ENUM(Value, SK_OT_SHORT,
- ((CurrentFormat, SkTEndian_SwapBE16(0)))
- SK_SEQ_END,
- (value)SK_SEQ_END)
+ enum Value : SK_OT_SHORT {
+ CurrentFormat = SkTEndian_SwapBE16(0),
+ } value;
} glyphDataFormat;
};
diff --git a/src/sfnt/SkOTTable_hhea.h b/src/sfnt/SkOTTable_hhea.h
index a3b9cad725..76b15e276d 100644
--- a/src/sfnt/SkOTTable_hhea.h
+++ b/src/sfnt/SkOTTable_hhea.h
@@ -10,7 +10,6 @@
#include "SkEndian.h"
#include "SkOTTableTypes.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
@@ -38,10 +37,9 @@ struct SkOTTableHorizontalHeader {
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)
+ enum Value : SK_OT_SHORT {
+ CurrentFormat = SkTEndian_SwapBE16(0),
+ } value;
} metricDataFormat;
SK_OT_USHORT numberOfHMetrics;
};
diff --git a/src/sfnt/SkOTTable_maxp_TT.h b/src/sfnt/SkOTTable_maxp_TT.h
index 1fdd0edc83..d45999723c 100644
--- a/src/sfnt/SkOTTable_maxp_TT.h
+++ b/src/sfnt/SkOTTable_maxp_TT.h
@@ -10,7 +10,6 @@
#include "SkEndian.h"
#include "SkOTTableTypes.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
@@ -24,11 +23,10 @@ struct SkOTTableMaximumProfile_TT {
SK_OT_USHORT maxCompositePoints;
SK_OT_USHORT maxCompositeContours;
struct MaxZones {
- SK_TYPED_ENUM(Value, SK_OT_USHORT,
- ((DoesNotUseTwilightZone, SkTEndian_SwapBE16(1)))
- ((UsesTwilightZone, SkTEndian_SwapBE16(2)))
- SK_SEQ_END,
- (value)SK_SEQ_END)
+ enum Value : SK_OT_USHORT {
+ DoesNotUseTwilightZone = SkTEndian_SwapBE16(1),
+ UsesTwilightZone = SkTEndian_SwapBE16(2),
+ } value;
} maxZones;
SK_OT_USHORT maxTwilightPoints;
SK_OT_USHORT maxStorage;
diff --git a/src/sfnt/SkOTTable_name.h b/src/sfnt/SkOTTable_name.h
index 6b25a2d1c8..4c1ce5bb6c 100644
--- a/src/sfnt/SkOTTable_name.h
+++ b/src/sfnt/SkOTTable_name.h
@@ -11,7 +11,6 @@
#include "SkEndian.h"
#include "SkOTTableTypes.h"
#include "SkString.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
@@ -36,14 +35,13 @@ struct SkOTTableName {
struct Record {
/** 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)
+ 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),
+ } value;
} platformID;
union EncodingID {
@@ -51,16 +49,15 @@ struct SkOTTableName {
/** 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)
+ 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),
+ } value;
} unicode;
/** These are Mac encodings, see http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/
@@ -68,52 +65,50 @@ struct SkOTTableName {
* Name table strings using PlatformID::Macintosh must use Roman.
*/
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)
+ 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),
+ } value;
} 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)
+ enum Value : SK_OT_USHORT {
+ ASCII7 = SkTEndian_SwapBE16(0),
+ ISO10646 = SkTEndian_SwapBE16(1),
+ ISO88591 = SkTEndian_SwapBE16(2),
+ } value;
} iso;
/** Name table strings using PlatformID::Windows must use Symbol, UnicodeBMPUCS2, or
@@ -121,17 +116,16 @@ struct SkOTTableName {
* UTF-16BE.
*/
struct Windows {
- SK_TYPED_ENUM(Value, SK_OT_USHORT,
- ((Symbol, SkTEndian_SwapBE16(0))) // UCS2-BE, but don't use this font to display it's own name.
- ((UnicodeBMPUCS2, SkTEndian_SwapBE16(1))) // UCS2-BE, 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))) // UTF-16BE. It means UCS4 in charmaps.
- SK_SEQ_END,
- (value)SK_SEQ_END)
+ enum Value : SK_OT_USHORT {
+ Symbol = SkTEndian_SwapBE16(0), // UCS2-BE, but don't use this font to display it's own name.
+ UnicodeBMPUCS2 = SkTEndian_SwapBE16(1), // UCS2-BE, 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), // UTF-16BE. It means UCS4 in charmaps.
+ } value;
} windows;
} encodingID;
@@ -149,341 +143,339 @@ struct SkOTTableName {
* Apple now uses BCP 47 (post OSX10.4), so there will be no new entries.
*/
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)
+ 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),
+ } value;
} macintosh;
/** These are known as LCIDs.
* On Windows the current set can be had from EnumSystemLocalesEx and LocaleNameToLCID.
*/
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)
+ 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),
+ } value;
} windows;
} languageID;
@@ -492,31 +484,30 @@ struct SkOTTableName {
/** A font specific name id which should be greater than 0xFF. */
SK_OT_USHORT fontSpecific;
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)
+ 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),
+ } value;
} predefined;
} nameID;
diff --git a/src/sfnt/SkOTTable_post.h b/src/sfnt/SkOTTable_post.h
index 7461d5283e..1af692983f 100644
--- a/src/sfnt/SkOTTable_post.h
+++ b/src/sfnt/SkOTTable_post.h
@@ -10,7 +10,6 @@
#include "SkEndian.h"
#include "SkOTTableTypes.h"
-#include "SkTypedEnum.h"
#pragma pack(push, 1)
@@ -22,14 +21,13 @@ struct SkOTTablePostScript {
static const SK_OT_ULONG TAG = SkOTTableTAG<SkOTTablePostScript>::value;
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)
+ 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_OT_Fixed value;
} format;
SK_OT_Fixed italicAngle;
diff --git a/src/sfnt/SkPanose.h b/src/sfnt/SkPanose.h
index 9561e56fb0..648aec6758 100644
--- a/src/sfnt/SkPanose.h
+++ b/src/sfnt/SkPanose.h
@@ -9,623 +9,585 @@
#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)
+ enum Value : SK_OT_BYTE {
+ Any = 0,
+ NoFit = 1,
+ TextAndDisplay = 2,
+ Script = 3,
+ Decorative = 4,
+ Pictoral = 5,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ enum Value : SK_OT_BYTE {
+ Any = 0,
+ NoFit = 1,
+ GradualDiagonal = 2,
+ GradualTransitional = 3,
+ GradualVertical = 4,
+ GradualHorizontal = 5,
+ RapidVertical = 6,
+ RapidHorizontal = 7,
+ InstantVertical = 8,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ enum Value : SK_OT_BYTE {
+ Any = 0,
+ NoFit = 1,
+ ProportionalSpaced = 2,
+ Monospaced = 3,
+ } value;
} 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)
+ enum Value : SK_OT_BYTE {
+ Any = 0,
+ NoFit = 1,
+ VeryCondensed = 2,
+ Condensed = 3,
+ Normal = 4,
+ Expanded = 5,
+ VeryExpanded = 6,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ enum Value : SK_OT_BYTE {
+ Any = 0,
+ NoFit = 1,
+ VeryLow = 2,
+ Low = 3,
+ Medium = 4,
+ High = 5,
+ VeryHigh = 6,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ enum Value : SK_OT_BYTE {
+ Any = 0,
+ NoFit = 1,
+ None_StandardSolidFill = 2,
+ White_NoFill = 3,
+ PatternedFill = 4,
+ ComplexFill = 5,
+ ShapedFill = 6,
+ DrawnDistressed = 7,
+ } value;
} 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)
+ enum Value : SK_OT_BYTE {
+ Any = 0,
+ NoFit = 1,
+ None = 2,
+ Inline = 3,
+ Outline = 4,
+ Engraved = 5,
+ Shadow = 6,
+ Relief = 7,
+ Backdrop = 8,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ enum Value : SK_OT_BYTE {
+ Any = 0,
+ NoFit = 1,
+ ExtendedCollection = 2,
+ Litterals = 3,
+ NoLowerCase = 4,
+ SmallCaps = 5,
+ } value;
} 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)
+ 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,
+ } value;
} bKind;
struct Weight {
- SK_TYPED_ENUM(Value, SK_OT_BYTE,
- ((NoFit, 1))
- SK_SEQ_END,
- (value)SK_SEQ_END)
+ enum Value : SK_OT_BYTE {
+ NoFit = 1,
+ } value;
} 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)
+ enum Value : SK_OT_BYTE {
+ Any = 0,
+ NoFit = 1,
+ ProportionalSpaced = 2,
+ Monospaced = 3,
+ } value;
} bSpacing;
struct AspectRatioAndContrast {
- SK_TYPED_ENUM(Value, SK_OT_BYTE,
- ((NoFit, 1))
- SK_SEQ_END,
- (value)SK_SEQ_END)
+ enum Value : SK_OT_BYTE {
+ NoFit = 1,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} 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)
+ 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,
+ } value;
} bAspectRatio163;
} pictoral;
} data;
diff --git a/src/sfnt/SkPreprocessorSeq.h b/src/sfnt/SkPreprocessorSeq.h
deleted file mode 100644
index fed24181a9..0000000000
--- a/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
diff --git a/src/sfnt/SkTypedEnum.h b/src/sfnt/SkTypedEnum.h
deleted file mode 100644
index 19d57acf0a..0000000000
--- a/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)
- #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