Replace FPDFTEXT_CHAR_* #defines with enum CPDF_TextPage::CharType.

Also rename variables that store FPDFTEXT_CHAR_*, which are named
"m_Flag" to "m_CharType".

Change-Id: I9bd412a316233378cc8421289a72e71f843597ac
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/65453
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdftext/cpdf_linkextract.cpp b/core/fpdftext/cpdf_linkextract.cpp
index 84bb415..b3be585 100644
--- a/core/fpdftext/cpdf_linkextract.cpp
+++ b/core/fpdftext/cpdf_linkextract.cpp
@@ -120,11 +120,12 @@
   const WideString page_text = m_pTextPage->GetAllPageText();
   while (pos < nTotalChar) {
     const CPDF_TextPage::CharInfo& char_info = m_pTextPage->GetCharInfo(pos);
-    if (char_info.m_Flag != FPDFTEXT_CHAR_GENERATED &&
+    if (char_info.m_CharType != CPDF_TextPage::CharType::kGenerated &&
         char_info.m_Unicode != TEXT_SPACE_CHAR && pos != nTotalChar - 1) {
-      bAfterHyphen = (char_info.m_Flag == FPDFTEXT_CHAR_HYPHEN ||
-                      (char_info.m_Flag == FPDFTEXT_CHAR_NORMAL &&
-                       char_info.m_Unicode == TEXT_HYPHEN_CHAR));
+      bAfterHyphen =
+          (char_info.m_CharType == CPDF_TextPage::CharType::kHyphen ||
+           (char_info.m_CharType == CPDF_TextPage::CharType::kNormal &&
+            char_info.m_Unicode == TEXT_HYPHEN_CHAR));
       ++pos;
       continue;
     }
diff --git a/core/fpdftext/cpdf_textpage.cpp b/core/fpdftext/cpdf_textpage.cpp
index 39807b2..37de028 100644
--- a/core/fpdftext/cpdf_textpage.cpp
+++ b/core/fpdftext/cpdf_textpage.cpp
@@ -122,7 +122,7 @@
     case 0x97:
     case 0x98:
     case 0xfffe:
-      return char_info.m_Flag != FPDFTEXT_CHAR_HYPHEN;
+      return char_info.m_CharType != CPDF_TextPage::CharType::kHyphen;
     default:
       return false;
   }
@@ -257,7 +257,7 @@
 
   for (int i = 0; i < nCount; ++i) {
     const CharInfo& charinfo = m_CharList[i];
-    if (charinfo.m_Flag == FPDFTEXT_CHAR_GENERATED ||
+    if (charinfo.m_CharType == CPDF_TextPage::CharType::kGenerated ||
         (charinfo.m_Unicode != 0 && !IsControlChar(charinfo)) ||
         (charinfo.m_Unicode == 0 && charinfo.m_CharCode != 0)) {
       if (m_CharIndices.size() % 2) {
@@ -327,7 +327,7 @@
   bool bFlagNewRect = true;
   while (nCount--) {
     const CharInfo& info_curchar = m_CharList[curPos++];
-    if (info_curchar.m_Flag == FPDFTEXT_CHAR_GENERATED)
+    if (info_curchar.m_CharType == CPDF_TextPage::CharType::kGenerated)
       continue;
     if (info_curchar.m_CharBox.Width() < kSizeEpsilon ||
         info_curchar.m_CharBox.Height() < kSizeEpsilon) {
@@ -640,7 +640,7 @@
   Unicode_GetNormalization(wChar, pDst.get());
   for (size_t nIndex = 0; nIndex < nCount; ++nIndex) {
     info2.m_Unicode = pDst.get()[nIndex];
-    info2.m_Flag = FPDFTEXT_CHAR_PIECE;
+    info2.m_CharType = CPDF_TextPage::CharType::kPiece;
     m_TextBuf.AppendChar(info2.m_Unicode);
     m_CharList.push_back(info2);
   }
@@ -669,7 +669,7 @@
   Unicode_GetNormalization(wChar, pDst.get());
   for (size_t nIndex = 0; nIndex < nCount; ++nIndex) {
     info2.m_Unicode = pDst.get()[nIndex];
-    info2.m_Flag = FPDFTEXT_CHAR_PIECE;
+    info2.m_CharType = CPDF_TextPage::CharType::kPiece;
     m_TextBuf.AppendChar(info2.m_Unicode);
     m_CharList.push_back(info2);
   }
@@ -874,7 +874,7 @@
     charinfo.m_Index = m_TextBuf.GetLength();
     charinfo.m_Unicode = wChar;
     charinfo.m_CharCode = pFont->CharCodeFromUnicode(wChar);
-    charinfo.m_Flag = FPDFTEXT_CHAR_PIECE;
+    charinfo.m_CharType = CPDF_TextPage::CharType::kPiece;
     charinfo.m_pTextObj = pTextObj;
     charinfo.m_CharBox = pTextObj->GetRect();
     charinfo.m_Matrix = matrix;
@@ -970,7 +970,7 @@
         CharInfo* charinfo = &m_TempCharList.back();
         m_TempTextBuf.Delete(m_TempTextBuf.GetLength() - 1, 1);
         charinfo->m_Unicode = 0x2;
-        charinfo->m_Flag = FPDFTEXT_CHAR_HYPHEN;
+        charinfo->m_CharType = CPDF_TextPage::CharType::kHyphen;
         m_TempTextBuf.AppendChar(0xfffe);
         break;
     }
@@ -1035,7 +1035,7 @@
       }
       if (threshold && (spacing && spacing >= threshold)) {
         charinfo.m_Unicode = TEXT_SPACE_CHAR;
-        charinfo.m_Flag = FPDFTEXT_CHAR_GENERATED;
+        charinfo.m_CharType = CPDF_TextPage::CharType::kGenerated;
         charinfo.m_pTextObj = pTextObj;
         charinfo.m_Index = m_TextBuf.GetLength();
         m_TempTextBuf.AppendChar(TEXT_SPACE_CHAR);
@@ -1059,8 +1059,8 @@
     }
     charinfo.m_Index = -1;
     charinfo.m_CharCode = item.m_CharCode;
-    charinfo.m_Flag =
-        bNoUnicode ? FPDFTEXT_CHAR_UNUNICODE : FPDFTEXT_CHAR_NORMAL;
+    charinfo.m_CharType = bNoUnicode ? CPDF_TextPage::CharType::kNotUnicode
+                                     : CPDF_TextPage::CharType::kNormal;
     charinfo.m_pTextObj = pTextObj;
     charinfo.m_Origin = matrix.Transform(item.m_Origin);
 
@@ -1180,7 +1180,8 @@
   }
 
   const CharInfo* pPrevCharInfo = GetPrevCharInfo();
-  return pPrevCharInfo && pPrevCharInfo->m_Flag == FPDFTEXT_CHAR_PIECE &&
+  return pPrevCharInfo &&
+         pPrevCharInfo->m_CharType == CPDF_TextPage::CharType::kPiece &&
          IsHyphenCode(pPrevCharInfo->m_Unicode);
 }
 
@@ -1394,7 +1395,7 @@
   info.m_Index = m_TextBuf.GetLength();
   info.m_CharCode = CPDF_Font::kInvalidCharCode;
   info.m_Unicode = unicode;
-  info.m_Flag = FPDFTEXT_CHAR_GENERATED;
+  info.m_CharType = CPDF_TextPage::CharType::kGenerated;
 
   int preWidth = 0;
   if (pPrevCharInfo->m_pTextObj &&
diff --git a/core/fpdftext/cpdf_textpage.h b/core/fpdftext/cpdf_textpage.h
index ad12976..3ea1380 100644
--- a/core/fpdftext/cpdf_textpage.h
+++ b/core/fpdftext/cpdf_textpage.h
@@ -23,12 +23,6 @@
 class CPDF_Page;
 class CPDF_TextObject;
 
-#define FPDFTEXT_CHAR_NORMAL 0
-#define FPDFTEXT_CHAR_GENERATED 1
-#define FPDFTEXT_CHAR_UNUNICODE 2
-#define FPDFTEXT_CHAR_HYPHEN 3
-#define FPDFTEXT_CHAR_PIECE 4
-
 #define TEXT_SPACE_CHAR L' '
 #define TEXT_LINEFEED_CHAR L'\n'
 #define TEXT_RETURN_CHAR L'\r'
@@ -47,6 +41,14 @@
 
 class CPDF_TextPage {
  public:
+  enum class CharType : uint8_t {
+    kNormal,
+    kGenerated,
+    kNotUnicode,
+    kHyphen,
+    kPiece,
+  };
+
   class CharInfo {
    public:
     CharInfo();
@@ -56,7 +58,7 @@
     int m_Index = 0;
     uint32_t m_CharCode = 0;
     wchar_t m_Unicode = 0;
-    int32_t m_Flag = 0;
+    CharType m_CharType = CharType::kNormal;
     CFX_PointF m_Origin;
     CFX_FloatRect m_CharBox;
     UnownedPtr<CPDF_TextObject> m_pTextObj;