| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #ifndef SkOTTable_OS_2_VA_DEFINED | 8 #ifndef SkOTTable_OS_2_VA_DEFINED |
| 9 #define SkOTTable_OS_2_VA_DEFINED | 9 #define SkOTTable_OS_2_VA_DEFINED |
| 10 | 10 |
| 11 #include "SkEndian.h" | 11 #include "SkEndian.h" |
| 12 #include "SkIBMFamilyClass.h" | 12 #include "SkIBMFamilyClass.h" |
| 13 #include "SkOTTableTypes.h" | 13 #include "SkOTTableTypes.h" |
| 14 #include "SkPanose.h" | 14 #include "SkPanose.h" |
| 15 #include "SkTypedEnum.h" | |
| 16 | 15 |
| 17 #pragma pack(push, 1) | 16 #pragma pack(push, 1) |
| 18 | 17 |
| 19 //Original V0 TT | 18 //Original V0 TT |
| 20 struct SkOTTableOS2_VA { | 19 struct SkOTTableOS2_VA { |
| 21 SK_OT_USHORT version; | 20 SK_OT_USHORT version; |
| 22 //SkOTTableOS2_VA::VERSION and SkOTTableOS2_V0::VERSION are both 0. | 21 //SkOTTableOS2_VA::VERSION and SkOTTableOS2_V0::VERSION are both 0. |
| 23 //The only way to differentiate these two versions is by the size of the tab
le. | 22 //The only way to differentiate these two versions is by the size of the tab
le. |
| 24 static const SK_OT_USHORT VERSION = SkTEndian_SwapBE16(0); | 23 static const SK_OT_USHORT VERSION = SkTEndian_SwapBE16(0); |
| 25 | 24 |
| 26 SK_OT_SHORT xAvgCharWidth; | 25 SK_OT_SHORT xAvgCharWidth; |
| 27 struct WeightClass { | 26 struct WeightClass { |
| 28 SK_TYPED_ENUM(Value, SK_OT_USHORT, | 27 enum Value : SK_OT_USHORT { |
| 29 ((UltraLight, SkTEndian_SwapBE16(1))) | 28 UltraLight = SkTEndian_SwapBE16(1), |
| 30 ((ExtraLight, SkTEndian_SwapBE16(2))) | 29 ExtraLight = SkTEndian_SwapBE16(2), |
| 31 ((Light, SkTEndian_SwapBE16(3))) | 30 Light = SkTEndian_SwapBE16(3), |
| 32 ((SemiLight, SkTEndian_SwapBE16(4))) | 31 SemiLight = SkTEndian_SwapBE16(4), |
| 33 ((Medium, SkTEndian_SwapBE16(5))) | 32 Medium = SkTEndian_SwapBE16(5), |
| 34 ((SemiBold, SkTEndian_SwapBE16(6))) | 33 SemiBold = SkTEndian_SwapBE16(6), |
| 35 ((Bold, SkTEndian_SwapBE16(7))) | 34 Bold = SkTEndian_SwapBE16(7), |
| 36 ((ExtraBold, SkTEndian_SwapBE16(8))) | 35 ExtraBold = SkTEndian_SwapBE16(8), |
| 37 ((UltraBold, SkTEndian_SwapBE16(9))) | 36 UltraBold = SkTEndian_SwapBE16(9), |
| 38 SK_SEQ_END, | 37 SK_SEQ_END, |
| 39 (value)SK_SEQ_END) | 38 } value; |
| 40 } usWeightClass; | 39 } usWeightClass; |
| 41 struct WidthClass { | 40 struct WidthClass { |
| 42 SK_TYPED_ENUM(Value, SK_OT_USHORT, | 41 enum Value : SK_OT_USHORT { |
| 43 ((UltraCondensed, SkTEndian_SwapBE16(1))) | 42 UltraCondensed = SkTEndian_SwapBE16(1), |
| 44 ((ExtraCondensed, SkTEndian_SwapBE16(2))) | 43 ExtraCondensed = SkTEndian_SwapBE16(2), |
| 45 ((Condensed, SkTEndian_SwapBE16(3))) | 44 Condensed = SkTEndian_SwapBE16(3), |
| 46 ((SemiCondensed, SkTEndian_SwapBE16(4))) | 45 SemiCondensed = SkTEndian_SwapBE16(4), |
| 47 ((Medium, SkTEndian_SwapBE16(5))) | 46 Medium = SkTEndian_SwapBE16(5), |
| 48 ((SemiExpanded, SkTEndian_SwapBE16(6))) | 47 SemiExpanded = SkTEndian_SwapBE16(6), |
| 49 ((Expanded, SkTEndian_SwapBE16(7))) | 48 Expanded = SkTEndian_SwapBE16(7), |
| 50 ((ExtraExpanded, SkTEndian_SwapBE16(8))) | 49 ExtraExpanded = SkTEndian_SwapBE16(8), |
| 51 ((UltraExpanded, SkTEndian_SwapBE16(9))) | 50 UltraExpanded = SkTEndian_SwapBE16(9), |
| 52 SK_SEQ_END, | 51 SK_SEQ_END, |
| 53 (value)SK_SEQ_END) | 52 } value; |
| 54 } usWidthClass; | 53 } usWidthClass; |
| 55 union Type { | 54 union Type { |
| 56 struct Field { | 55 struct Field { |
| 57 //8-15 | 56 //8-15 |
| 58 SK_OT_BYTE_BITFIELD( | 57 SK_OT_BYTE_BITFIELD( |
| 59 Reserved08, | 58 Reserved08, |
| 60 Reserved09, | 59 Reserved09, |
| 61 Reserved10, | 60 Reserved10, |
| 62 Reserved11, | 61 Reserved11, |
| 63 Reserved12, | 62 Reserved12, |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 133 SK_OT_USHORT usFirstCharIndex; | 132 SK_OT_USHORT usFirstCharIndex; |
| 134 SK_OT_USHORT usLastCharIndex; | 133 SK_OT_USHORT usLastCharIndex; |
| 135 }; | 134 }; |
| 136 | 135 |
| 137 #pragma pack(pop) | 136 #pragma pack(pop) |
| 138 | 137 |
| 139 | 138 |
| 140 static_assert(sizeof(SkOTTableOS2_VA) == 68, "sizeof_SkOTTableOS2_VA_not_68"); | 139 static_assert(sizeof(SkOTTableOS2_VA) == 68, "sizeof_SkOTTableOS2_VA_not_68"); |
| 141 | 140 |
| 142 #endif | 141 #endif |
| OLD | NEW |