aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sfnt
diff options
context:
space:
mode:
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