1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/gfx/skia/trunk/src/sfnt/SkIBMFamilyClass.h Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,174 @@ 1.4 +/* 1.5 + * Copyright 2012 Google Inc. 1.6 + * 1.7 + * Use of this source code is governed by a BSD-style license that can be 1.8 + * found in the LICENSE file. 1.9 + */ 1.10 + 1.11 +#ifndef SkIBMFamilyClass_DEFINED 1.12 +#define SkIBMFamilyClass_DEFINED 1.13 + 1.14 +#include "SkOTTableTypes.h" 1.15 +#include "SkTypedEnum.h" 1.16 + 1.17 +#pragma pack(push, 1) 1.18 + 1.19 +struct SkIBMFamilyClass { 1.20 + SK_TYPED_ENUM(Class, SK_OT_BYTE, 1.21 + ((NoClassification, 0)) 1.22 + ((OldstyleSerifs, 1)) 1.23 + ((TransitionalSerifs, 2)) 1.24 + ((ModernSerifs, 3)) 1.25 + ((ClarendonSerifs, 4)) 1.26 + ((SlabSerifs, 5)) 1.27 + //6 reserved for future use 1.28 + ((FreeformSerifs, 7)) 1.29 + ((SansSerif, 8)) 1.30 + ((Ornamentals, 9)) 1.31 + ((Scripts, 10)) 1.32 + //11 reserved for future use 1.33 + ((Symbolic, 12)) 1.34 + //13-15 reserved for future use 1.35 + SK_SEQ_END, 1.36 + (familyClass)SK_SEQ_END) 1.37 + union SubClass { 1.38 + struct OldstyleSerifs { 1.39 + SK_TYPED_ENUM(Value, SK_OT_BYTE, 1.40 + ((NoClassification, 0)) 1.41 + ((IBMRoundedLegibility, 1)) 1.42 + ((Garalde, 2)) 1.43 + ((Venetian, 3)) 1.44 + ((ModifiedVenetian, 4)) 1.45 + ((DutchModern, 5)) 1.46 + ((DutchTraditional, 6)) 1.47 + ((Contemporary, 7)) 1.48 + ((Calligraphic, 8)) 1.49 + //9-14 reserved for future use 1.50 + ((Miscellaneous, 15)) 1.51 + SK_SEQ_END, 1.52 + (value)SK_SEQ_END) 1.53 + } oldstyleSerifs; 1.54 + struct TransitionalSerifs { 1.55 + SK_TYPED_ENUM(Value, SK_OT_BYTE, 1.56 + ((NoClassification, 0)) 1.57 + ((DirectLine, 1)) 1.58 + ((Script, 2)) 1.59 + //3-14 reserved for future use 1.60 + ((Miscellaneous, 15)) 1.61 + SK_SEQ_END, 1.62 + (value)SK_SEQ_END) 1.63 + } transitionalSerifs; 1.64 + struct ModernSerifs { 1.65 + SK_TYPED_ENUM(Value, SK_OT_BYTE, 1.66 + ((NoClassification, 0)) 1.67 + ((Italian, 1)) 1.68 + ((Script, 2)) 1.69 + //3-14 reserved for future use 1.70 + ((Miscellaneous, 15)) 1.71 + SK_SEQ_END, 1.72 + (value)SK_SEQ_END) 1.73 + } modernSerifs; 1.74 + struct ClarendonSerifs { 1.75 + SK_TYPED_ENUM(Value, SK_OT_BYTE, 1.76 + ((NoClassification, 0)) 1.77 + ((Clarendon, 1)) 1.78 + ((Modern, 2)) 1.79 + ((Traditional, 3)) 1.80 + ((Newspaper, 4)) 1.81 + ((StubSerif, 5)) 1.82 + ((Monotone, 6)) 1.83 + ((Typewriter, 7)) 1.84 + //8-14 reserved for future use 1.85 + ((Miscellaneous, 15)) 1.86 + SK_SEQ_END, 1.87 + (value)SK_SEQ_END) 1.88 + } clarendonSerifs; 1.89 + struct SlabSerifs { 1.90 + SK_TYPED_ENUM(Value, SK_OT_BYTE, 1.91 + ((NoClassification, 0)) 1.92 + ((Monotone, 1)) 1.93 + ((Humanist, 2)) 1.94 + ((Geometric, 3)) 1.95 + ((Swiss, 4)) 1.96 + ((Typewriter, 5)) 1.97 + //6-14 reserved for future use 1.98 + ((Miscellaneous, 15)) 1.99 + SK_SEQ_END, 1.100 + (value)SK_SEQ_END) 1.101 + } slabSerifs; 1.102 + struct FreeformSerifs { 1.103 + SK_TYPED_ENUM(Value, SK_OT_BYTE, 1.104 + ((NoClassification, 0)) 1.105 + ((Modern, 1)) 1.106 + //2-14 reserved for future use 1.107 + ((Miscellaneous, 15)) 1.108 + SK_SEQ_END, 1.109 + (value)SK_SEQ_END) 1.110 + } freeformSerifs; 1.111 + struct SansSerif { 1.112 + SK_TYPED_ENUM(Value, SK_OT_BYTE, 1.113 + ((NoClassification, 0)) 1.114 + ((IBMNeoGrotesqueGothic, 1)) 1.115 + ((Humanist, 2)) 1.116 + ((LowXRoundGeometric, 3)) 1.117 + ((HighXRoundGeometric, 4)) 1.118 + ((NeoGrotesqueGothic, 5)) 1.119 + ((ModifiedNeoGrotesqueGothic, 6)) 1.120 + //7-8 reserved for future use 1.121 + ((TypewriterGothic, 9)) 1.122 + ((Matrix, 10)) 1.123 + //11-14 reserved for future use 1.124 + ((Miscellaneous, 15)) 1.125 + SK_SEQ_END, 1.126 + (value)SK_SEQ_END) 1.127 + } sansSerif; 1.128 + struct Ornamentals { 1.129 + SK_TYPED_ENUM(Value, SK_OT_BYTE, 1.130 + ((NoClassification, 0)) 1.131 + ((Engraver, 1)) 1.132 + ((BlackLetter, 2)) 1.133 + ((Decorative, 3)) 1.134 + ((ThreeDimensional, 4)) 1.135 + //5-14 reserved for future use 1.136 + ((Miscellaneous, 15)) 1.137 + SK_SEQ_END, 1.138 + (value)SK_SEQ_END) 1.139 + } ornamentals; 1.140 + struct Scripts { 1.141 + SK_TYPED_ENUM(Value, SK_OT_BYTE, 1.142 + ((NoClassification, 0)) 1.143 + ((Uncial, 1)) 1.144 + ((Brush_Joined, 2)) 1.145 + ((Formal_Joined, 3)) 1.146 + ((Monotone_Joined, 4)) 1.147 + ((Calligraphic, 5)) 1.148 + ((Brush_Unjoined, 6)) 1.149 + ((Formal_Unjoined, 7)) 1.150 + ((Monotone_Unjoined, 8)) 1.151 + //9-14 reserved for future use 1.152 + ((Miscellaneous, 15)) 1.153 + SK_SEQ_END, 1.154 + (value)SK_SEQ_END) 1.155 + } scripts; 1.156 + struct Symbolic { 1.157 + SK_TYPED_ENUM(Value, SK_OT_BYTE, 1.158 + ((NoClassification, 0)) 1.159 + //1-2 reserved for future use 1.160 + ((MixedSerif, 3)) 1.161 + //4-5 reserved for future use 1.162 + ((OldstyleSerif, 6)) 1.163 + ((NeoGrotesqueSansSerif, 7)) 1.164 + //8-14 reserved for future use 1.165 + ((Miscellaneous, 15)) 1.166 + SK_SEQ_END, 1.167 + (value)SK_SEQ_END) 1.168 + } symbolic; 1.169 + } familySubClass; 1.170 +}; 1.171 + 1.172 +#pragma pack(pop) 1.173 + 1.174 + 1.175 +SK_COMPILE_ASSERT(sizeof(SkIBMFamilyClass) == 2, sizeof_SkIBMFamilyClass_not_2); 1.176 + 1.177 +#endif