1cb93a386Sopenharmony_ci/* 2cb93a386Sopenharmony_ci * Copyright 2012 Google Inc. 3cb93a386Sopenharmony_ci * 4cb93a386Sopenharmony_ci * Use of this source code is governed by a BSD-style license that can be 5cb93a386Sopenharmony_ci * found in the LICENSE file. 6cb93a386Sopenharmony_ci */ 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_ci#ifndef SkPanose_DEFINED 9cb93a386Sopenharmony_ci#define SkPanose_DEFINED 10cb93a386Sopenharmony_ci 11cb93a386Sopenharmony_ci#include "src/sfnt/SkOTTableTypes.h" 12cb93a386Sopenharmony_ci 13cb93a386Sopenharmony_ci#pragma pack(push, 1) 14cb93a386Sopenharmony_ci 15cb93a386Sopenharmony_cistruct SkPanose { 16cb93a386Sopenharmony_ci //This value changes the meaning of the following 9 bytes. 17cb93a386Sopenharmony_ci enum class FamilyType : SK_OT_BYTE { 18cb93a386Sopenharmony_ci Any = 0, 19cb93a386Sopenharmony_ci NoFit = 1, 20cb93a386Sopenharmony_ci TextAndDisplay = 2, 21cb93a386Sopenharmony_ci Script = 3, 22cb93a386Sopenharmony_ci Decorative = 4, 23cb93a386Sopenharmony_ci Pictoral = 5, 24cb93a386Sopenharmony_ci } bFamilyType; 25cb93a386Sopenharmony_ci 26cb93a386Sopenharmony_ci union Data { 27cb93a386Sopenharmony_ci struct TextAndDisplay { 28cb93a386Sopenharmony_ci enum class SerifStyle : SK_OT_BYTE { 29cb93a386Sopenharmony_ci Any = 0, 30cb93a386Sopenharmony_ci NoFit = 1, 31cb93a386Sopenharmony_ci Cove = 2, 32cb93a386Sopenharmony_ci ObtuseCove = 3, 33cb93a386Sopenharmony_ci SquareCove = 4, 34cb93a386Sopenharmony_ci ObtuseSquareCove = 5, 35cb93a386Sopenharmony_ci Square = 6, 36cb93a386Sopenharmony_ci Thin = 7, 37cb93a386Sopenharmony_ci Bone = 8, 38cb93a386Sopenharmony_ci Exaggerated = 9, 39cb93a386Sopenharmony_ci Triangle = 10, 40cb93a386Sopenharmony_ci NormalSans = 11, 41cb93a386Sopenharmony_ci ObtuseSans = 12, 42cb93a386Sopenharmony_ci PerpSans = 13, 43cb93a386Sopenharmony_ci Flared = 14, 44cb93a386Sopenharmony_ci Rounded = 15, 45cb93a386Sopenharmony_ci } bSerifStyle; 46cb93a386Sopenharmony_ci 47cb93a386Sopenharmony_ci enum class Weight : SK_OT_BYTE { 48cb93a386Sopenharmony_ci Any = 0, 49cb93a386Sopenharmony_ci NoFit = 1, 50cb93a386Sopenharmony_ci VeryLight = 2, 51cb93a386Sopenharmony_ci Light = 3, 52cb93a386Sopenharmony_ci Thin = 4, 53cb93a386Sopenharmony_ci Book = 5, 54cb93a386Sopenharmony_ci Medium = 6, 55cb93a386Sopenharmony_ci Demi = 7, 56cb93a386Sopenharmony_ci Bold = 8, 57cb93a386Sopenharmony_ci Heavy = 9, 58cb93a386Sopenharmony_ci Black = 10, 59cb93a386Sopenharmony_ci ExtraBlack = 11, 60cb93a386Sopenharmony_ci } bWeight; 61cb93a386Sopenharmony_ci 62cb93a386Sopenharmony_ci enum class Proportion : SK_OT_BYTE { 63cb93a386Sopenharmony_ci Any = 0, 64cb93a386Sopenharmony_ci NoFit = 1, 65cb93a386Sopenharmony_ci OldStyle = 2, 66cb93a386Sopenharmony_ci Modern = 3, 67cb93a386Sopenharmony_ci EvenWidth = 4, 68cb93a386Sopenharmony_ci Expanded = 5, 69cb93a386Sopenharmony_ci Condensed = 6, 70cb93a386Sopenharmony_ci VeryExpanded = 7, 71cb93a386Sopenharmony_ci VeryCondensed = 8, 72cb93a386Sopenharmony_ci Monospaced = 9, 73cb93a386Sopenharmony_ci } bProportion; 74cb93a386Sopenharmony_ci 75cb93a386Sopenharmony_ci enum class Contrast : SK_OT_BYTE { 76cb93a386Sopenharmony_ci Any = 0, 77cb93a386Sopenharmony_ci NoFit = 1, 78cb93a386Sopenharmony_ci None = 2, 79cb93a386Sopenharmony_ci VeryLow = 3, 80cb93a386Sopenharmony_ci Low = 4, 81cb93a386Sopenharmony_ci MediumLow = 5, 82cb93a386Sopenharmony_ci Medium = 6, 83cb93a386Sopenharmony_ci MediumHigh = 7, 84cb93a386Sopenharmony_ci High = 8, 85cb93a386Sopenharmony_ci VeryHigh = 9, 86cb93a386Sopenharmony_ci } bContrast; 87cb93a386Sopenharmony_ci 88cb93a386Sopenharmony_ci#ifdef SK_WIN_PANOSE 89cb93a386Sopenharmony_ci //This is what Windows (and FontForge and Apple TT spec) define. 90cb93a386Sopenharmony_ci //The Impact font uses 9. 91cb93a386Sopenharmony_ci enum class StrokeVariation : SK_OT_BYTE { 92cb93a386Sopenharmony_ci Any = 0, 93cb93a386Sopenharmony_ci NoFit = 1, 94cb93a386Sopenharmony_ci GradualDiagonal = 2, 95cb93a386Sopenharmony_ci GradualTransitional = 3, 96cb93a386Sopenharmony_ci GradualVertical = 4, 97cb93a386Sopenharmony_ci GradualHorizontal = 5, 98cb93a386Sopenharmony_ci RapidVertical = 6, 99cb93a386Sopenharmony_ci RapidHorizontal = 7, 100cb93a386Sopenharmony_ci InstantVertical = 8, 101cb93a386Sopenharmony_ci } bStrokeVariation; 102cb93a386Sopenharmony_ci#else 103cb93a386Sopenharmony_ci //Stroke variation description in OT OS/2 ver0,ver1 is incorrect. 104cb93a386Sopenharmony_ci //This is what HP Panose says. 105cb93a386Sopenharmony_ci enum class StrokeVariation : SK_OT_BYTE { 106cb93a386Sopenharmony_ci Any = 0, 107cb93a386Sopenharmony_ci NoFit = 1, 108cb93a386Sopenharmony_ci NoVariation = 2, 109cb93a386Sopenharmony_ci Gradual_Diagonal = 3, 110cb93a386Sopenharmony_ci Gradual_Transitional = 4, 111cb93a386Sopenharmony_ci Gradual_Vertical = 5, 112cb93a386Sopenharmony_ci Gradual_Horizontal = 6, 113cb93a386Sopenharmony_ci Rapid_Vertical = 7, 114cb93a386Sopenharmony_ci Rapid_Horizontal = 8, 115cb93a386Sopenharmony_ci Instant_Vertical = 9, 116cb93a386Sopenharmony_ci Instant_Horizontal = 10, 117cb93a386Sopenharmony_ci } bStrokeVariation; 118cb93a386Sopenharmony_ci#endif 119cb93a386Sopenharmony_ci 120cb93a386Sopenharmony_ci enum class ArmStyle : SK_OT_BYTE { 121cb93a386Sopenharmony_ci Any = 0, 122cb93a386Sopenharmony_ci NoFit = 1, 123cb93a386Sopenharmony_ci StraightArms_Horizontal = 2, 124cb93a386Sopenharmony_ci StraightArms_Wedge = 3, 125cb93a386Sopenharmony_ci StraightArms_Vertical = 4, 126cb93a386Sopenharmony_ci StraightArms_SingleSerif = 5, 127cb93a386Sopenharmony_ci StraightArms_DoubleSerif = 6, 128cb93a386Sopenharmony_ci NonStraightArms_Horizontal = 7, 129cb93a386Sopenharmony_ci NonStraightArms_Wedge = 8, 130cb93a386Sopenharmony_ci NonStraightArms_Vertical = 9, 131cb93a386Sopenharmony_ci NonStraightArms_SingleSerif = 10, 132cb93a386Sopenharmony_ci NonStraightArms_DoubleSerif = 11, 133cb93a386Sopenharmony_ci } bArmStyle; 134cb93a386Sopenharmony_ci 135cb93a386Sopenharmony_ci enum class Letterform : SK_OT_BYTE { 136cb93a386Sopenharmony_ci Any = 0, 137cb93a386Sopenharmony_ci NoFit = 1, 138cb93a386Sopenharmony_ci Normal_Contact = 2, 139cb93a386Sopenharmony_ci Normal_Weighted = 3, 140cb93a386Sopenharmony_ci Normal_Boxed = 4, 141cb93a386Sopenharmony_ci Normal_Flattened = 5, 142cb93a386Sopenharmony_ci Normal_Rounded = 6, 143cb93a386Sopenharmony_ci Normal_OffCenter = 7, 144cb93a386Sopenharmony_ci Normal_Square = 8, 145cb93a386Sopenharmony_ci Oblique_Contact = 9, 146cb93a386Sopenharmony_ci Oblique_Weighted = 10, 147cb93a386Sopenharmony_ci Oblique_Boxed = 11, 148cb93a386Sopenharmony_ci Oblique_Flattened = 12, 149cb93a386Sopenharmony_ci Oblique_Rounded = 13, 150cb93a386Sopenharmony_ci Oblique_OffCenter = 14, 151cb93a386Sopenharmony_ci Oblique_Square = 15, 152cb93a386Sopenharmony_ci } bLetterform; 153cb93a386Sopenharmony_ci 154cb93a386Sopenharmony_ci enum class Midline : SK_OT_BYTE { 155cb93a386Sopenharmony_ci Any = 0, 156cb93a386Sopenharmony_ci NoFit = 1, 157cb93a386Sopenharmony_ci Standard_Trimmed = 2, 158cb93a386Sopenharmony_ci Standard_Pointed = 3, 159cb93a386Sopenharmony_ci Standard_Serifed = 4, 160cb93a386Sopenharmony_ci High_Trimmed = 5, 161cb93a386Sopenharmony_ci High_Pointed = 6, 162cb93a386Sopenharmony_ci High_Serifed = 7, 163cb93a386Sopenharmony_ci Constant_Trimmed = 8, 164cb93a386Sopenharmony_ci Constant_Pointed = 9, 165cb93a386Sopenharmony_ci Constant_Serifed = 10, 166cb93a386Sopenharmony_ci Low_Trimmed = 11, 167cb93a386Sopenharmony_ci Low_Pointed = 12, 168cb93a386Sopenharmony_ci Low_Serifed = 13, 169cb93a386Sopenharmony_ci } bMidline; 170cb93a386Sopenharmony_ci 171cb93a386Sopenharmony_ci enum class XHeight : SK_OT_BYTE { 172cb93a386Sopenharmony_ci Any = 0, 173cb93a386Sopenharmony_ci NoFit = 1, 174cb93a386Sopenharmony_ci Constant_Small = 2, 175cb93a386Sopenharmony_ci Constant_Standard = 3, 176cb93a386Sopenharmony_ci Constant_Large = 4, 177cb93a386Sopenharmony_ci Ducking_Small = 5, 178cb93a386Sopenharmony_ci Ducking_Standard = 6, 179cb93a386Sopenharmony_ci Ducking_Large = 7, 180cb93a386Sopenharmony_ci } bXHeight; 181cb93a386Sopenharmony_ci } textAndDisplay; 182cb93a386Sopenharmony_ci 183cb93a386Sopenharmony_ci struct Script { 184cb93a386Sopenharmony_ci enum class ToolKind : SK_OT_BYTE { 185cb93a386Sopenharmony_ci Any = 0, 186cb93a386Sopenharmony_ci NoFit = 1, 187cb93a386Sopenharmony_ci FlatNib = 2, 188cb93a386Sopenharmony_ci PressurePoint = 3, 189cb93a386Sopenharmony_ci Engraved = 4, 190cb93a386Sopenharmony_ci Ball = 5, 191cb93a386Sopenharmony_ci Brush = 6, 192cb93a386Sopenharmony_ci Rough = 7, 193cb93a386Sopenharmony_ci FeltPen = 8, 194cb93a386Sopenharmony_ci WildBrush = 9, 195cb93a386Sopenharmony_ci } bToolKind; 196cb93a386Sopenharmony_ci 197cb93a386Sopenharmony_ci enum class Weight : SK_OT_BYTE { 198cb93a386Sopenharmony_ci Any = 0, 199cb93a386Sopenharmony_ci NoFit = 1, 200cb93a386Sopenharmony_ci VeryLight = 2, 201cb93a386Sopenharmony_ci Light = 3, 202cb93a386Sopenharmony_ci Thin = 4, 203cb93a386Sopenharmony_ci Book = 5, 204cb93a386Sopenharmony_ci Medium = 6, 205cb93a386Sopenharmony_ci Demi = 7, 206cb93a386Sopenharmony_ci Bold = 8, 207cb93a386Sopenharmony_ci Heavy = 9, 208cb93a386Sopenharmony_ci Black = 10, 209cb93a386Sopenharmony_ci ExtraBlack = 11, 210cb93a386Sopenharmony_ci } bWeight; 211cb93a386Sopenharmony_ci 212cb93a386Sopenharmony_ci enum class Spacing : SK_OT_BYTE { 213cb93a386Sopenharmony_ci Any = 0, 214cb93a386Sopenharmony_ci NoFit = 1, 215cb93a386Sopenharmony_ci ProportionalSpaced = 2, 216cb93a386Sopenharmony_ci Monospaced = 3, 217cb93a386Sopenharmony_ci } bSpacing; 218cb93a386Sopenharmony_ci 219cb93a386Sopenharmony_ci enum class AspectRatio : SK_OT_BYTE { 220cb93a386Sopenharmony_ci Any = 0, 221cb93a386Sopenharmony_ci NoFit = 1, 222cb93a386Sopenharmony_ci VeryCondensed = 2, 223cb93a386Sopenharmony_ci Condensed = 3, 224cb93a386Sopenharmony_ci Normal = 4, 225cb93a386Sopenharmony_ci Expanded = 5, 226cb93a386Sopenharmony_ci VeryExpanded = 6, 227cb93a386Sopenharmony_ci } bAspectRatio; 228cb93a386Sopenharmony_ci 229cb93a386Sopenharmony_ci enum class Contrast : SK_OT_BYTE { 230cb93a386Sopenharmony_ci Any = 0, 231cb93a386Sopenharmony_ci NoFit = 1, 232cb93a386Sopenharmony_ci None = 2, 233cb93a386Sopenharmony_ci VeryLow = 3, 234cb93a386Sopenharmony_ci Low = 4, 235cb93a386Sopenharmony_ci MediumLow = 5, 236cb93a386Sopenharmony_ci Medium = 6, 237cb93a386Sopenharmony_ci MediumHigh = 7, 238cb93a386Sopenharmony_ci High = 8, 239cb93a386Sopenharmony_ci VeryHigh = 9, 240cb93a386Sopenharmony_ci } bContrast; 241cb93a386Sopenharmony_ci 242cb93a386Sopenharmony_ci enum class Topology : SK_OT_BYTE { 243cb93a386Sopenharmony_ci Any = 0, 244cb93a386Sopenharmony_ci NoFit = 1, 245cb93a386Sopenharmony_ci Roman_Disconnected = 2, 246cb93a386Sopenharmony_ci Roman_Trailing = 3, 247cb93a386Sopenharmony_ci Roman_Connected = 4, 248cb93a386Sopenharmony_ci Cursive_Disconnected = 5, 249cb93a386Sopenharmony_ci Cursive_Trailing = 6, 250cb93a386Sopenharmony_ci Cursive_Connected = 7, 251cb93a386Sopenharmony_ci Blackletter_Disconnected = 8, 252cb93a386Sopenharmony_ci Blackletter_Trailing = 9, 253cb93a386Sopenharmony_ci Blackletter_Connected = 10, 254cb93a386Sopenharmony_ci } bTopology; 255cb93a386Sopenharmony_ci 256cb93a386Sopenharmony_ci enum class Form : SK_OT_BYTE { 257cb93a386Sopenharmony_ci Any = 0, 258cb93a386Sopenharmony_ci NoFit = 1, 259cb93a386Sopenharmony_ci Upright_NoWrapping = 2, 260cb93a386Sopenharmony_ci Upright_SomeWrapping = 3, 261cb93a386Sopenharmony_ci Upright_MoreWrapping = 4, 262cb93a386Sopenharmony_ci Upright_ExtremeWrapping = 5, 263cb93a386Sopenharmony_ci Oblique_NoWrapping = 6, 264cb93a386Sopenharmony_ci Oblique_SomeWrapping = 7, 265cb93a386Sopenharmony_ci Oblique_MoreWrapping = 8, 266cb93a386Sopenharmony_ci Oblique_ExtremeWrapping = 9, 267cb93a386Sopenharmony_ci Exaggerated_NoWrapping = 10, 268cb93a386Sopenharmony_ci Exaggerated_SomeWrapping = 11, 269cb93a386Sopenharmony_ci Exaggerated_MoreWrapping = 12, 270cb93a386Sopenharmony_ci Exaggerated_ExtremeWrapping = 13, 271cb93a386Sopenharmony_ci } bForm; 272cb93a386Sopenharmony_ci 273cb93a386Sopenharmony_ci enum class Finials : SK_OT_BYTE { 274cb93a386Sopenharmony_ci Any = 0, 275cb93a386Sopenharmony_ci NoFit = 1, 276cb93a386Sopenharmony_ci None_NoLoops = 2, 277cb93a386Sopenharmony_ci None_ClosedLoops = 3, 278cb93a386Sopenharmony_ci None_OpenLoops = 4, 279cb93a386Sopenharmony_ci Sharp_NoLoops = 5, 280cb93a386Sopenharmony_ci Sharp_ClosedLoops = 6, 281cb93a386Sopenharmony_ci Sharp_OpenLoops = 7, 282cb93a386Sopenharmony_ci Tapered_NoLoops = 8, 283cb93a386Sopenharmony_ci Tapered_ClosedLoops = 9, 284cb93a386Sopenharmony_ci Tapered_OpenLoops = 10, 285cb93a386Sopenharmony_ci Round_NoLoops = 11, 286cb93a386Sopenharmony_ci Round_ClosedLoops = 12, 287cb93a386Sopenharmony_ci Round_OpenLoops = 13, 288cb93a386Sopenharmony_ci } bFinials; 289cb93a386Sopenharmony_ci 290cb93a386Sopenharmony_ci enum class XAscent : SK_OT_BYTE { 291cb93a386Sopenharmony_ci Any = 0, 292cb93a386Sopenharmony_ci NoFit = 1, 293cb93a386Sopenharmony_ci VeryLow = 2, 294cb93a386Sopenharmony_ci Low = 3, 295cb93a386Sopenharmony_ci Medium = 4, 296cb93a386Sopenharmony_ci High = 5, 297cb93a386Sopenharmony_ci VeryHigh = 6, 298cb93a386Sopenharmony_ci } bXAscent; 299cb93a386Sopenharmony_ci } script; 300cb93a386Sopenharmony_ci 301cb93a386Sopenharmony_ci struct Decorative { 302cb93a386Sopenharmony_ci enum class Class : SK_OT_BYTE { 303cb93a386Sopenharmony_ci Any = 0, 304cb93a386Sopenharmony_ci NoFit = 1, 305cb93a386Sopenharmony_ci Derivative = 2, 306cb93a386Sopenharmony_ci NonStandard_Topology = 3, 307cb93a386Sopenharmony_ci NonStandard_Elements = 4, 308cb93a386Sopenharmony_ci NonStandard_Aspect = 5, 309cb93a386Sopenharmony_ci Initials = 6, 310cb93a386Sopenharmony_ci Cartoon = 7, 311cb93a386Sopenharmony_ci PictureStems = 8, 312cb93a386Sopenharmony_ci Ornamented = 9, 313cb93a386Sopenharmony_ci TextAndBackground = 10, 314cb93a386Sopenharmony_ci Collage = 11, 315cb93a386Sopenharmony_ci Montage = 12, 316cb93a386Sopenharmony_ci } bClass; 317cb93a386Sopenharmony_ci 318cb93a386Sopenharmony_ci enum class Weight : SK_OT_BYTE { 319cb93a386Sopenharmony_ci Any = 0, 320cb93a386Sopenharmony_ci NoFit = 1, 321cb93a386Sopenharmony_ci VeryLight = 2, 322cb93a386Sopenharmony_ci Light = 3, 323cb93a386Sopenharmony_ci Thin = 4, 324cb93a386Sopenharmony_ci Book = 5, 325cb93a386Sopenharmony_ci Medium = 6, 326cb93a386Sopenharmony_ci Demi = 7, 327cb93a386Sopenharmony_ci Bold = 8, 328cb93a386Sopenharmony_ci Heavy = 9, 329cb93a386Sopenharmony_ci Black = 10, 330cb93a386Sopenharmony_ci ExtraBlack = 11, 331cb93a386Sopenharmony_ci } bWeight; 332cb93a386Sopenharmony_ci 333cb93a386Sopenharmony_ci enum class Aspect : SK_OT_BYTE { 334cb93a386Sopenharmony_ci Any = 0, 335cb93a386Sopenharmony_ci NoFit = 1, 336cb93a386Sopenharmony_ci SuperCondensed = 2, 337cb93a386Sopenharmony_ci VeryCondensed = 3, 338cb93a386Sopenharmony_ci Condensed = 4, 339cb93a386Sopenharmony_ci Normal = 5, 340cb93a386Sopenharmony_ci Extended = 6, 341cb93a386Sopenharmony_ci VeryExtended = 7, 342cb93a386Sopenharmony_ci SuperExtended = 8, 343cb93a386Sopenharmony_ci Monospaced = 9, 344cb93a386Sopenharmony_ci } bAspect; 345cb93a386Sopenharmony_ci 346cb93a386Sopenharmony_ci enum class Contrast : SK_OT_BYTE { 347cb93a386Sopenharmony_ci Any = 0, 348cb93a386Sopenharmony_ci NoFit = 1, 349cb93a386Sopenharmony_ci None = 2, 350cb93a386Sopenharmony_ci VeryLow = 3, 351cb93a386Sopenharmony_ci Low = 4, 352cb93a386Sopenharmony_ci MediumLow = 5, 353cb93a386Sopenharmony_ci Medium = 6, 354cb93a386Sopenharmony_ci MediumHigh = 7, 355cb93a386Sopenharmony_ci High = 8, 356cb93a386Sopenharmony_ci VeryHigh = 9, 357cb93a386Sopenharmony_ci HorizontalLow = 10, 358cb93a386Sopenharmony_ci HorizontalMedium = 11, 359cb93a386Sopenharmony_ci HorizontalHigh = 12, 360cb93a386Sopenharmony_ci Broken = 13, 361cb93a386Sopenharmony_ci } bContrast; 362cb93a386Sopenharmony_ci 363cb93a386Sopenharmony_ci enum class SerifVariant : SK_OT_BYTE { 364cb93a386Sopenharmony_ci Any = 0, 365cb93a386Sopenharmony_ci NoFit = 1, 366cb93a386Sopenharmony_ci Cove = 2, 367cb93a386Sopenharmony_ci ObtuseCove = 3, 368cb93a386Sopenharmony_ci SquareCove = 4, 369cb93a386Sopenharmony_ci ObtuseSquareCove = 5, 370cb93a386Sopenharmony_ci Square = 6, 371cb93a386Sopenharmony_ci Thin = 7, 372cb93a386Sopenharmony_ci Oval = 8, 373cb93a386Sopenharmony_ci Exaggerated = 9, 374cb93a386Sopenharmony_ci Triangle = 10, 375cb93a386Sopenharmony_ci NormalSans = 11, 376cb93a386Sopenharmony_ci ObtuseSans = 12, 377cb93a386Sopenharmony_ci PerpendicularSans = 13, 378cb93a386Sopenharmony_ci Flared = 14, 379cb93a386Sopenharmony_ci Rounded = 15, 380cb93a386Sopenharmony_ci Script = 16, 381cb93a386Sopenharmony_ci } bSerifVariant; 382cb93a386Sopenharmony_ci 383cb93a386Sopenharmony_ci enum class Treatment : SK_OT_BYTE { 384cb93a386Sopenharmony_ci Any = 0, 385cb93a386Sopenharmony_ci NoFit = 1, 386cb93a386Sopenharmony_ci None_StandardSolidFill = 2, 387cb93a386Sopenharmony_ci White_NoFill = 3, 388cb93a386Sopenharmony_ci PatternedFill = 4, 389cb93a386Sopenharmony_ci ComplexFill = 5, 390cb93a386Sopenharmony_ci ShapedFill = 6, 391cb93a386Sopenharmony_ci DrawnDistressed = 7, 392cb93a386Sopenharmony_ci } bTreatment; 393cb93a386Sopenharmony_ci 394cb93a386Sopenharmony_ci enum class Lining : SK_OT_BYTE { 395cb93a386Sopenharmony_ci Any = 0, 396cb93a386Sopenharmony_ci NoFit = 1, 397cb93a386Sopenharmony_ci None = 2, 398cb93a386Sopenharmony_ci Inline = 3, 399cb93a386Sopenharmony_ci Outline = 4, 400cb93a386Sopenharmony_ci Engraved = 5, 401cb93a386Sopenharmony_ci Shadow = 6, 402cb93a386Sopenharmony_ci Relief = 7, 403cb93a386Sopenharmony_ci Backdrop = 8, 404cb93a386Sopenharmony_ci } bLining; 405cb93a386Sopenharmony_ci 406cb93a386Sopenharmony_ci enum class Topology : SK_OT_BYTE { 407cb93a386Sopenharmony_ci Any = 0, 408cb93a386Sopenharmony_ci NoFit = 1, 409cb93a386Sopenharmony_ci Standard = 2, 410cb93a386Sopenharmony_ci Square = 3, 411cb93a386Sopenharmony_ci MultipleSegment = 4, 412cb93a386Sopenharmony_ci DecoWacoMidlines = 5, 413cb93a386Sopenharmony_ci UnevenWeighting = 6, 414cb93a386Sopenharmony_ci DiverseArms = 7, 415cb93a386Sopenharmony_ci DiverseForms = 8, 416cb93a386Sopenharmony_ci LombardicForms = 9, 417cb93a386Sopenharmony_ci UpperCaseInLowerCase = 10, 418cb93a386Sopenharmony_ci ImpliedTopology = 11, 419cb93a386Sopenharmony_ci HorseshoeEandA = 12, 420cb93a386Sopenharmony_ci Cursive = 13, 421cb93a386Sopenharmony_ci Blackletter = 14, 422cb93a386Sopenharmony_ci SwashVariance = 15, 423cb93a386Sopenharmony_ci } bTopology; 424cb93a386Sopenharmony_ci 425cb93a386Sopenharmony_ci enum class RangeOfCharacters : SK_OT_BYTE { 426cb93a386Sopenharmony_ci Any = 0, 427cb93a386Sopenharmony_ci NoFit = 1, 428cb93a386Sopenharmony_ci ExtendedCollection = 2, 429cb93a386Sopenharmony_ci Litterals = 3, 430cb93a386Sopenharmony_ci NoLowerCase = 4, 431cb93a386Sopenharmony_ci SmallCaps = 5, 432cb93a386Sopenharmony_ci } bRangeOfCharacters; 433cb93a386Sopenharmony_ci } decorative; 434cb93a386Sopenharmony_ci 435cb93a386Sopenharmony_ci struct Pictoral { 436cb93a386Sopenharmony_ci enum class Kind : SK_OT_BYTE { 437cb93a386Sopenharmony_ci Any = 0, 438cb93a386Sopenharmony_ci NoFit = 1, 439cb93a386Sopenharmony_ci Montages = 2, 440cb93a386Sopenharmony_ci Pictures = 3, 441cb93a386Sopenharmony_ci Shapes = 4, 442cb93a386Sopenharmony_ci Scientific = 5, 443cb93a386Sopenharmony_ci Music = 6, 444cb93a386Sopenharmony_ci Expert = 7, 445cb93a386Sopenharmony_ci Patterns = 8, 446cb93a386Sopenharmony_ci Boarders = 9, 447cb93a386Sopenharmony_ci Icons = 10, 448cb93a386Sopenharmony_ci Logos = 11, 449cb93a386Sopenharmony_ci IndustrySpecific = 12, 450cb93a386Sopenharmony_ci } bKind; 451cb93a386Sopenharmony_ci 452cb93a386Sopenharmony_ci enum class Weight : SK_OT_BYTE { 453cb93a386Sopenharmony_ci NoFit = 1, 454cb93a386Sopenharmony_ci } bWeight; 455cb93a386Sopenharmony_ci 456cb93a386Sopenharmony_ci enum class Spacing : SK_OT_BYTE { 457cb93a386Sopenharmony_ci Any = 0, 458cb93a386Sopenharmony_ci NoFit = 1, 459cb93a386Sopenharmony_ci ProportionalSpaced = 2, 460cb93a386Sopenharmony_ci Monospaced = 3, 461cb93a386Sopenharmony_ci } bSpacing; 462cb93a386Sopenharmony_ci 463cb93a386Sopenharmony_ci enum class AspectRatioAndContrast : SK_OT_BYTE { 464cb93a386Sopenharmony_ci NoFit = 1, 465cb93a386Sopenharmony_ci } bAspectRatioAndContrast; 466cb93a386Sopenharmony_ci 467cb93a386Sopenharmony_ci enum class AspectRatio94 : SK_OT_BYTE { 468cb93a386Sopenharmony_ci Any = 0, 469cb93a386Sopenharmony_ci NoFit = 1, 470cb93a386Sopenharmony_ci NoWidth = 2, 471cb93a386Sopenharmony_ci ExceptionallyWide = 3, 472cb93a386Sopenharmony_ci SuperWide = 4, 473cb93a386Sopenharmony_ci VeryWide = 5, 474cb93a386Sopenharmony_ci Wide = 6, 475cb93a386Sopenharmony_ci Normal = 7, 476cb93a386Sopenharmony_ci Narrow = 8, 477cb93a386Sopenharmony_ci VeryNarrow = 9, 478cb93a386Sopenharmony_ci } bAspectRatio94; 479cb93a386Sopenharmony_ci 480cb93a386Sopenharmony_ci enum class AspectRatio119 : SK_OT_BYTE { 481cb93a386Sopenharmony_ci Any = 0, 482cb93a386Sopenharmony_ci NoFit = 1, 483cb93a386Sopenharmony_ci NoWidth = 2, 484cb93a386Sopenharmony_ci ExceptionallyWide = 3, 485cb93a386Sopenharmony_ci SuperWide = 4, 486cb93a386Sopenharmony_ci VeryWide = 5, 487cb93a386Sopenharmony_ci Wide = 6, 488cb93a386Sopenharmony_ci Normal = 7, 489cb93a386Sopenharmony_ci Narrow = 8, 490cb93a386Sopenharmony_ci VeryNarrow = 9, 491cb93a386Sopenharmony_ci } bAspectRatio119; 492cb93a386Sopenharmony_ci 493cb93a386Sopenharmony_ci enum class AspectRatio157 : SK_OT_BYTE { 494cb93a386Sopenharmony_ci Any = 0, 495cb93a386Sopenharmony_ci NoFit = 1, 496cb93a386Sopenharmony_ci NoWidth = 2, 497cb93a386Sopenharmony_ci ExceptionallyWide = 3, 498cb93a386Sopenharmony_ci SuperWide = 4, 499cb93a386Sopenharmony_ci VeryWide = 5, 500cb93a386Sopenharmony_ci Wide = 6, 501cb93a386Sopenharmony_ci Normal = 7, 502cb93a386Sopenharmony_ci Narrow = 8, 503cb93a386Sopenharmony_ci VeryNarrow = 9, 504cb93a386Sopenharmony_ci } bAspectRatio157; 505cb93a386Sopenharmony_ci 506cb93a386Sopenharmony_ci enum class AspectRatio163 : SK_OT_BYTE { 507cb93a386Sopenharmony_ci Any = 0, 508cb93a386Sopenharmony_ci NoFit = 1, 509cb93a386Sopenharmony_ci NoWidth = 2, 510cb93a386Sopenharmony_ci ExceptionallyWide = 3, 511cb93a386Sopenharmony_ci SuperWide = 4, 512cb93a386Sopenharmony_ci VeryWide = 5, 513cb93a386Sopenharmony_ci Wide = 6, 514cb93a386Sopenharmony_ci Normal = 7, 515cb93a386Sopenharmony_ci Narrow = 8, 516cb93a386Sopenharmony_ci VeryNarrow = 9, 517cb93a386Sopenharmony_ci } bAspectRatio163; 518cb93a386Sopenharmony_ci } pictoral; 519cb93a386Sopenharmony_ci } data; 520cb93a386Sopenharmony_ci}; 521cb93a386Sopenharmony_ci 522cb93a386Sopenharmony_ci#pragma pack(pop) 523cb93a386Sopenharmony_ci 524cb93a386Sopenharmony_ci 525cb93a386Sopenharmony_cistatic_assert(sizeof(SkPanose) == 10, "sizeof_SkPanose_not_10"); 526cb93a386Sopenharmony_ci 527cb93a386Sopenharmony_ci#endif 528