diff --git a/core/fpdfapi/cmaps/CNS1/cmaps_cns1.cpp b/core/fpdfapi/cmaps/CNS1/cmaps_cns1.cpp
index 53038f6..18a1970 100644
--- a/core/fpdfapi/cmaps/CNS1/cmaps_cns1.cpp
+++ b/core/fpdfapi/cmaps/CNS1/cmaps_cns1.cpp
@@ -11,20 +11,25 @@
 namespace fxcmap {
 
 const CMap kCNS1_cmaps[] = {
-    {"B5pc-H", kB5pc_H_0, nullptr, 247, 0, CMap::Range, 0},
-    {"B5pc-V", kB5pc_V_0, nullptr, 12, 0, CMap::Range, -1},
-    {"HKscs-B5-H", kHKscs_B5_H_5, nullptr, 1210, 0, CMap::Range, 0},
-    {"HKscs-B5-V", kHKscs_B5_V_5, nullptr, 13, 0, CMap::Range, -1},
-    {"ETen-B5-H", kETen_B5_H_0, nullptr, 254, 0, CMap::Range, 0},
-    {"ETen-B5-V", kETen_B5_V_0, nullptr, 13, 0, CMap::Range, -1},
-    {"ETenms-B5-H", kETenms_B5_H_0, nullptr, 1, 0, CMap::Range, -2},
-    {"ETenms-B5-V", kETenms_B5_V_0, nullptr, 18, 0, CMap::Range, -1},
-    {"CNS-EUC-H", kCNS_EUC_H_0, kCNS_EUC_H_0_DWord, 157, 238, CMap::Range, 0},
-    {"CNS-EUC-V", kCNS_EUC_V_0, kCNS_EUC_V_0_DWord, 180, 261, CMap::Range, 0},
-    {"UniCNS-UCS2-H", kUniCNS_UCS2_H_3, nullptr, 16418, 0, CMap::Range, 0},
-    {"UniCNS-UCS2-V", kUniCNS_UCS2_V_3, nullptr, 13, 0, CMap::Range, -1},
-    {"UniCNS-UTF16-H", kUniCNS_UTF16_H_0, nullptr, 14557, 0, CMap::Single, 0},
-    {"UniCNS-UTF16-V", kUniCNS_UCS2_V_3, nullptr, 13, 0, CMap::Range, -1},
+    {"B5pc-H", kB5pc_H_0, nullptr, 247, 0, CMap::Type::kRange, 0},
+    {"B5pc-V", kB5pc_V_0, nullptr, 12, 0, CMap::Type::kRange, -1},
+    {"HKscs-B5-H", kHKscs_B5_H_5, nullptr, 1210, 0, CMap::Type::kRange, 0},
+    {"HKscs-B5-V", kHKscs_B5_V_5, nullptr, 13, 0, CMap::Type::kRange, -1},
+    {"ETen-B5-H", kETen_B5_H_0, nullptr, 254, 0, CMap::Type::kRange, 0},
+    {"ETen-B5-V", kETen_B5_V_0, nullptr, 13, 0, CMap::Type::kRange, -1},
+    {"ETenms-B5-H", kETenms_B5_H_0, nullptr, 1, 0, CMap::Type::kRange, -2},
+    {"ETenms-B5-V", kETenms_B5_V_0, nullptr, 18, 0, CMap::Type::kRange, -1},
+    {"CNS-EUC-H", kCNS_EUC_H_0, kCNS_EUC_H_0_DWord, 157, 238,
+     CMap::Type::kRange, 0},
+    {"CNS-EUC-V", kCNS_EUC_V_0, kCNS_EUC_V_0_DWord, 180, 261,
+     CMap::Type::kRange, 0},
+    {"UniCNS-UCS2-H", kUniCNS_UCS2_H_3, nullptr, 16418, 0, CMap::Type::kRange,
+     0},
+    {"UniCNS-UCS2-V", kUniCNS_UCS2_V_3, nullptr, 13, 0, CMap::Type::kRange, -1},
+    {"UniCNS-UTF16-H", kUniCNS_UTF16_H_0, nullptr, 14557, 0,
+     CMap::Type::kSingle, 0},
+    {"UniCNS-UTF16-V", kUniCNS_UCS2_V_3, nullptr, 13, 0, CMap::Type::kRange,
+     -1},
 };
 
 const size_t kCNS1_cmaps_size = std::size(kCNS1_cmaps);
diff --git a/core/fpdfapi/cmaps/GB1/cmaps_gb1.cpp b/core/fpdfapi/cmaps/GB1/cmaps_gb1.cpp
index 03ef2d7..facf123 100644
--- a/core/fpdfapi/cmaps/GB1/cmaps_gb1.cpp
+++ b/core/fpdfapi/cmaps/GB1/cmaps_gb1.cpp
@@ -11,20 +11,22 @@
 namespace fxcmap {
 
 const CMap kGB1_cmaps[] = {
-    {"GB-EUC-H", kGB_EUC_H_0, nullptr, 90, 0, CMap::Range, 0},
-    {"GB-EUC-V", kGB_EUC_V_0, nullptr, 20, 0, CMap::Range, -1},
-    {"GBpc-EUC-H", kGBpc_EUC_H_0, nullptr, 91, 0, CMap::Range, 0},
-    {"GBpc-EUC-V", kGBpc_EUC_V_0, nullptr, 20, 0, CMap::Range, -1},
-    {"GBK-EUC-H", kGBK_EUC_H_2, nullptr, 4071, 0, CMap::Range, 0},
-    {"GBK-EUC-V", kGBK_EUC_V_2, nullptr, 20, 0, CMap::Range, -1},
-    {"GBKp-EUC-H", kGBKp_EUC_H_2, nullptr, 4070, 0, CMap::Range, -2},
-    {"GBKp-EUC-V", kGBKp_EUC_V_2, nullptr, 20, 0, CMap::Range, -1},
-    {"GBK2K-H", kGBK2K_H_5, kGBK2K_H_5_DWord, 4071, 1017, CMap::Range, -4},
-    {"GBK2K-V", kGBK2K_V_5, nullptr, 41, 0, CMap::Range, -1},
-    {"UniGB-UCS2-H", kUniGB_UCS2_H_4, nullptr, 13825, 0, CMap::Range, 0},
-    {"UniGB-UCS2-V", kUniGB_UCS2_V_4, nullptr, 24, 0, CMap::Range, -1},
-    {"UniGB-UTF16-H", kUniGB_UCS2_H_4, nullptr, 13825, 0, CMap::Range, 0},
-    {"UniGB-UTF16-V", kUniGB_UCS2_V_4, nullptr, 24, 0, CMap::Range, -1},
+    {"GB-EUC-H", kGB_EUC_H_0, nullptr, 90, 0, CMap::Type::kRange, 0},
+    {"GB-EUC-V", kGB_EUC_V_0, nullptr, 20, 0, CMap::Type::kRange, -1},
+    {"GBpc-EUC-H", kGBpc_EUC_H_0, nullptr, 91, 0, CMap::Type::kRange, 0},
+    {"GBpc-EUC-V", kGBpc_EUC_V_0, nullptr, 20, 0, CMap::Type::kRange, -1},
+    {"GBK-EUC-H", kGBK_EUC_H_2, nullptr, 4071, 0, CMap::Type::kRange, 0},
+    {"GBK-EUC-V", kGBK_EUC_V_2, nullptr, 20, 0, CMap::Type::kRange, -1},
+    {"GBKp-EUC-H", kGBKp_EUC_H_2, nullptr, 4070, 0, CMap::Type::kRange, -2},
+    {"GBKp-EUC-V", kGBKp_EUC_V_2, nullptr, 20, 0, CMap::Type::kRange, -1},
+    {"GBK2K-H", kGBK2K_H_5, kGBK2K_H_5_DWord, 4071, 1017, CMap::Type::kRange,
+     -4},
+    {"GBK2K-V", kGBK2K_V_5, nullptr, 41, 0, CMap::Type::kRange, -1},
+    {"UniGB-UCS2-H", kUniGB_UCS2_H_4, nullptr, 13825, 0, CMap::Type::kRange, 0},
+    {"UniGB-UCS2-V", kUniGB_UCS2_V_4, nullptr, 24, 0, CMap::Type::kRange, -1},
+    {"UniGB-UTF16-H", kUniGB_UCS2_H_4, nullptr, 13825, 0, CMap::Type::kRange,
+     0},
+    {"UniGB-UTF16-V", kUniGB_UCS2_V_4, nullptr, 24, 0, CMap::Type::kRange, -1},
 };
 
 const size_t kGB1_cmaps_size = std::size(kGB1_cmaps);
diff --git a/core/fpdfapi/cmaps/Japan1/cmaps_japan1.cpp b/core/fpdfapi/cmaps/Japan1/cmaps_japan1.cpp
index 8d48f27..9475854 100644
--- a/core/fpdfapi/cmaps/Japan1/cmaps_japan1.cpp
+++ b/core/fpdfapi/cmaps/Japan1/cmaps_japan1.cpp
@@ -11,26 +11,32 @@
 namespace fxcmap {
 
 const CMap kJapan1_cmaps[] = {
-    {"83pv-RKSJ-H", k83pv_RKSJ_H_1, nullptr, 222, 0, CMap::Range, 0},
-    {"90ms-RKSJ-H", k90ms_RKSJ_H_2, nullptr, 171, 0, CMap::Range, 0},
-    {"90ms-RKSJ-V", k90ms_RKSJ_V_2, nullptr, 78, 0, CMap::Range, -1},
-    {"90msp-RKSJ-H", k90msp_RKSJ_H_2, nullptr, 170, 0, CMap::Range, -2},
-    {"90msp-RKSJ-V", k90msp_RKSJ_V_2, nullptr, 78, 0, CMap::Range, -1},
-    {"90pv-RKSJ-H", k90pv_RKSJ_H_1, nullptr, 263, 0, CMap::Range, 0},
-    {"Add-RKSJ-H", kAdd_RKSJ_H_1, nullptr, 635, 0, CMap::Range, 0},
-    {"Add-RKSJ-V", kAdd_RKSJ_V_1, nullptr, 57, 0, CMap::Range, -1},
-    {"EUC-H", kEUC_H_1, nullptr, 120, 0, CMap::Range, 0},
-    {"EUC-V", kEUC_V_1, nullptr, 27, 0, CMap::Range, -1},
-    {"Ext-RKSJ-H", kExt_RKSJ_H_2, nullptr, 665, 0, CMap::Range, -4},
-    {"Ext-RKSJ-V", kExt_RKSJ_V_2, nullptr, 39, 0, CMap::Range, -1},
-    {"H", kH_1, nullptr, 118, 0, CMap::Range, 0},
-    {"V", kV_1, nullptr, 27, 0, CMap::Range, -1},
-    {"UniJIS-UCS2-H", kUniJIS_UCS2_H_4, nullptr, 9772, 0, CMap::Single, 0},
-    {"UniJIS-UCS2-V", kUniJIS_UCS2_V_4, nullptr, 251, 0, CMap::Single, -1},
-    {"UniJIS-UCS2-HW-H", kUniJIS_UCS2_HW_H_4, nullptr, 4, 0, CMap::Range, -2},
-    {"UniJIS-UCS2-HW-V", kUniJIS_UCS2_HW_V_4, nullptr, 199, 0, CMap::Range, -1},
-    {"UniJIS-UTF16-H", kUniJIS_UCS2_H_4, nullptr, 9772, 0, CMap::Single, 0},
-    {"UniJIS-UTF16-V", kUniJIS_UCS2_V_4, nullptr, 251, 0, CMap::Single, -1},
+    {"83pv-RKSJ-H", k83pv_RKSJ_H_1, nullptr, 222, 0, CMap::Type::kRange, 0},
+    {"90ms-RKSJ-H", k90ms_RKSJ_H_2, nullptr, 171, 0, CMap::Type::kRange, 0},
+    {"90ms-RKSJ-V", k90ms_RKSJ_V_2, nullptr, 78, 0, CMap::Type::kRange, -1},
+    {"90msp-RKSJ-H", k90msp_RKSJ_H_2, nullptr, 170, 0, CMap::Type::kRange, -2},
+    {"90msp-RKSJ-V", k90msp_RKSJ_V_2, nullptr, 78, 0, CMap::Type::kRange, -1},
+    {"90pv-RKSJ-H", k90pv_RKSJ_H_1, nullptr, 263, 0, CMap::Type::kRange, 0},
+    {"Add-RKSJ-H", kAdd_RKSJ_H_1, nullptr, 635, 0, CMap::Type::kRange, 0},
+    {"Add-RKSJ-V", kAdd_RKSJ_V_1, nullptr, 57, 0, CMap::Type::kRange, -1},
+    {"EUC-H", kEUC_H_1, nullptr, 120, 0, CMap::Type::kRange, 0},
+    {"EUC-V", kEUC_V_1, nullptr, 27, 0, CMap::Type::kRange, -1},
+    {"Ext-RKSJ-H", kExt_RKSJ_H_2, nullptr, 665, 0, CMap::Type::kRange, -4},
+    {"Ext-RKSJ-V", kExt_RKSJ_V_2, nullptr, 39, 0, CMap::Type::kRange, -1},
+    {"H", kH_1, nullptr, 118, 0, CMap::Type::kRange, 0},
+    {"V", kV_1, nullptr, 27, 0, CMap::Type::kRange, -1},
+    {"UniJIS-UCS2-H", kUniJIS_UCS2_H_4, nullptr, 9772, 0, CMap::Type::kSingle,
+     0},
+    {"UniJIS-UCS2-V", kUniJIS_UCS2_V_4, nullptr, 251, 0, CMap::Type::kSingle,
+     -1},
+    {"UniJIS-UCS2-HW-H", kUniJIS_UCS2_HW_H_4, nullptr, 4, 0, CMap::Type::kRange,
+     -2},
+    {"UniJIS-UCS2-HW-V", kUniJIS_UCS2_HW_V_4, nullptr, 199, 0,
+     CMap::Type::kRange, -1},
+    {"UniJIS-UTF16-H", kUniJIS_UCS2_H_4, nullptr, 9772, 0, CMap::Type::kSingle,
+     0},
+    {"UniJIS-UTF16-V", kUniJIS_UCS2_V_4, nullptr, 251, 0, CMap::Type::kSingle,
+     -1},
 };
 
 const size_t kJapan1_cmaps_size = std::size(kJapan1_cmaps);
diff --git a/core/fpdfapi/cmaps/Korea1/cmaps_korea1.cpp b/core/fpdfapi/cmaps/Korea1/cmaps_korea1.cpp
index d59c60e..2109e04 100644
--- a/core/fpdfapi/cmaps/Korea1/cmaps_korea1.cpp
+++ b/core/fpdfapi/cmaps/Korea1/cmaps_korea1.cpp
@@ -11,17 +11,20 @@
 namespace fxcmap {
 
 const CMap kKorea1_cmaps[] = {
-    {"KSC-EUC-H", kKSC_EUC_H_0, nullptr, 467, 0, CMap::Range, 0},
-    {"KSC-EUC-V", kKSC_EUC_V_0, nullptr, 16, 0, CMap::Range, -1},
-    {"KSCms-UHC-H", kKSCms_UHC_H_1, nullptr, 675, 0, CMap::Range, -2},
-    {"KSCms-UHC-V", kKSCms_UHC_V_1, nullptr, 16, 0, CMap::Range, -1},
-    {"KSCms-UHC-HW-H", kKSCms_UHC_HW_H_1, nullptr, 675, 0, CMap::Range, 0},
-    {"KSCms-UHC-HW-V", kKSCms_UHC_HW_V_1, nullptr, 16, 0, CMap::Range, -1},
-    {"KSCpc-EUC-H", kKSCpc_EUC_H_0, nullptr, 509, 0, CMap::Range, -6},
-    {"UniKS-UCS2-H", kUniKS_UCS2_H_1, nullptr, 8394, 0, CMap::Range, 0},
-    {"UniKS-UCS2-V", kUniKS_UCS2_V_1, nullptr, 18, 0, CMap::Range, -1},
-    {"UniKS-UTF16-H", kUniKS_UTF16_H_0, nullptr, 158, 0, CMap::Single, -2},
-    {"UniKS-UTF16-V", kUniKS_UCS2_V_1, nullptr, 18, 0, CMap::Range, -1},
+    {"KSC-EUC-H", kKSC_EUC_H_0, nullptr, 467, 0, CMap::Type::kRange, 0},
+    {"KSC-EUC-V", kKSC_EUC_V_0, nullptr, 16, 0, CMap::Type::kRange, -1},
+    {"KSCms-UHC-H", kKSCms_UHC_H_1, nullptr, 675, 0, CMap::Type::kRange, -2},
+    {"KSCms-UHC-V", kKSCms_UHC_V_1, nullptr, 16, 0, CMap::Type::kRange, -1},
+    {"KSCms-UHC-HW-H", kKSCms_UHC_HW_H_1, nullptr, 675, 0, CMap::Type::kRange,
+     0},
+    {"KSCms-UHC-HW-V", kKSCms_UHC_HW_V_1, nullptr, 16, 0, CMap::Type::kRange,
+     -1},
+    {"KSCpc-EUC-H", kKSCpc_EUC_H_0, nullptr, 509, 0, CMap::Type::kRange, -6},
+    {"UniKS-UCS2-H", kUniKS_UCS2_H_1, nullptr, 8394, 0, CMap::Type::kRange, 0},
+    {"UniKS-UCS2-V", kUniKS_UCS2_V_1, nullptr, 18, 0, CMap::Type::kRange, -1},
+    {"UniKS-UTF16-H", kUniKS_UTF16_H_0, nullptr, 158, 0, CMap::Type::kSingle,
+     -2},
+    {"UniKS-UTF16-V", kUniKS_UCS2_V_1, nullptr, 18, 0, CMap::Type::kRange, -1},
 };
 
 const size_t kKorea1_cmaps_size = std::size(kKorea1_cmaps);
diff --git a/core/fpdfapi/cmaps/fpdf_cmaps.cpp b/core/fpdfapi/cmaps/fpdf_cmaps.cpp
index e0cb0b5..529106f 100644
--- a/core/fpdfapi/cmaps/fpdf_cmaps.cpp
+++ b/core/fpdfapi/cmaps/fpdf_cmaps.cpp
@@ -60,7 +60,7 @@
 
   while (pMap && pMap->m_pWordMap) {
     switch (pMap->m_WordMapType) {
-      case CMap::Single: {
+      case CMap::Type::kSingle: {
         const auto* begin =
             reinterpret_cast<const SingleCmap*>(pMap->m_pWordMap);
         const auto* end = begin + pMap->m_WordCount;
@@ -72,7 +72,7 @@
           return found->cid;
         break;
       }
-      case CMap::Range: {
+      case CMap::Type::kRange: {
         const auto* begin =
             reinterpret_cast<const RangeCmap*>(pMap->m_pWordMap);
         const auto* end = begin + pMap->m_WordCount;
@@ -104,7 +104,7 @@
   DCHECK(pMap);
   while (pMap) {
     switch (pMap->m_WordMapType) {
-      case CMap::Single: {
+      case CMap::Type::kSingle: {
         const auto* pCur =
             reinterpret_cast<const SingleCmap*>(pMap->m_pWordMap);
         const auto* pEnd = pCur + pMap->m_WordCount;
@@ -115,7 +115,7 @@
         }
         break;
       }
-      case CMap::Range: {
+      case CMap::Type::kRange: {
         const auto* pCur = reinterpret_cast<const RangeCmap*>(pMap->m_pWordMap);
         const auto* pEnd = pCur + pMap->m_WordCount;
         while (pCur < pEnd) {
diff --git a/core/fpdfapi/cmaps/fpdf_cmaps.h b/core/fpdfapi/cmaps/fpdf_cmaps.h
index 0881bd1..a5a052d 100644
--- a/core/fpdfapi/cmaps/fpdf_cmaps.h
+++ b/core/fpdfapi/cmaps/fpdf_cmaps.h
@@ -19,14 +19,14 @@
 };
 
 struct CMap {
-  enum MapType : uint8_t { Single, Range };
+  enum class Type : uint8_t { kSingle, kRange };
 
   const char* m_Name;              // Raw, POD struct.
   const uint16_t* m_pWordMap;      // Raw, POD struct.
   const DWordCIDMap* m_pDWordMap;  // Raw, POD struct.
   uint16_t m_WordCount;
   uint16_t m_DWordCount;
-  MapType m_WordMapType;
+  Type m_WordMapType;
   int8_t m_UseOffset;
 };
 
