123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- /*
- * Copyright 2012 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #ifndef SkIBMFamilyClass_DEFINED
- #define SkIBMFamilyClass_DEFINED
- #include "src/sfnt/SkOTTableTypes.h"
- #pragma pack(push, 1)
- struct SkIBMFamilyClass {
- enum class Class : SK_OT_BYTE {
- NoClassification = 0,
- OldstyleSerifs = 1,
- TransitionalSerifs = 2,
- ModernSerifs = 3,
- ClarendonSerifs = 4,
- SlabSerifs = 5,
- //6 reserved for future use
- FreeformSerifs = 7,
- SansSerif = 8,
- Ornamentals = 9,
- Scripts = 10,
- //11 reserved for future use
- Symbolic = 12,
- //13-15 reserved for future use
- } familyClass;
- union SubClass {
- enum class OldstyleSerifs : 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,
- } oldstyleSerifs;
- enum class TransitionalSerifs : SK_OT_BYTE {
- NoClassification = 0,
- DirectLine = 1,
- Script = 2,
- //3-14 reserved for future use
- Miscellaneous = 15,
- } transitionalSerifs;
- enum class ModernSerifs : SK_OT_BYTE {
- NoClassification = 0,
- Italian = 1,
- Script = 2,
- //3-14 reserved for future use
- Miscellaneous = 15,
- } modernSerifs;
- enum class ClarendonSerifs : 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,
- } clarendonSerifs;
- enum class SlabSerifs : SK_OT_BYTE {
- NoClassification = 0,
- Monotone = 1,
- Humanist = 2,
- Geometric = 3,
- Swiss = 4,
- Typewriter = 5,
- //6-14 reserved for future use
- Miscellaneous = 15,
- } slabSerifs;
- enum class FreeformSerifs : SK_OT_BYTE {
- NoClassification = 0,
- Modern = 1,
- //2-14 reserved for future use
- Miscellaneous = 15,
- } freeformSerifs;
- enum class SansSerif : SK_OT_BYTE {
- NoClassification = 0,
- IBMNeoGrotesqueGothic = 1,
- Humanist = 2,
- LowXRoundGeometric = 3,
- HighXRoundGeometric = 4,
- NeoGrotesqueGothic = 5,
- ModifiedNeoGrotesqueGothic = 6,
- //7-8 reserved for future use
- TypewriterGothic = 9,
- Matrix = 10,
- //11-14 reserved for future use
- Miscellaneous = 15,
- } sansSerif;
- enum class Ornamentals : SK_OT_BYTE {
- NoClassification = 0,
- Engraver = 1,
- BlackLetter = 2,
- Decorative = 3,
- ThreeDimensional = 4,
- //5-14 reserved for future use
- Miscellaneous = 15,
- } ornamentals;
- enum class Scripts : 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,
- } scripts;
- enum class Symbolic : SK_OT_BYTE {
- NoClassification = 0,
- //1-2 reserved for future use
- MixedSerif = 3,
- //4-5 reserved for future use
- OldstyleSerif = 6,
- NeoGrotesqueSansSerif = 7,
- //8-14 reserved for future use
- Miscellaneous = 15,
- } symbolic;
- } familySubClass;
- };
- #pragma pack(pop)
- static_assert(sizeof(SkIBMFamilyClass) == 2, "sizeof_SkIBMFamilyClass_not_2");
- #endif
|