michael@0: /* michael@0: * Copyright 2012 Google Inc. michael@0: * michael@0: * Use of this source code is governed by a BSD-style license that can be michael@0: * found in the LICENSE file. michael@0: */ michael@0: michael@0: #ifndef SkPanose_DEFINED michael@0: #define SkPanose_DEFINED michael@0: michael@0: #include "SkOTTableTypes.h" michael@0: #include "SkTypedEnum.h" michael@0: michael@0: #pragma pack(push, 1) michael@0: michael@0: struct SkPanose { michael@0: //This value changes the meaning of the following 9 bytes. michael@0: struct FamilyType { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((TextAndDisplay, 2)) michael@0: ((Script, 3)) michael@0: ((Decorative, 4)) michael@0: ((Pictoral, 5)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bFamilyType; michael@0: michael@0: union Data { michael@0: struct TextAndDisplay { michael@0: struct SerifStyle { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((Cove, 2)) michael@0: ((ObtuseCove, 3)) michael@0: ((SquareCove, 4)) michael@0: ((ObtuseSquareCove, 5)) michael@0: ((Square, 6)) michael@0: ((Thin, 7)) michael@0: ((Bone, 8)) michael@0: ((Exaggerated, 9)) michael@0: ((Triangle, 10)) michael@0: ((NormalSans, 11)) michael@0: ((ObtuseSans, 12)) michael@0: ((PerpSans, 13)) michael@0: ((Flared, 14)) michael@0: ((Rounded, 15)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bSerifStyle; michael@0: michael@0: struct Weight { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((VeryLight, 2)) michael@0: ((Light, 3)) michael@0: ((Thin, 4)) michael@0: ((Book, 5)) michael@0: ((Medium, 6)) michael@0: ((Demi, 7)) michael@0: ((Bold, 8)) michael@0: ((Heavy, 9)) michael@0: ((Black, 10)) michael@0: ((ExtraBlack, 11)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bWeight; michael@0: michael@0: struct Proportion { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((OldStyle, 2)) michael@0: ((Modern, 3)) michael@0: ((EvenWidth, 4)) michael@0: ((Expanded, 5)) michael@0: ((Condensed, 6)) michael@0: ((VeryExpanded, 7)) michael@0: ((VeryCondensed, 8)) michael@0: ((Monospaced, 9)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bProportion; michael@0: michael@0: struct Contrast { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((None, 2)) michael@0: ((VeryLow, 3)) michael@0: ((Low, 4)) michael@0: ((MediumLow, 5)) michael@0: ((Medium, 6)) michael@0: ((MediumHigh, 7)) michael@0: ((High, 8)) michael@0: ((VeryHigh, 9)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bContrast; michael@0: michael@0: #ifdef SK_WIN_PANOSE michael@0: //This is what Windows (and FontForge and Apple TT spec) define. michael@0: //The Impact font uses 9. michael@0: struct StrokeVariation { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((GradualDiagonal, 2)) michael@0: ((GradualTransitional, 3)) michael@0: ((GradualVertical, 4)) michael@0: ((GradualHorizontal, 5)) michael@0: ((RapidVertical, 6)) michael@0: ((RapidHorizontal, 7)) michael@0: ((InstantVertical, 8)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bStrokeVariation; michael@0: #else michael@0: //Stroke variation description in OT OS/2 ver0,ver1 is incorrect. michael@0: //This is what HP Panose says. michael@0: struct StrokeVariation { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((NoVariation, 2)) michael@0: ((Gradual_Diagonal, 3)) michael@0: ((Gradual_Transitional, 4)) michael@0: ((Gradual_Vertical, 5)) michael@0: ((Gradual_Horizontal, 6)) michael@0: ((Rapid_Vertical, 7)) michael@0: ((Rapid_Horizontal, 8)) michael@0: ((Instant_Vertical, 9)) michael@0: ((Instant_Horizontal, 10)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bStrokeVariation; michael@0: #endif michael@0: michael@0: struct ArmStyle { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((StraightArms_Horizontal, 2)) michael@0: ((StraightArms_Wedge, 3)) michael@0: ((StraightArms_Vertical, 4)) michael@0: ((StraightArms_SingleSerif, 5)) michael@0: ((StraightArms_DoubleSerif, 6)) michael@0: ((NonStraightArms_Horizontal, 7)) michael@0: ((NonStraightArms_Wedge, 8)) michael@0: ((NonStraightArms_Vertical, 9)) michael@0: ((NonStraightArms_SingleSerif, 10)) michael@0: ((NonStraightArms_DoubleSerif, 11)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bArmStyle; michael@0: michael@0: struct Letterform { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((Normal_Contact, 2)) michael@0: ((Normal_Weighted, 3)) michael@0: ((Normal_Boxed, 4)) michael@0: ((Normal_Flattened, 5)) michael@0: ((Normal_Rounded, 6)) michael@0: ((Normal_OffCenter, 7)) michael@0: ((Normal_Square, 8)) michael@0: ((Oblique_Contact, 9)) michael@0: ((Oblique_Weighted, 10)) michael@0: ((Oblique_Boxed, 11)) michael@0: ((Oblique_Flattened, 12)) michael@0: ((Oblique_Rounded, 13)) michael@0: ((Oblique_OffCenter, 14)) michael@0: ((Oblique_Square, 15)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bLetterform; michael@0: michael@0: struct Midline { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((Standard_Trimmed, 2)) michael@0: ((Standard_Pointed, 3)) michael@0: ((Standard_Serifed, 4)) michael@0: ((High_Trimmed, 5)) michael@0: ((High_Pointed, 6)) michael@0: ((High_Serifed, 7)) michael@0: ((Constant_Trimmed, 8)) michael@0: ((Constant_Pointed, 9)) michael@0: ((Constant_Serifed, 10)) michael@0: ((Low_Trimmed, 11)) michael@0: ((Low_Pointed, 12)) michael@0: ((Low_Serifed, 13)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bMidline; michael@0: michael@0: struct XHeight { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((Constant_Small, 2)) michael@0: ((Constant_Standard, 3)) michael@0: ((Constant_Large, 4)) michael@0: ((Ducking_Small, 5)) michael@0: ((Ducking_Standard, 6)) michael@0: ((Ducking_Large, 7)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bXHeight; michael@0: } textAndDisplay; michael@0: michael@0: struct Script { michael@0: struct ToolKind { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((FlatNib, 2)) michael@0: ((PressurePoint, 3)) michael@0: ((Engraved, 4)) michael@0: ((Ball, 5)) michael@0: ((Brush, 6)) michael@0: ((Rough, 7)) michael@0: ((FeltPen, 8)) michael@0: ((WildBrush, 9)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bToolKind; michael@0: michael@0: struct Weight { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((VeryLight, 2)) michael@0: ((Light, 3)) michael@0: ((Thin, 4)) michael@0: ((Book, 5)) michael@0: ((Medium, 6)) michael@0: ((Demi, 7)) michael@0: ((Bold, 8)) michael@0: ((Heavy, 9)) michael@0: ((Black, 10)) michael@0: ((ExtraBlack, 11)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bWeight; michael@0: michael@0: struct Spacing { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((ProportionalSpaced, 2)) michael@0: ((Monospaced, 3)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bSpacing; michael@0: michael@0: struct AspectRatio { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((VeryCondensed, 2)) michael@0: ((Condensed, 3)) michael@0: ((Normal, 4)) michael@0: ((Expanded, 5)) michael@0: ((VeryExpanded, 6)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bAspectRatio; michael@0: michael@0: struct Contrast { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((None, 2)) michael@0: ((VeryLow, 3)) michael@0: ((Low, 4)) michael@0: ((MediumLow, 5)) michael@0: ((Medium, 6)) michael@0: ((MediumHigh, 7)) michael@0: ((High, 8)) michael@0: ((VeryHigh, 9)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bContrast; michael@0: michael@0: struct Topology { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((Roman_Disconnected, 2)) michael@0: ((Roman_Trailing, 3)) michael@0: ((Roman_Connected, 4)) michael@0: ((Cursive_Disconnected, 5)) michael@0: ((Cursive_Trailing, 6)) michael@0: ((Cursive_Connected, 7)) michael@0: ((Blackletter_Disconnected, 8)) michael@0: ((Blackletter_Trailing, 9)) michael@0: ((Blackletter_Connected, 10)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bTopology; michael@0: michael@0: struct Form { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((Upright_NoWrapping, 2)) michael@0: ((Upright_SomeWrapping, 3)) michael@0: ((Upright_MoreWrapping, 4)) michael@0: ((Upright_ExtremeWrapping, 5)) michael@0: ((Oblique_NoWrapping, 6)) michael@0: ((Oblique_SomeWrapping, 7)) michael@0: ((Oblique_MoreWrapping, 8)) michael@0: ((Oblique_ExtremeWrapping, 9)) michael@0: ((Exaggerated_NoWrapping, 10)) michael@0: ((Exaggerated_SomeWrapping, 11)) michael@0: ((Exaggerated_MoreWrapping, 12)) michael@0: ((Exaggerated_ExtremeWrapping, 13)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bForm; michael@0: michael@0: struct Finials { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((None_NoLoops, 2)) michael@0: ((None_ClosedLoops, 3)) michael@0: ((None_OpenLoops, 4)) michael@0: ((Sharp_NoLoops, 5)) michael@0: ((Sharp_ClosedLoops, 6)) michael@0: ((Sharp_OpenLoops, 7)) michael@0: ((Tapered_NoLoops, 8)) michael@0: ((Tapered_ClosedLoops, 9)) michael@0: ((Tapered_OpenLoops, 10)) michael@0: ((Round_NoLoops, 11)) michael@0: ((Round_ClosedLoops, 12)) michael@0: ((Round_OpenLoops, 13)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bFinials; michael@0: michael@0: struct XAscent { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((VeryLow, 2)) michael@0: ((Low, 3)) michael@0: ((Medium, 4)) michael@0: ((High, 5)) michael@0: ((VeryHigh, 6)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bXAscent; michael@0: } script; michael@0: michael@0: struct Decorative { michael@0: struct Class { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((Derivative, 2)) michael@0: ((NonStandard_Topology, 3)) michael@0: ((NonStandard_Elements, 4)) michael@0: ((NonStandard_Aspect, 5)) michael@0: ((Initials, 6)) michael@0: ((Cartoon, 7)) michael@0: ((PictureStems, 8)) michael@0: ((Ornamented, 9)) michael@0: ((TextAndBackground, 10)) michael@0: ((Collage, 11)) michael@0: ((Montage, 12)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bClass; michael@0: michael@0: struct Weight { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((VeryLight, 2)) michael@0: ((Light, 3)) michael@0: ((Thin, 4)) michael@0: ((Book, 5)) michael@0: ((Medium, 6)) michael@0: ((Demi, 7)) michael@0: ((Bold, 8)) michael@0: ((Heavy, 9)) michael@0: ((Black, 10)) michael@0: ((ExtraBlack, 11)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bWeight; michael@0: michael@0: struct Aspect { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((SuperCondensed, 2)) michael@0: ((VeryCondensed, 3)) michael@0: ((Condensed, 4)) michael@0: ((Normal, 5)) michael@0: ((Extended, 6)) michael@0: ((VeryExtended, 7)) michael@0: ((SuperExtended, 8)) michael@0: ((Monospaced, 9)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bAspect; michael@0: michael@0: struct Contrast { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((None, 2)) michael@0: ((VeryLow, 3)) michael@0: ((Low, 4)) michael@0: ((MediumLow, 5)) michael@0: ((Medium, 6)) michael@0: ((MediumHigh, 7)) michael@0: ((High, 8)) michael@0: ((VeryHigh, 9)) michael@0: ((HorizontalLow, 10)) michael@0: ((HorizontalMedium, 11)) michael@0: ((HorizontalHigh, 12)) michael@0: ((Broken, 13)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bContrast; michael@0: michael@0: struct SerifVariant { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((Cove, 2)) michael@0: ((ObtuseCove, 3)) michael@0: ((SquareCove, 4)) michael@0: ((ObtuseSquareCove, 5)) michael@0: ((Square, 6)) michael@0: ((Thin, 7)) michael@0: ((Oval, 8)) michael@0: ((Exaggerated, 9)) michael@0: ((Triangle, 10)) michael@0: ((NormalSans, 11)) michael@0: ((ObtuseSans, 12)) michael@0: ((PerpendicularSans, 13)) michael@0: ((Flared, 14)) michael@0: ((Rounded, 15)) michael@0: ((Script, 16)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bSerifVariant; michael@0: michael@0: struct Treatment { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((None_StandardSolidFill, 2)) michael@0: ((White_NoFill, 3)) michael@0: ((PatternedFill, 4)) michael@0: ((ComplexFill, 5)) michael@0: ((ShapedFill, 6)) michael@0: ((DrawnDistressed, 7)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bTreatment; michael@0: michael@0: struct Lining { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((None, 2)) michael@0: ((Inline, 3)) michael@0: ((Outline, 4)) michael@0: ((Engraved, 5)) michael@0: ((Shadow, 6)) michael@0: ((Relief, 7)) michael@0: ((Backdrop, 8)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bLining; michael@0: michael@0: struct Topology { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((Standard, 2)) michael@0: ((Square, 3)) michael@0: ((MultipleSegment, 4)) michael@0: ((DecoWacoMidlines, 5)) michael@0: ((UnevenWeighting, 6)) michael@0: ((DiverseArms, 7)) michael@0: ((DiverseForms, 8)) michael@0: ((LombardicForms, 9)) michael@0: ((UpperCaseInLowerCase, 10)) michael@0: ((ImpliedTopology, 11)) michael@0: ((HorseshoeEandA, 12)) michael@0: ((Cursive, 13)) michael@0: ((Blackletter, 14)) michael@0: ((SwashVariance, 15)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bTopology; michael@0: michael@0: struct RangeOfCharacters { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((ExtendedCollection, 2)) michael@0: ((Litterals, 3)) michael@0: ((NoLowerCase, 4)) michael@0: ((SmallCaps, 5)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bRangeOfCharacters; michael@0: } decorative; michael@0: michael@0: struct Pictoral { michael@0: struct Kind { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((Montages, 2)) michael@0: ((Pictures, 3)) michael@0: ((Shapes, 4)) michael@0: ((Scientific, 5)) michael@0: ((Music, 6)) michael@0: ((Expert, 7)) michael@0: ((Patterns, 8)) michael@0: ((Boarders, 9)) michael@0: ((Icons, 10)) michael@0: ((Logos, 11)) michael@0: ((IndustrySpecific, 12)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bKind; michael@0: michael@0: struct Weight { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((NoFit, 1)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bWeight; michael@0: michael@0: struct Spacing { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((ProportionalSpaced, 2)) michael@0: ((Monospaced, 3)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bSpacing; michael@0: michael@0: struct AspectRatioAndContrast { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((NoFit, 1)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bAspectRatioAndContrast; michael@0: michael@0: struct AspectRatio94 { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((NoWidth, 2)) michael@0: ((ExceptionallyWide, 3)) michael@0: ((SuperWide, 4)) michael@0: ((VeryWide, 5)) michael@0: ((Wide, 6)) michael@0: ((Normal, 7)) michael@0: ((Narrow, 8)) michael@0: ((VeryNarrow, 9)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bAspectRatio94; michael@0: michael@0: struct AspectRatio119 { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((NoWidth, 2)) michael@0: ((ExceptionallyWide, 3)) michael@0: ((SuperWide, 4)) michael@0: ((VeryWide, 5)) michael@0: ((Wide, 6)) michael@0: ((Normal, 7)) michael@0: ((Narrow, 8)) michael@0: ((VeryNarrow, 9)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bAspectRatio119; michael@0: michael@0: struct AspectRatio157 { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((NoWidth, 2)) michael@0: ((ExceptionallyWide, 3)) michael@0: ((SuperWide, 4)) michael@0: ((VeryWide, 5)) michael@0: ((Wide, 6)) michael@0: ((Normal, 7)) michael@0: ((Narrow, 8)) michael@0: ((VeryNarrow, 9)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bAspectRatio157; michael@0: michael@0: struct AspectRatio163 { michael@0: SK_TYPED_ENUM(Value, SK_OT_BYTE, michael@0: ((Any, 0)) michael@0: ((NoFit, 1)) michael@0: ((NoWidth, 2)) michael@0: ((ExceptionallyWide, 3)) michael@0: ((SuperWide, 4)) michael@0: ((VeryWide, 5)) michael@0: ((Wide, 6)) michael@0: ((Normal, 7)) michael@0: ((Narrow, 8)) michael@0: ((VeryNarrow, 9)) michael@0: SK_SEQ_END, michael@0: (value)SK_SEQ_END) michael@0: } bAspectRatio163; michael@0: } pictoral; michael@0: } data; michael@0: }; michael@0: michael@0: #pragma pack(pop) michael@0: michael@0: michael@0: SK_COMPILE_ASSERT(sizeof(SkPanose) == 10, sizeof_SkPanose_not_10); michael@0: michael@0: #endif