diff --git a/core/fpdfapi/font/cpdf_cmap.cpp b/core/fpdfapi/font/cpdf_cmap.cpp
index d5fa61b..a38eab4 100644
--- a/core/fpdfapi/font/cpdf_cmap.cpp
+++ b/core/fpdfapi/font/cpdf_cmap.cpp
@@ -515,3 +515,12 @@
 void CPDF_CMap::SetMixedFourByteLeadingRanges(std::vector<CodeRange> ranges) {
   m_MixedFourByteLeadingRanges = std::move(ranges);
 }
+
+void CPDF_CMap::SetDirectCharcodeToCIDTableRange(uint32_t start_code,
+                                                 uint32_t end_code,
+                                                 uint16_t start_cid) {
+  pdfium::span<uint16_t> span = m_DirectCharcodeToCIDTable.writable_span();
+  for (uint32_t code = start_code; code <= end_code; ++code) {
+    span[code] = static_cast<uint16_t>(start_cid + code - start_code);
+  }
+}
diff --git a/core/fpdfapi/font/cpdf_cmap.h b/core/fpdfapi/font/cpdf_cmap.h
index 416010a..5469979 100644
--- a/core/fpdfapi/font/cpdf_cmap.h
+++ b/core/fpdfapi/font/cpdf_cmap.h
@@ -77,9 +77,9 @@
   CIDSet GetCharset() const { return m_Charset; }
   void SetCharset(CIDSet set) { m_Charset = set; }
 
-  void SetDirectCharcodeToCIDTable(size_t idx, uint16_t val) {
-    m_DirectCharcodeToCIDTable.writable_span()[idx] = val;
-  }
+  void SetDirectCharcodeToCIDTableRange(uint32_t start_code,
+                                        uint32_t end_code,
+                                        uint16_t start_cid);
   bool IsDirectCharcodeToCIDTableIsEmpty() const {
     return m_DirectCharcodeToCIDTable.empty();
   }
diff --git a/core/fpdfapi/font/cpdf_cmapparser.cpp b/core/fpdfapi/font/cpdf_cmapparser.cpp
index 87a5907..465b6fc 100644
--- a/core/fpdfapi/font/cpdf_cmapparser.cpp
+++ b/core/fpdfapi/font/cpdf_cmapparser.cpp
@@ -100,10 +100,7 @@
     StartCID = static_cast<uint16_t>(m_CodePoints[2]);
   }
   if (EndCode < CPDF_CMap::kDirectMapTableSize) {
-    for (uint32_t code = StartCode; code <= EndCode; code++) {
-      m_pCMap->SetDirectCharcodeToCIDTable(
-          code, static_cast<uint16_t>(StartCID + code - StartCode));
-    }
+    m_pCMap->SetDirectCharcodeToCIDTableRange(StartCode, EndCode, StartCID);
   } else {
     m_AdditionalCharcodeToCIDMappings.push_back({StartCode, EndCode, StartCID});
   }
