// Copyright 2022 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

CSS_PROP____(BorderLeft,
             "border-left",
             0x04080036,
             CFX_CSSVALUETYPE_Shorthand)
CSS_PROP____(Top,
             "top",
             0x0BEDAF33,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(Margin,
             "margin",
             0x0CB016BE,
             CFX_CSSVALUETYPE_List | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(TextIndent,
             "text-indent",
             0x169ADB74,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(Right,
             "right",
             0x193ADE3E,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(PaddingLeft,
             "padding-left",
             0x228CF02F,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(MarginLeft,
             "margin-left",
             0x297C5656,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeNumber |
             CFX_CSSVALUETYPE_MaybeEnum)
CSS_PROP____(Border,
             "border",
             0x2A23349E,
             CFX_CSSVALUETYPE_Shorthand)
CSS_PROP____(BorderTop,
             "border-top",
             0x2B866ADE,
             CFX_CSSVALUETYPE_Shorthand)
CSS_PROP____(Bottom,
             "bottom",
             0x399F02B5,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(PaddingRight,
             "padding-right",
             0x3F616AC2,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(BorderBottom,
             "border-bottom",
             0x452CE780,
             CFX_CSSVALUETYPE_Shorthand)
CSS_PROP____(FontFamily,
             "font-family",
             0x574686E6,
             CFX_CSSVALUETYPE_List | CFX_CSSVALUETYPE_MaybeString)
CSS_PROP____(FontWeight,
             "font-weight",
             0x6692F60C,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(Color,
             "color",
             0x6E67921F,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeColor)
CSS_PROP____(LetterSpacing,
             "letter-spacing",
             0x70536102,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(TextAlign,
             "text-align",
             0x7553F1BD,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum)
CSS_PROP____(BorderRightWidth,
             "border-right-width",
             0x8F5A6036,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(VerticalAlign,
             "vertical-align",
             0x934A87D2,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(PaddingTop,
             "padding-top",
             0x959D22B7,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(FontVariant,
             "font-variant",
             0x9C785779,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum)
CSS_PROP____(BorderWidth,
             "border-width",
             0xA8DE4FEB,
             CFX_CSSVALUETYPE_List | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(BorderBottomWidth,
             "border-bottom-width",
             0xAE41204D,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(BorderRight,
             "border-right",
             0xB78E9EA9,
             CFX_CSSVALUETYPE_Shorthand)
CSS_PROP____(FontSize,
             "font-size",
             0xB93956DF,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(BorderSpacing,
             "border-spacing",
             0xC72030F0,
             CFX_CSSVALUETYPE_List | CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(FontStyle,
             "font-style",
             0xCB1950F5,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum)
CSS_PROP____(Font,
             "font",
             0xCD308B77,
             CFX_CSSVALUETYPE_Shorthand)
CSS_PROP____(LineHeight,
             "line-height",
             0xCFCACE2E,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(MarginRight,
             "margin-right",
             0xD13C58C9,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeNumber |
             CFX_CSSVALUETYPE_MaybeEnum)
CSS_PROP____(BorderLeftWidth,
             "border-left-width",
             0xD1E93D83,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(Display,
             "display",
             0xD4224C36,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum)
CSS_PROP____(PaddingBottom,
             "padding-bottom",
             0xE555B3B9,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(BorderTopWidth,
             "border-top-width",
             0xED2CB62B,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(WordSpacing,
             "word-spacing",
             0xEDA63BAE,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(Left,
             "left",
             0xF5AD782B,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeEnum |
             CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(TextDecoration,
             "text-decoration",
             0xF7C634BA,
             CFX_CSSVALUETYPE_List | CFX_CSSVALUETYPE_MaybeEnum)
CSS_PROP____(Padding,
             "padding",
             0xF8C373F7,
             CFX_CSSVALUETYPE_List | CFX_CSSVALUETYPE_MaybeNumber)
CSS_PROP____(MarginBottom,
             "margin-bottom",
             0xF93485A0,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeNumber |
             CFX_CSSVALUETYPE_MaybeEnum)
CSS_PROP____(MarginTop,
             "margin-top",
             0xFE51DCFE,
             CFX_CSSVALUETYPE_Primitive | CFX_CSSVALUETYPE_MaybeNumber |
             CFX_CSSVALUETYPE_MaybeEnum)

