Remove wide string literals from XFA_AttributeEnumInfo.

Re-order to pack better on 64-bits while we're at it.

Change-Id: I67e1f2a11c47f4212af6f590f5c2f5a82a37670a
Reviewed-on: https://pdfium-review.googlesource.com/c/46171
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fxjs/xfa/cjx_object.cpp b/fxjs/xfa/cjx_object.cpp
index bfa3925..7fc1554 100644
--- a/fxjs/xfa/cjx_object.cpp
+++ b/fxjs/xfa/cjx_object.cpp
@@ -281,7 +281,7 @@
       if (!value)
         return {};
 
-      return {CXFA_Node::AttributeEnumToName(*value)};
+      return WideString::FromASCII(CXFA_Node::AttributeEnumToName(*value));
     }
     case XFA_AttributeType::CData:
       return TryCData(eAttr, bUseDefault);
@@ -398,8 +398,9 @@
   CFX_XMLElement* elem = SetValue(eAttr, XFA_AttributeType::Enum,
                                   (void*)(uintptr_t)eValue, bNotify);
   if (elem) {
-    elem->SetAttribute(CXFA_Node::AttributeToName(eAttr),
-                       CXFA_Node::AttributeEnumToName(eValue));
+    elem->SetAttribute(
+        CXFA_Node::AttributeToName(eAttr),
+        WideString::FromASCII(CXFA_Node::AttributeEnumToName(eValue)));
   }
 }
 
@@ -1543,8 +1544,7 @@
     return;
   }
 
-  WideString str = CXFA_Node::AttributeEnumToName(validate->GetNullTest());
-  pValue->SetString(str.ToUTF8().AsStringView());
+  pValue->SetString(CXFA_Node::AttributeEnumToName(validate->GetNullTest()));
 }
 
 void CJX_Object::Script_Som_InstanceIndex(CFXJSE_Value* pValue,
diff --git a/xfa/fxfa/fxfa_basic.h b/xfa/fxfa/fxfa_basic.h
index 916515f..fcb72bc 100644
--- a/xfa/fxfa/fxfa_basic.h
+++ b/xfa/fxfa/fxfa_basic.h
@@ -946,9 +946,9 @@
 #define XFA_PROPERTYFLAG_DefaultOneOf 0x02
 
 struct XFA_AttributeEnumInfo {
-  uint32_t uHash;
-  const wchar_t* pName;
+  uint32_t uHash;  // |pName| hashed as WideString.
   XFA_AttributeEnum eName;
+  const char* pName;
 };
 
 enum class XFA_Unit : uint8_t {
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp
index 6347677..312568b 100644
--- a/xfa/fxfa/parser/cxfa_node.cpp
+++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -543,7 +543,7 @@
 };
 
 // static
-WideString CXFA_Node::AttributeEnumToName(XFA_AttributeEnum item) {
+ByteStringView CXFA_Node::AttributeEnumToName(XFA_AttributeEnum item) {
   return g_XFAEnumData[static_cast<int32_t>(item)].pName;
 }
 
@@ -558,8 +558,9 @@
                               FX_HashCode_GetW(name, false),
                               [](const XFA_AttributeEnumInfo& arg,
                                  uint32_t hash) { return arg.uHash < hash; });
-  if (it != kXFAEnumDataEnd && name == it->pName)
-    return {it->eName};
+  if (it != kXFAEnumDataEnd && name.EqualsASCII(it->pName))
+    return it->eName;
+
   return {};
 }
 
diff --git a/xfa/fxfa/parser/cxfa_node.h b/xfa/fxfa/parser/cxfa_node.h
index 6731a3b..49bad9a 100644
--- a/xfa/fxfa/parser/cxfa_node.h
+++ b/xfa/fxfa/parser/cxfa_node.h
@@ -87,7 +87,7 @@
   static WideString ElementToName(XFA_Element elem);
 #endif  // NDEBUG
 
-  static WideString AttributeEnumToName(XFA_AttributeEnum item);
+  static ByteStringView AttributeEnumToName(XFA_AttributeEnum item);
   static Optional<XFA_AttributeEnum> NameToAttributeEnum(
       const WideStringView& name);
   static XFA_Attribute NameToAttribute(const WideStringView& name);
diff --git a/xfa/fxfa/parser/xfa_basic_data_enum.cpp b/xfa/fxfa/parser/xfa_basic_data_enum.cpp
index 7c0a148..bd73da8 100644
--- a/xfa/fxfa/parser/xfa_basic_data_enum.cpp
+++ b/xfa/fxfa/parser/xfa_basic_data_enum.cpp
@@ -9,273 +9,293 @@
 #include "core/fxcrt/fx_memory.h"
 #include "xfa/fxfa/fxfa_basic.h"
 
+#undef INFO
+#define INFO(a, b, c) a, c, b
+
 const XFA_AttributeEnumInfo g_XFAEnumData[] = {
-    {0x2a, L"*", XFA_AttributeEnum::Asterisk},
-    {0x2f, L"/", XFA_AttributeEnum::Slash},
-    {0x5c, L"\\", XFA_AttributeEnum::Backslash},
-    {0x239bd, L"on", XFA_AttributeEnum::On},
-    {0x25356, L"tb", XFA_AttributeEnum::Tb},
-    {0x25885, L"up", XFA_AttributeEnum::Up},
-    {0x91b281, L"metaData", XFA_AttributeEnum::MetaData},
-    {0x1f8dedb, L"delegate", XFA_AttributeEnum::Delegate},
-    {0x2a6c55a, L"postSubmit", XFA_AttributeEnum::PostSubmit},
-    {0x31b19c1, L"name", XFA_AttributeEnum::Name},
-    {0x378a38a, L"cross", XFA_AttributeEnum::Cross},
-    {0x3848b3f, L"next", XFA_AttributeEnum::Next},
-    {0x48b6670, L"none", XFA_AttributeEnum::None},
-    {0x51aafe5, L"shortEdge", XFA_AttributeEnum::ShortEdge},
-    {0x55264c4, L"1mod10_1mod11", XFA_AttributeEnum::Checksum_1mod10_1mod11},
-    {0x5a5c519, L"height", XFA_AttributeEnum::Height},
-    {0x89ce549, L"crossDiagonal", XFA_AttributeEnum::CrossDiagonal},
-    {0x9f9d0f9, L"all", XFA_AttributeEnum::All},
-    {0x9f9db48, L"any", XFA_AttributeEnum::Any},
-    {0xa126261, L"toRight", XFA_AttributeEnum::ToRight},
-    {0xa36de29, L"matchTemplate", XFA_AttributeEnum::MatchTemplate},
-    {0xa48d040, L"dpl", XFA_AttributeEnum::Dpl},
-    {0xa559c05, L"invisible", XFA_AttributeEnum::Invisible},
-    {0xa7d48e3, L"fit", XFA_AttributeEnum::Fit},
-    {0xa8a8f80, L"width", XFA_AttributeEnum::Width},
-    {0xab466bb, L"preSubmit", XFA_AttributeEnum::PreSubmit},
-    {0xacc5785, L"ipl", XFA_AttributeEnum::Ipl},
-    {0xafab0f8, L"flateCompress", XFA_AttributeEnum::FlateCompress},
-    {0xb355816, L"med", XFA_AttributeEnum::Med},
-    {0xb69ef77, L"odd", XFA_AttributeEnum::Odd},
-    {0xb69f9bb, L"off", XFA_AttributeEnum::Off},
-    {0xb843dba, L"pdf", XFA_AttributeEnum::Pdf},
-    {0xbb912b8, L"row", XFA_AttributeEnum::Row},
-    {0xbedaf33, L"top", XFA_AttributeEnum::Top},
-    {0xc56afcc, L"xdp", XFA_AttributeEnum::Xdp},
-    {0xc56ba02, L"xfd", XFA_AttributeEnum::Xfd},
-    {0xc56ddf1, L"xml", XFA_AttributeEnum::Xml},
-    {0xc8b65f3, L"zip", XFA_AttributeEnum::Zip},
-    {0xc8b89d6, L"zpl", XFA_AttributeEnum::Zpl},
-    {0xf55d7ee, L"visible", XFA_AttributeEnum::Visible},
-    {0xfe3596a, L"exclude", XFA_AttributeEnum::Exclude},
-    {0x109d7ce7, L"mouseEnter", XFA_AttributeEnum::MouseEnter},
-    {0x10f1bc0c, L"pair", XFA_AttributeEnum::Pair},
-    {0x1154efe6, L"filter", XFA_AttributeEnum::Filter},
-    {0x125bc94b, L"moveLast", XFA_AttributeEnum::MoveLast},
-    {0x12e1f1f0, L"exportAndImport", XFA_AttributeEnum::ExportAndImport},
-    {0x13000c60, L"push", XFA_AttributeEnum::Push},
-    {0x138ee315, L"portrait", XFA_AttributeEnum::Portrait},
-    {0x14da2125, L"default", XFA_AttributeEnum::Default},
-    {0x157749a5, L"storedProc", XFA_AttributeEnum::StoredProc},
-    {0x16641198, L"stayBOF", XFA_AttributeEnum::StayBOF},
-    {0x16b2fc5b, L"stayEOF", XFA_AttributeEnum::StayEOF},
-    {0x17fad373, L"postPrint", XFA_AttributeEnum::PostPrint},
-    {0x193207d0, L"usCarrier", XFA_AttributeEnum::UsCarrier},
-    {0x193ade3e, L"right", XFA_AttributeEnum::Right},
-    {0x1bfc72d9, L"preOpen", XFA_AttributeEnum::PreOpen},
-    {0x1cc9317a, L"actual", XFA_AttributeEnum::Actual},
-    {0x1f31df1e, L"rest", XFA_AttributeEnum::Rest},
-    {0x1fb1bf14, L"topCenter", XFA_AttributeEnum::TopCenter},
-    {0x207de667, L"standardSymbol", XFA_AttributeEnum::StandardSymbol},
-    {0x2196a452, L"initialize", XFA_AttributeEnum::Initialize},
-    {0x23bd40c7, L"justifyAll", XFA_AttributeEnum::JustifyAll},
-    {0x247cf3e9, L"normal", XFA_AttributeEnum::Normal},
-    {0x25aa946b, L"landscape", XFA_AttributeEnum::Landscape},
-    {0x2739b5c9, L"nonInteractive", XFA_AttributeEnum::NonInteractive},
-    {0x27410f03, L"mouseExit", XFA_AttributeEnum::MouseExit},
-    {0x2854e62c, L"minus", XFA_AttributeEnum::Minus},
-    {0x287e936a, L"diagonalLeft", XFA_AttributeEnum::DiagonalLeft},
-    {0x2972a98f, L"simplexPaginated", XFA_AttributeEnum::SimplexPaginated},
-    {0x29d8225f, L"document", XFA_AttributeEnum::Document},
-    {0x2a9d3016, L"warning", XFA_AttributeEnum::Warning},
-    {0x2b35b6d9, L"auto", XFA_AttributeEnum::Auto},
-    {0x2c1653d9, L"below", XFA_AttributeEnum::Below},
-    {0x2c1f0540, L"bottomLeft", XFA_AttributeEnum::BottomLeft},
-    {0x2c44e816, L"bottomCenter", XFA_AttributeEnum::BottomCenter},
-    {0x2cd3e9f3, L"tcpl", XFA_AttributeEnum::Tcpl},
-    {0x2d08af85, L"text", XFA_AttributeEnum::Text},
-    {0x2dc478eb, L"grouping", XFA_AttributeEnum::Grouping},
-    {0x2ef3afdd, L"secureSymbol", XFA_AttributeEnum::SecureSymbol},
-    {0x2f2dd29a, L"preExecute", XFA_AttributeEnum::PreExecute},
-    {0x33c43dec, L"docClose", XFA_AttributeEnum::DocClose},
-    {0x33f25bb5, L"keyset", XFA_AttributeEnum::Keyset},
-    {0x34e363da, L"vertical", XFA_AttributeEnum::Vertical},
-    {0x361fa1b6, L"preSave", XFA_AttributeEnum::PreSave},
-    {0x36f1c6d8, L"preSign", XFA_AttributeEnum::PreSign},
-    {0x399f02b5, L"bottom", XFA_AttributeEnum::Bottom},
-    {0x3b0ab096, L"toTop", XFA_AttributeEnum::ToTop},
-    {0x3c752495, L"verify", XFA_AttributeEnum::Verify},
-    {0x3ce05d68, L"first", XFA_AttributeEnum::First},
-    {0x3ecead94, L"contentArea", XFA_AttributeEnum::ContentArea},
-    {0x40623b5b, L"solid", XFA_AttributeEnum::Solid},
-    {0x42c6cd8d, L"pessimistic", XFA_AttributeEnum::Pessimistic},
-    {0x43ddc6bf, L"duplexPaginated", XFA_AttributeEnum::DuplexPaginated},
-    {0x442f68c8, L"round", XFA_AttributeEnum::Round},
-    {0x45efb847, L"remerge", XFA_AttributeEnum::Remerge},
-    {0x46972265, L"ordered", XFA_AttributeEnum::Ordered},
-    {0x46f95531, L"percent", XFA_AttributeEnum::Percent},
-    {0x46fd25ae, L"even", XFA_AttributeEnum::Even},
-    {0x4731d6ba, L"exit", XFA_AttributeEnum::Exit},
-    {0x4977356b, L"toolTip", XFA_AttributeEnum::ToolTip},
-    {0x49b980ee, L"orderedOccurrence", XFA_AttributeEnum::OrderedOccurrence},
-    {0x4a7e2dfe, L"readOnly", XFA_AttributeEnum::ReadOnly},
-    {0x4c4e8acb, L"currency", XFA_AttributeEnum::Currency},
-    {0x4dcf25f8, L"concat", XFA_AttributeEnum::Concat},
-    {0x4febb826, L"Thai", XFA_AttributeEnum::Thai},
-    {0x50ef95b2, L"embossed", XFA_AttributeEnum::Embossed},
-    {0x516e35ce, L"formdata", XFA_AttributeEnum::Formdata},
-    {0x52fa6f0e, L"Greek", XFA_AttributeEnum::Greek},
-    {0x54034c2f, L"decimal", XFA_AttributeEnum::Decimal},
-    {0x542c7300, L"select", XFA_AttributeEnum::Select},
-    {0x551f0ae5, L"longEdge", XFA_AttributeEnum::LongEdge},
-    {0x55520a8a, L"protected", XFA_AttributeEnum::Protected},
-    {0x559f76f3, L"bottomRight", XFA_AttributeEnum::BottomRight},
-    {0x568cb500, L"zero", XFA_AttributeEnum::Zero},
-    {0x56bcecb7, L"forwardOnly", XFA_AttributeEnum::ForwardOnly},
-    {0x56bf456b, L"docReady", XFA_AttributeEnum::DocReady},
-    {0x573cb40c, L"hidden", XFA_AttributeEnum::Hidden},
-    {0x582e3424, L"include", XFA_AttributeEnum::Include},
-    {0x58a3dd29, L"dashed", XFA_AttributeEnum::Dashed},
-    {0x5955b22b, L"multiSelect", XFA_AttributeEnum::MultiSelect},
-    {0x598d5c53, L"inactive", XFA_AttributeEnum::Inactive},
-    {0x59c8f27d, L"embed", XFA_AttributeEnum::Embed},
-    {0x5e7555e8, L"static", XFA_AttributeEnum::Static},
-    {0x606d4def, L"onEntry", XFA_AttributeEnum::OnEntry},
-    {0x6195eafb, L"Cyrillic", XFA_AttributeEnum::Cyrillic},
-    {0x6491b0f3, L"nonBlank", XFA_AttributeEnum::NonBlank},
-    {0x67bef031, L"topRight", XFA_AttributeEnum::TopRight},
-    {0x67df5ebd, L"Hebrew", XFA_AttributeEnum::Hebrew},
-    {0x6aea98be, L"topLeft", XFA_AttributeEnum::TopLeft},
-    {0x6c51afc1, L"center", XFA_AttributeEnum::Center},
-    {0x7145e6bf, L"moveFirst", XFA_AttributeEnum::MoveFirst},
-    {0x7375465c, L"diamond", XFA_AttributeEnum::Diamond},
-    {0x7461aef4, L"pageOdd", XFA_AttributeEnum::PageOdd},
-    {0x75f8aeb2, L"1mod10", XFA_AttributeEnum::Checksum_1mod10},
-    {0x76d708e0, L"Korean", XFA_AttributeEnum::Korean},
-    {0x789f14d7, L"aboveEmbedded", XFA_AttributeEnum::AboveEmbedded},
-    {0x792ea39f, L"zipCompress", XFA_AttributeEnum::ZipCompress},
-    {0x7a5b7193, L"numeric", XFA_AttributeEnum::Numeric},
-    {0x7abec0d2, L"circle", XFA_AttributeEnum::Circle},
-    {0x7afbba38, L"toBottom", XFA_AttributeEnum::ToBottom},
-    {0x7b95e661, L"inverted", XFA_AttributeEnum::Inverted},
-    {0x7baca2e3, L"update", XFA_AttributeEnum::Update},
-    {0x7eb5da2c, L"isoname", XFA_AttributeEnum::Isoname},
-    {0x7f6fd3d7, L"server", XFA_AttributeEnum::Server},
-    {0x814f82b5, L"position", XFA_AttributeEnum::Position},
-    {0x82deacf0, L"middleCenter", XFA_AttributeEnum::MiddleCenter},
-    {0x83a49dc6, L"optional", XFA_AttributeEnum::Optional},
-    {0x861a116f, L"usePrinterSetting", XFA_AttributeEnum::UsePrinterSetting},
-    {0x86701ce0, L"outline", XFA_AttributeEnum::Outline},
-    {0x8808385e, L"indexChange", XFA_AttributeEnum::IndexChange},
-    {0x891f4606, L"change", XFA_AttributeEnum::Change},
-    {0x89939f36, L"pageArea", XFA_AttributeEnum::PageArea},
-    {0x8b5c3b25, L"once", XFA_AttributeEnum::Once},
-    {0x8b5c6962, L"only", XFA_AttributeEnum::Only},
-    {0x8b90e1f2, L"open", XFA_AttributeEnum::Open},
-    {0x8bcfe96e, L"caption", XFA_AttributeEnum::Caption},
-    {0x8ce83ef8, L"raised", XFA_AttributeEnum::Raised},
-    {0x8d269cae, L"justify", XFA_AttributeEnum::Justify},
-    {0x8fd520dc, L"refAndDescendants", XFA_AttributeEnum::RefAndDescendants},
-    {0x9041d4b0, L"short", XFA_AttributeEnum::Short},
-    {0x90c94426, L"pageFront", XFA_AttributeEnum::PageFront},
-    {0x936beee5, L"monospace", XFA_AttributeEnum::Monospace},
-    {0x947fa00f, L"middle", XFA_AttributeEnum::Middle},
-    {0x9528a7b4, L"prePrint", XFA_AttributeEnum::PrePrint},
-    {0x959ab231, L"always", XFA_AttributeEnum::Always},
-    {0x96d61bf0, L"unknown", XFA_AttributeEnum::Unknown},
-    {0x997194ee, L"toLeft", XFA_AttributeEnum::ToLeft},
-    {0x9a83a3cd, L"above", XFA_AttributeEnum::Above},
-    {0x9d0d71c7, L"dashDot", XFA_AttributeEnum::DashDot},
-    {0x9df56f3e, L"gregorian", XFA_AttributeEnum::Gregorian},
-    {0x9f6723fd, L"Roman", XFA_AttributeEnum::Roman},
-    {0x9f693b21, L"mouseDown", XFA_AttributeEnum::MouseDown},
-    {0xa1429b36, L"symbol", XFA_AttributeEnum::Symbol},
-    {0xa5aa45cb, L"pageEven", XFA_AttributeEnum::PageEven},
-    {0xa68635f1, L"sign", XFA_AttributeEnum::Sign},
-    {0xa7315093, L"addNew", XFA_AttributeEnum::AddNew},
-    {0xa7a773fa, L"star", XFA_AttributeEnum::Star},
-    {0xa7d57b45, L"optimistic", XFA_AttributeEnum::Optimistic},
-    {0xa8077321, L"rl-tb", XFA_AttributeEnum::Rl_tb},
-    {0xa8f1468d, L"middleRight", XFA_AttributeEnum::MiddleRight},
-    {0xaa84a1f1, L"maintain", XFA_AttributeEnum::Maintain},
-    {0xab40b12c, L"package", XFA_AttributeEnum::Package},
-    {0xac8b4d85, L"SimplifiedChinese", XFA_AttributeEnum::SimplifiedChinese},
-    {0xadae6744, L"toCenter", XFA_AttributeEnum::ToCenter},
-    {0xb0129df1, L"back", XFA_AttributeEnum::Back},
-    {0xb0f088cf, L"unspecified", XFA_AttributeEnum::Unspecified},
-    {0xb1271067, L"batchOptimistic", XFA_AttributeEnum::BatchOptimistic},
-    {0xb18313a1, L"bold", XFA_AttributeEnum::Bold},
-    {0xb1833cad, L"both", XFA_AttributeEnum::Both},
-    {0xb221123f, L"butt", XFA_AttributeEnum::Butt},
-    {0xb40c36bf, L"client", XFA_AttributeEnum::Client},
-    {0xb56c7053, L"2mod10", XFA_AttributeEnum::Checksum_2mod10},
-    {0xb683a345, L"imageOnly", XFA_AttributeEnum::ImageOnly},
-    {0xb7732dea, L"horizontal", XFA_AttributeEnum::Horizontal},
-    {0xb88652a4, L"dotted", XFA_AttributeEnum::Dotted},
-    {0xbb2f2880, L"userControl", XFA_AttributeEnum::UserControl},
-    {0xbbb79c5d, L"diagonalRight", XFA_AttributeEnum::DiagonalRight},
-    {0xbd077154, L"consumeData", XFA_AttributeEnum::ConsumeData},
-    {0xbd3fb11e, L"check", XFA_AttributeEnum::Check},
-    {0xbde9abda, L"data", XFA_AttributeEnum::Data},
-    {0xbf5a02d8, L"down", XFA_AttributeEnum::Down},
-    {0xbf7450ee, L"sansSerif", XFA_AttributeEnum::SansSerif},
-    {0xc02d649f, L"inline", XFA_AttributeEnum::Inline},
-    {0xc11a9e3a, L"TraditionalChinese", XFA_AttributeEnum::TraditionalChinese},
-    {0xc16169d8, L"warn", XFA_AttributeEnum::Warn},
-    {0xc16f071f, L"refOnly", XFA_AttributeEnum::RefOnly},
-    {0xc27c8ba5, L"interactiveForms", XFA_AttributeEnum::InteractiveForms},
-    {0xc2d1b15c, L"word", XFA_AttributeEnum::Word},
-    {0xc3621288, L"unordered", XFA_AttributeEnum::Unordered},
-    {0xc5251981, L"required", XFA_AttributeEnum::Required},
-    {0xc7088e7d, L"importOnly", XFA_AttributeEnum::ImportOnly},
-    {0xc72cf0e3, L"belowEmbedded", XFA_AttributeEnum::BelowEmbedded},
-    {0xc819cf07, L"Japanese", XFA_AttributeEnum::Japanese},
-    {0xcdce56b3, L"full", XFA_AttributeEnum::Full},
-    {0xce0122e3, L"rl-row", XFA_AttributeEnum::Rl_row},
-    {0xcf7d71f1, L"Vietnamese", XFA_AttributeEnum::Vietnamese},
-    {0xcfde3e09, L"EastEuropeanRoman", XFA_AttributeEnum::EastEuropeanRoman},
-    {0xd576d08e, L"mouseUp", XFA_AttributeEnum::MouseUp},
-    {0xd7a92904, L"exportOnly", XFA_AttributeEnum::ExportOnly},
-    {0xd8ed1467, L"clear", XFA_AttributeEnum::Clear},
-    {0xd95657a6, L"click", XFA_AttributeEnum::Click},
-    {0xd96c7de5, L"base64", XFA_AttributeEnum::Base64},
-    {0xd9f47f36, L"close", XFA_AttributeEnum::Close},
-    {0xdb075bde, L"host", XFA_AttributeEnum::Host},
-    {0xdb103411, L"global", XFA_AttributeEnum::Global},
-    {0xdb647188, L"blank", XFA_AttributeEnum::Blank},
-    {0xdb9be968, L"table", XFA_AttributeEnum::Table},
-    {0xdf590fbb, L"import", XFA_AttributeEnum::Import},
-    {0xe0e573fb, L"custom", XFA_AttributeEnum::Custom},
-    {0xe0ecc79a, L"middleLeft", XFA_AttributeEnum::MiddleLeft},
-    {0xe1452019, L"postExecute", XFA_AttributeEnum::PostExecute},
-    {0xe1911d98, L"radix", XFA_AttributeEnum::Radix},
-    {0xe25fa7b8, L"postOpen", XFA_AttributeEnum::PostOpen},
-    {0xe28dce7e, L"enter", XFA_AttributeEnum::Enter},
-    {0xe2c44de4, L"ignore", XFA_AttributeEnum::Ignore},
-    {0xe2cd8c61, L"lr-tb", XFA_AttributeEnum::Lr_tb},
-    {0xe2da8336, L"fantasy", XFA_AttributeEnum::Fantasy},
-    {0xe31d5396, L"italic", XFA_AttributeEnum::Italic},
-    {0xe7ada113, L"author", XFA_AttributeEnum::Author},
-    {0xe8e7cc18, L"toEdge", XFA_AttributeEnum::ToEdge},
-    {0xe97aa98b, L"choice", XFA_AttributeEnum::Choice},
-    {0xeafd2a38, L"disabled", XFA_AttributeEnum::Disabled},
-    {0xeb2b7972, L"crossHatch", XFA_AttributeEnum::CrossHatch},
-    {0xeb2db2d7, L"dataRef", XFA_AttributeEnum::DataRef},
-    {0xec35dc6e, L"dashDotDot", XFA_AttributeEnum::DashDotDot},
-    {0xef85d351, L"square", XFA_AttributeEnum::Square},
-    {0xf2102445, L"dynamic", XFA_AttributeEnum::Dynamic},
-    {0xf272c7be, L"manual", XFA_AttributeEnum::Manual},
-    {0xf2bbb64d, L"etched", XFA_AttributeEnum::Etched},
-    {0xf3b8fc6c, L"validationState", XFA_AttributeEnum::ValidationState},
-    {0xf42f2b81, L"cursive", XFA_AttributeEnum::Cursive},
-    {0xf54481d4, L"last", XFA_AttributeEnum::Last},
-    {0xf5ad782b, L"left", XFA_AttributeEnum::Left},
-    {0xf616da2e, L"link", XFA_AttributeEnum::Link},
-    {0xf6b4afb0, L"long", XFA_AttributeEnum::Long},
-    {0xf8636460, L"internationalCarrier",
-     XFA_AttributeEnum::InternationalCarrier},
-    {0xf9fb37ac, L"PDF1.3", XFA_AttributeEnum::PDF1_3},
-    {0xf9fb37af, L"PDF1.6", XFA_AttributeEnum::PDF1_6},
-    {0xfbce7f19, L"serif", XFA_AttributeEnum::Serif},
-    {0xfc82d695, L"postSave", XFA_AttributeEnum::PostSave},
-    {0xfcef86b5, L"ready", XFA_AttributeEnum::Ready},
-    {0xfd54fbb7, L"postSign", XFA_AttributeEnum::PostSign},
-    {0xfdc0aae2, L"Arabic", XFA_AttributeEnum::Arabic},
-    {0xfe06d2ca, L"error", XFA_AttributeEnum::Error},
-    {0xfefc4885, L"urlencoded", XFA_AttributeEnum::Urlencoded},
-    {0xff795ad2, L"lowered", XFA_AttributeEnum::Lowered},
+    {INFO(0x2a, "*", XFA_AttributeEnum::Asterisk)},
+    {INFO(0x2f, "/", XFA_AttributeEnum::Slash)},
+    {INFO(0x5c, "\\", XFA_AttributeEnum::Backslash)},
+    {INFO(0x239bd, "on", XFA_AttributeEnum::On)},
+    {INFO(0x25356, "tb", XFA_AttributeEnum::Tb)},
+    {INFO(0x25885, "up", XFA_AttributeEnum::Up)},
+    {INFO(0x91b281, "metaData", XFA_AttributeEnum::MetaData)},
+    {INFO(0x1f8dedb, "delegate", XFA_AttributeEnum::Delegate)},
+    {INFO(0x2a6c55a, "postSubmit", XFA_AttributeEnum::PostSubmit)},
+    {INFO(0x31b19c1, "name", XFA_AttributeEnum::Name)},
+    {INFO(0x378a38a, "cross", XFA_AttributeEnum::Cross)},
+    {INFO(0x3848b3f, "next", XFA_AttributeEnum::Next)},
+    {INFO(0x48b6670, "none", XFA_AttributeEnum::None)},
+    {INFO(0x51aafe5, "shortEdge", XFA_AttributeEnum::ShortEdge)},
+    {INFO(0x55264c4,
+          "1mod10_1mod11",
+          XFA_AttributeEnum::Checksum_1mod10_1mod11)},
+    {INFO(0x5a5c519, "height", XFA_AttributeEnum::Height)},
+    {INFO(0x89ce549, "crossDiagonal", XFA_AttributeEnum::CrossDiagonal)},
+    {INFO(0x9f9d0f9, "all", XFA_AttributeEnum::All)},
+    {INFO(0x9f9db48, "any", XFA_AttributeEnum::Any)},
+    {INFO(0xa126261, "toRight", XFA_AttributeEnum::ToRight)},
+    {INFO(0xa36de29, "matchTemplate", XFA_AttributeEnum::MatchTemplate)},
+    {INFO(0xa48d040, "dpl", XFA_AttributeEnum::Dpl)},
+    {INFO(0xa559c05, "invisible", XFA_AttributeEnum::Invisible)},
+    {INFO(0xa7d48e3, "fit", XFA_AttributeEnum::Fit)},
+    {INFO(0xa8a8f80, "width", XFA_AttributeEnum::Width)},
+    {INFO(0xab466bb, "preSubmit", XFA_AttributeEnum::PreSubmit)},
+    {INFO(0xacc5785, "ipl", XFA_AttributeEnum::Ipl)},
+    {INFO(0xafab0f8, "flateCompress", XFA_AttributeEnum::FlateCompress)},
+    {INFO(0xb355816, "med", XFA_AttributeEnum::Med)},
+    {INFO(0xb69ef77, "odd", XFA_AttributeEnum::Odd)},
+    {INFO(0xb69f9bb, "off", XFA_AttributeEnum::Off)},
+    {INFO(0xb843dba, "pdf", XFA_AttributeEnum::Pdf)},
+    {INFO(0xbb912b8, "row", XFA_AttributeEnum::Row)},
+    {INFO(0xbedaf33, "top", XFA_AttributeEnum::Top)},
+    {INFO(0xc56afcc, "xdp", XFA_AttributeEnum::Xdp)},
+    {INFO(0xc56ba02, "xfd", XFA_AttributeEnum::Xfd)},
+    {INFO(0xc56ddf1, "xml", XFA_AttributeEnum::Xml)},
+    {INFO(0xc8b65f3, "zip", XFA_AttributeEnum::Zip)},
+    {INFO(0xc8b89d6, "zpl", XFA_AttributeEnum::Zpl)},
+    {INFO(0xf55d7ee, "visible", XFA_AttributeEnum::Visible)},
+    {INFO(0xfe3596a, "exclude", XFA_AttributeEnum::Exclude)},
+    {INFO(0x109d7ce7, "mouseEnter", XFA_AttributeEnum::MouseEnter)},
+    {INFO(0x10f1bc0c, "pair", XFA_AttributeEnum::Pair)},
+    {INFO(0x1154efe6, "filter", XFA_AttributeEnum::Filter)},
+    {INFO(0x125bc94b, "moveLast", XFA_AttributeEnum::MoveLast)},
+    {INFO(0x12e1f1f0, "exportAndImport", XFA_AttributeEnum::ExportAndImport)},
+    {INFO(0x13000c60, "push", XFA_AttributeEnum::Push)},
+    {INFO(0x138ee315, "portrait", XFA_AttributeEnum::Portrait)},
+    {INFO(0x14da2125, "default", XFA_AttributeEnum::Default)},
+    {INFO(0x157749a5, "storedProc", XFA_AttributeEnum::StoredProc)},
+    {INFO(0x16641198, "stayBOF", XFA_AttributeEnum::StayBOF)},
+    {INFO(0x16b2fc5b, "stayEOF", XFA_AttributeEnum::StayEOF)},
+    {INFO(0x17fad373, "postPrint", XFA_AttributeEnum::PostPrint)},
+    {INFO(0x193207d0, "usCarrier", XFA_AttributeEnum::UsCarrier)},
+    {INFO(0x193ade3e, "right", XFA_AttributeEnum::Right)},
+    {INFO(0x1bfc72d9, "preOpen", XFA_AttributeEnum::PreOpen)},
+    {INFO(0x1cc9317a, "actual", XFA_AttributeEnum::Actual)},
+    {INFO(0x1f31df1e, "rest", XFA_AttributeEnum::Rest)},
+    {INFO(0x1fb1bf14, "topCenter", XFA_AttributeEnum::TopCenter)},
+    {INFO(0x207de667, "standardSymbol", XFA_AttributeEnum::StandardSymbol)},
+    {INFO(0x2196a452, "initialize", XFA_AttributeEnum::Initialize)},
+    {INFO(0x23bd40c7, "justifyAll", XFA_AttributeEnum::JustifyAll)},
+    {INFO(0x247cf3e9, "normal", XFA_AttributeEnum::Normal)},
+    {INFO(0x25aa946b, "landscape", XFA_AttributeEnum::Landscape)},
+    {INFO(0x2739b5c9, "nonInteractive", XFA_AttributeEnum::NonInteractive)},
+    {INFO(0x27410f03, "mouseExit", XFA_AttributeEnum::MouseExit)},
+    {INFO(0x2854e62c, "minus", XFA_AttributeEnum::Minus)},
+    {INFO(0x287e936a, "diagonalLeft", XFA_AttributeEnum::DiagonalLeft)},
+    {INFO(0x2972a98f, "simplexPaginated", XFA_AttributeEnum::SimplexPaginated)},
+    {INFO(0x29d8225f, "document", XFA_AttributeEnum::Document)},
+    {INFO(0x2a9d3016, "warning", XFA_AttributeEnum::Warning)},
+    {INFO(0x2b35b6d9, "auto", XFA_AttributeEnum::Auto)},
+    {INFO(0x2c1653d9, "below", XFA_AttributeEnum::Below)},
+    {INFO(0x2c1f0540, "bottomLeft", XFA_AttributeEnum::BottomLeft)},
+    {INFO(0x2c44e816, "bottomCenter", XFA_AttributeEnum::BottomCenter)},
+    {INFO(0x2cd3e9f3, "tcpl", XFA_AttributeEnum::Tcpl)},
+    {INFO(0x2d08af85, "text", XFA_AttributeEnum::Text)},
+    {INFO(0x2dc478eb, "grouping", XFA_AttributeEnum::Grouping)},
+    {INFO(0x2ef3afdd, "secureSymbol", XFA_AttributeEnum::SecureSymbol)},
+    {INFO(0x2f2dd29a, "preExecute", XFA_AttributeEnum::PreExecute)},
+    {INFO(0x33c43dec, "docClose", XFA_AttributeEnum::DocClose)},
+    {INFO(0x33f25bb5, "keyset", XFA_AttributeEnum::Keyset)},
+    {INFO(0x34e363da, "vertical", XFA_AttributeEnum::Vertical)},
+    {INFO(0x361fa1b6, "preSave", XFA_AttributeEnum::PreSave)},
+    {INFO(0x36f1c6d8, "preSign", XFA_AttributeEnum::PreSign)},
+    {INFO(0x399f02b5, "bottom", XFA_AttributeEnum::Bottom)},
+    {INFO(0x3b0ab096, "toTop", XFA_AttributeEnum::ToTop)},
+    {INFO(0x3c752495, "verify", XFA_AttributeEnum::Verify)},
+    {INFO(0x3ce05d68, "first", XFA_AttributeEnum::First)},
+    {INFO(0x3ecead94, "contentArea", XFA_AttributeEnum::ContentArea)},
+    {INFO(0x40623b5b, "solid", XFA_AttributeEnum::Solid)},
+    {INFO(0x42c6cd8d, "pessimistic", XFA_AttributeEnum::Pessimistic)},
+    {INFO(0x43ddc6bf, "duplexPaginated", XFA_AttributeEnum::DuplexPaginated)},
+    {INFO(0x442f68c8, "round", XFA_AttributeEnum::Round)},
+    {INFO(0x45efb847, "remerge", XFA_AttributeEnum::Remerge)},
+    {INFO(0x46972265, "ordered", XFA_AttributeEnum::Ordered)},
+    {INFO(0x46f95531, "percent", XFA_AttributeEnum::Percent)},
+    {INFO(0x46fd25ae, "even", XFA_AttributeEnum::Even)},
+    {INFO(0x4731d6ba, "exit", XFA_AttributeEnum::Exit)},
+    {INFO(0x4977356b, "toolTip", XFA_AttributeEnum::ToolTip)},
+    {INFO(0x49b980ee,
+          "orderedOccurrence",
+          XFA_AttributeEnum::OrderedOccurrence)},
+    {INFO(0x4a7e2dfe, "readOnly", XFA_AttributeEnum::ReadOnly)},
+    {INFO(0x4c4e8acb, "currency", XFA_AttributeEnum::Currency)},
+    {INFO(0x4dcf25f8, "concat", XFA_AttributeEnum::Concat)},
+    {INFO(0x4febb826, "Thai", XFA_AttributeEnum::Thai)},
+    {INFO(0x50ef95b2, "embossed", XFA_AttributeEnum::Embossed)},
+    {INFO(0x516e35ce, "formdata", XFA_AttributeEnum::Formdata)},
+    {INFO(0x52fa6f0e, "Greek", XFA_AttributeEnum::Greek)},
+    {INFO(0x54034c2f, "decimal", XFA_AttributeEnum::Decimal)},
+    {INFO(0x542c7300, "select", XFA_AttributeEnum::Select)},
+    {INFO(0x551f0ae5, "longEdge", XFA_AttributeEnum::LongEdge)},
+    {INFO(0x55520a8a, "protected", XFA_AttributeEnum::Protected)},
+    {INFO(0x559f76f3, "bottomRight", XFA_AttributeEnum::BottomRight)},
+    {INFO(0x568cb500, "zero", XFA_AttributeEnum::Zero)},
+    {INFO(0x56bcecb7, "forwardOnly", XFA_AttributeEnum::ForwardOnly)},
+    {INFO(0x56bf456b, "docReady", XFA_AttributeEnum::DocReady)},
+    {INFO(0x573cb40c, "hidden", XFA_AttributeEnum::Hidden)},
+    {INFO(0x582e3424, "include", XFA_AttributeEnum::Include)},
+    {INFO(0x58a3dd29, "dashed", XFA_AttributeEnum::Dashed)},
+    {INFO(0x5955b22b, "multiSelect", XFA_AttributeEnum::MultiSelect)},
+    {INFO(0x598d5c53, "inactive", XFA_AttributeEnum::Inactive)},
+    {INFO(0x59c8f27d, "embed", XFA_AttributeEnum::Embed)},
+    {INFO(0x5e7555e8, "static", XFA_AttributeEnum::Static)},
+    {INFO(0x606d4def, "onEntry", XFA_AttributeEnum::OnEntry)},
+    {INFO(0x6195eafb, "Cyrillic", XFA_AttributeEnum::Cyrillic)},
+    {INFO(0x6491b0f3, "nonBlank", XFA_AttributeEnum::NonBlank)},
+    {INFO(0x67bef031, "topRight", XFA_AttributeEnum::TopRight)},
+    {INFO(0x67df5ebd, "Hebrew", XFA_AttributeEnum::Hebrew)},
+    {INFO(0x6aea98be, "topLeft", XFA_AttributeEnum::TopLeft)},
+    {INFO(0x6c51afc1, "center", XFA_AttributeEnum::Center)},
+    {INFO(0x7145e6bf, "moveFirst", XFA_AttributeEnum::MoveFirst)},
+    {INFO(0x7375465c, "diamond", XFA_AttributeEnum::Diamond)},
+    {INFO(0x7461aef4, "pageOdd", XFA_AttributeEnum::PageOdd)},
+    {INFO(0x75f8aeb2, "1mod10", XFA_AttributeEnum::Checksum_1mod10)},
+    {INFO(0x76d708e0, "Korean", XFA_AttributeEnum::Korean)},
+    {INFO(0x789f14d7, "aboveEmbedded", XFA_AttributeEnum::AboveEmbedded)},
+    {INFO(0x792ea39f, "zipCompress", XFA_AttributeEnum::ZipCompress)},
+    {INFO(0x7a5b7193, "numeric", XFA_AttributeEnum::Numeric)},
+    {INFO(0x7abec0d2, "circle", XFA_AttributeEnum::Circle)},
+    {INFO(0x7afbba38, "toBottom", XFA_AttributeEnum::ToBottom)},
+    {INFO(0x7b95e661, "inverted", XFA_AttributeEnum::Inverted)},
+    {INFO(0x7baca2e3, "update", XFA_AttributeEnum::Update)},
+    {INFO(0x7eb5da2c, "isoname", XFA_AttributeEnum::Isoname)},
+    {INFO(0x7f6fd3d7, "server", XFA_AttributeEnum::Server)},
+    {INFO(0x814f82b5, "position", XFA_AttributeEnum::Position)},
+    {INFO(0x82deacf0, "middleCenter", XFA_AttributeEnum::MiddleCenter)},
+    {INFO(0x83a49dc6, "optional", XFA_AttributeEnum::Optional)},
+    {INFO(0x861a116f,
+          "usePrinterSetting",
+          XFA_AttributeEnum::UsePrinterSetting)},
+    {INFO(0x86701ce0, "outline", XFA_AttributeEnum::Outline)},
+    {INFO(0x8808385e, "indexChange", XFA_AttributeEnum::IndexChange)},
+    {INFO(0x891f4606, "change", XFA_AttributeEnum::Change)},
+    {INFO(0x89939f36, "pageArea", XFA_AttributeEnum::PageArea)},
+    {INFO(0x8b5c3b25, "once", XFA_AttributeEnum::Once)},
+    {INFO(0x8b5c6962, "only", XFA_AttributeEnum::Only)},
+    {INFO(0x8b90e1f2, "open", XFA_AttributeEnum::Open)},
+    {INFO(0x8bcfe96e, "caption", XFA_AttributeEnum::Caption)},
+    {INFO(0x8ce83ef8, "raised", XFA_AttributeEnum::Raised)},
+    {INFO(0x8d269cae, "justify", XFA_AttributeEnum::Justify)},
+    {INFO(0x8fd520dc,
+          "refAndDescendants",
+          XFA_AttributeEnum::RefAndDescendants)},
+    {INFO(0x9041d4b0, "short", XFA_AttributeEnum::Short)},
+    {INFO(0x90c94426, "pageFront", XFA_AttributeEnum::PageFront)},
+    {INFO(0x936beee5, "monospace", XFA_AttributeEnum::Monospace)},
+    {INFO(0x947fa00f, "middle", XFA_AttributeEnum::Middle)},
+    {INFO(0x9528a7b4, "prePrint", XFA_AttributeEnum::PrePrint)},
+    {INFO(0x959ab231, "always", XFA_AttributeEnum::Always)},
+    {INFO(0x96d61bf0, "unknown", XFA_AttributeEnum::Unknown)},
+    {INFO(0x997194ee, "toLeft", XFA_AttributeEnum::ToLeft)},
+    {INFO(0x9a83a3cd, "above", XFA_AttributeEnum::Above)},
+    {INFO(0x9d0d71c7, "dashDot", XFA_AttributeEnum::DashDot)},
+    {INFO(0x9df56f3e, "gregorian", XFA_AttributeEnum::Gregorian)},
+    {INFO(0x9f6723fd, "Roman", XFA_AttributeEnum::Roman)},
+    {INFO(0x9f693b21, "mouseDown", XFA_AttributeEnum::MouseDown)},
+    {INFO(0xa1429b36, "symbol", XFA_AttributeEnum::Symbol)},
+    {INFO(0xa5aa45cb, "pageEven", XFA_AttributeEnum::PageEven)},
+    {INFO(0xa68635f1, "sign", XFA_AttributeEnum::Sign)},
+    {INFO(0xa7315093, "addNew", XFA_AttributeEnum::AddNew)},
+    {INFO(0xa7a773fa, "star", XFA_AttributeEnum::Star)},
+    {INFO(0xa7d57b45, "optimistic", XFA_AttributeEnum::Optimistic)},
+    {INFO(0xa8077321, "rl-tb", XFA_AttributeEnum::Rl_tb)},
+    {INFO(0xa8f1468d, "middleRight", XFA_AttributeEnum::MiddleRight)},
+    {INFO(0xaa84a1f1, "maintain", XFA_AttributeEnum::Maintain)},
+    {INFO(0xab40b12c, "package", XFA_AttributeEnum::Package)},
+    {INFO(0xac8b4d85,
+          "SimplifiedChinese",
+          XFA_AttributeEnum::SimplifiedChinese)},
+    {INFO(0xadae6744, "toCenter", XFA_AttributeEnum::ToCenter)},
+    {INFO(0xb0129df1, "back", XFA_AttributeEnum::Back)},
+    {INFO(0xb0f088cf, "unspecified", XFA_AttributeEnum::Unspecified)},
+    {INFO(0xb1271067, "batchOptimistic", XFA_AttributeEnum::BatchOptimistic)},
+    {INFO(0xb18313a1, "bold", XFA_AttributeEnum::Bold)},
+    {INFO(0xb1833cad, "both", XFA_AttributeEnum::Both)},
+    {INFO(0xb221123f, "butt", XFA_AttributeEnum::Butt)},
+    {INFO(0xb40c36bf, "client", XFA_AttributeEnum::Client)},
+    {INFO(0xb56c7053, "2mod10", XFA_AttributeEnum::Checksum_2mod10)},
+    {INFO(0xb683a345, "imageOnly", XFA_AttributeEnum::ImageOnly)},
+    {INFO(0xb7732dea, "horizontal", XFA_AttributeEnum::Horizontal)},
+    {INFO(0xb88652a4, "dotted", XFA_AttributeEnum::Dotted)},
+    {INFO(0xbb2f2880, "userControl", XFA_AttributeEnum::UserControl)},
+    {INFO(0xbbb79c5d, "diagonalRight", XFA_AttributeEnum::DiagonalRight)},
+    {INFO(0xbd077154, "consumeData", XFA_AttributeEnum::ConsumeData)},
+    {INFO(0xbd3fb11e, "check", XFA_AttributeEnum::Check)},
+    {INFO(0xbde9abda, "data", XFA_AttributeEnum::Data)},
+    {INFO(0xbf5a02d8, "down", XFA_AttributeEnum::Down)},
+    {INFO(0xbf7450ee, "sansSerif", XFA_AttributeEnum::SansSerif)},
+    {INFO(0xc02d649f, "inline", XFA_AttributeEnum::Inline)},
+    {INFO(0xc11a9e3a,
+          "TraditionalChinese",
+          XFA_AttributeEnum::TraditionalChinese)},
+    {INFO(0xc16169d8, "warn", XFA_AttributeEnum::Warn)},
+    {INFO(0xc16f071f, "refOnly", XFA_AttributeEnum::RefOnly)},
+    {INFO(0xc27c8ba5, "interactiveForms", XFA_AttributeEnum::InteractiveForms)},
+    {INFO(0xc2d1b15c, "word", XFA_AttributeEnum::Word)},
+    {INFO(0xc3621288, "unordered", XFA_AttributeEnum::Unordered)},
+    {INFO(0xc5251981, "required", XFA_AttributeEnum::Required)},
+    {INFO(0xc7088e7d, "importOnly", XFA_AttributeEnum::ImportOnly)},
+    {INFO(0xc72cf0e3, "belowEmbedded", XFA_AttributeEnum::BelowEmbedded)},
+    {INFO(0xc819cf07, "Japanese", XFA_AttributeEnum::Japanese)},
+    {INFO(0xcdce56b3, "full", XFA_AttributeEnum::Full)},
+    {INFO(0xce0122e3, "rl-row", XFA_AttributeEnum::Rl_row)},
+    {INFO(0xcf7d71f1, "Vietnamese", XFA_AttributeEnum::Vietnamese)},
+    {INFO(0xcfde3e09,
+          "EastEuropeanRoman",
+          XFA_AttributeEnum::EastEuropeanRoman)},
+    {INFO(0xd576d08e, "mouseUp", XFA_AttributeEnum::MouseUp)},
+    {INFO(0xd7a92904, "exportOnly", XFA_AttributeEnum::ExportOnly)},
+    {INFO(0xd8ed1467, "clear", XFA_AttributeEnum::Clear)},
+    {INFO(0xd95657a6, "click", XFA_AttributeEnum::Click)},
+    {INFO(0xd96c7de5, "base64", XFA_AttributeEnum::Base64)},
+    {INFO(0xd9f47f36, "close", XFA_AttributeEnum::Close)},
+    {INFO(0xdb075bde, "host", XFA_AttributeEnum::Host)},
+    {INFO(0xdb103411, "global", XFA_AttributeEnum::Global)},
+    {INFO(0xdb647188, "blank", XFA_AttributeEnum::Blank)},
+    {INFO(0xdb9be968, "table", XFA_AttributeEnum::Table)},
+    {INFO(0xdf590fbb, "import", XFA_AttributeEnum::Import)},
+    {INFO(0xe0e573fb, "custom", XFA_AttributeEnum::Custom)},
+    {INFO(0xe0ecc79a, "middleLeft", XFA_AttributeEnum::MiddleLeft)},
+    {INFO(0xe1452019, "postExecute", XFA_AttributeEnum::PostExecute)},
+    {INFO(0xe1911d98, "radix", XFA_AttributeEnum::Radix)},
+    {INFO(0xe25fa7b8, "postOpen", XFA_AttributeEnum::PostOpen)},
+    {INFO(0xe28dce7e, "enter", XFA_AttributeEnum::Enter)},
+    {INFO(0xe2c44de4, "ignore", XFA_AttributeEnum::Ignore)},
+    {INFO(0xe2cd8c61, "lr-tb", XFA_AttributeEnum::Lr_tb)},
+    {INFO(0xe2da8336, "fantasy", XFA_AttributeEnum::Fantasy)},
+    {INFO(0xe31d5396, "italic", XFA_AttributeEnum::Italic)},
+    {INFO(0xe7ada113, "author", XFA_AttributeEnum::Author)},
+    {INFO(0xe8e7cc18, "toEdge", XFA_AttributeEnum::ToEdge)},
+    {INFO(0xe97aa98b, "choice", XFA_AttributeEnum::Choice)},
+    {INFO(0xeafd2a38, "disabled", XFA_AttributeEnum::Disabled)},
+    {INFO(0xeb2b7972, "crossHatch", XFA_AttributeEnum::CrossHatch)},
+    {INFO(0xeb2db2d7, "dataRef", XFA_AttributeEnum::DataRef)},
+    {INFO(0xec35dc6e, "dashDotDot", XFA_AttributeEnum::DashDotDot)},
+    {INFO(0xef85d351, "square", XFA_AttributeEnum::Square)},
+    {INFO(0xf2102445, "dynamic", XFA_AttributeEnum::Dynamic)},
+    {INFO(0xf272c7be, "manual", XFA_AttributeEnum::Manual)},
+    {INFO(0xf2bbb64d, "etched", XFA_AttributeEnum::Etched)},
+    {INFO(0xf3b8fc6c, "validationState", XFA_AttributeEnum::ValidationState)},
+    {INFO(0xf42f2b81, "cursive", XFA_AttributeEnum::Cursive)},
+    {INFO(0xf54481d4, "last", XFA_AttributeEnum::Last)},
+    {INFO(0xf5ad782b, "left", XFA_AttributeEnum::Left)},
+    {INFO(0xf616da2e, "link", XFA_AttributeEnum::Link)},
+    {INFO(0xf6b4afb0, "long", XFA_AttributeEnum::Long)},
+    {INFO(0xf8636460,
+          "internationalCarrier",
+          XFA_AttributeEnum::InternationalCarrier)},
+    {INFO(0xf9fb37ac, "PDF1.3", XFA_AttributeEnum::PDF1_3)},
+    {INFO(0xf9fb37af, "PDF1.6", XFA_AttributeEnum::PDF1_6)},
+    {INFO(0xfbce7f19, "serif", XFA_AttributeEnum::Serif)},
+    {INFO(0xfc82d695, "postSave", XFA_AttributeEnum::PostSave)},
+    {INFO(0xfcef86b5, "ready", XFA_AttributeEnum::Ready)},
+    {INFO(0xfd54fbb7, "postSign", XFA_AttributeEnum::PostSign)},
+    {INFO(0xfdc0aae2, "Arabic", XFA_AttributeEnum::Arabic)},
+    {INFO(0xfe06d2ca, "error", XFA_AttributeEnum::Error)},
+    {INFO(0xfefc4885, "urlencoded", XFA_AttributeEnum::Urlencoded)},
+    {INFO(0xff795ad2, "lowered", XFA_AttributeEnum::Lowered)},
 };
+#undef INFO
+
 const size_t g_szXFAEnumCount = FX_ArraySize(g_XFAEnumData);