Replace PDFFONT_ENCODING_* with enum class FontEncoding.
Remove some more #defines. This once again reveals the type mismatch
https://pdfium-review.googlesource.com/80610 tried to fix.
Bug: pdfium:1085
Change-Id: I75ddb894c2626c1c8ff6167851bd852011b56d65
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/91941
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/font/cpdf_cidfont.cpp b/core/fpdfapi/font/cpdf_cidfont.cpp
index 25a8077..b881ec3 100644
--- a/core/fpdfapi/font/cpdf_cidfont.cpp
+++ b/core/fpdfapi/font/cpdf_cidfont.cpp
@@ -712,13 +712,13 @@
charcode += 31;
bool bMSUnicode = UseTTCharmapMSUnicode(face);
bool bMacRoman = !bMSUnicode && UseTTCharmapMacRoman(face);
- int iBaseEncoding = PDFFONT_ENCODING_STANDARD;
+ FontEncoding base_encoding = FontEncoding::kStandard;
if (bMSUnicode)
- iBaseEncoding = PDFFONT_ENCODING_WINANSI;
+ base_encoding = FontEncoding::kWinAnsi;
else if (bMacRoman)
- iBaseEncoding = PDFFONT_ENCODING_MACROMAN;
+ base_encoding = FontEncoding::kMacRoman;
const char* name =
- GetAdobeCharName(iBaseEncoding, std::vector<ByteString>(), charcode);
+ GetAdobeCharName(base_encoding, std::vector<ByteString>(), charcode);
if (!name)
return charcode ? static_cast<int>(charcode) : -1;
@@ -727,13 +727,13 @@
if (!name_unicode)
return charcode ? static_cast<int>(charcode) : -1;
- if (iBaseEncoding == PDFFONT_ENCODING_STANDARD)
+ if (base_encoding == FontEncoding::kStandard)
return FT_Get_Char_Index(face, name_unicode);
- if (iBaseEncoding == PDFFONT_ENCODING_WINANSI) {
+ if (base_encoding == FontEncoding::kWinAnsi) {
index = FT_Get_Char_Index(face, name_unicode);
} else {
- DCHECK_EQ(iBaseEncoding, PDFFONT_ENCODING_MACROMAN);
+ DCHECK_EQ(base_encoding, FontEncoding::kMacRoman);
uint32_t maccode =
FT_CharCodeFromUnicode(FT_ENCODING_APPLE_ROMAN, name_unicode);
index = maccode ? FT_Get_Char_Index(face, maccode)
diff --git a/core/fpdfapi/font/cpdf_font.cpp b/core/fpdfapi/font/cpdf_font.cpp
index a1c7d55..0260d47 100644
--- a/core/fpdfapi/font/cpdf_font.cpp
+++ b/core/fpdfapi/font/cpdf_font.cpp
@@ -349,7 +349,7 @@
// static
const char* CPDF_Font::GetAdobeCharName(
- int iBaseEncoding,
+ FontEncoding base_encoding,
const std::vector<ByteString>& charnames,
uint32_t charcode) {
if (charcode >= 256)
@@ -359,8 +359,8 @@
return charnames[charcode].c_str();
const char* name = nullptr;
- if (iBaseEncoding)
- name = PDF_CharNameFromPredefinedCharSet(iBaseEncoding, charcode);
+ if (base_encoding != FontEncoding::kBuiltin)
+ name = PDF_CharNameFromPredefinedCharSet(base_encoding, charcode);
if (!name)
return nullptr;
diff --git a/core/fpdfapi/font/cpdf_font.h b/core/fpdfapi/font/cpdf_font.h
index 8e7b694..672ad7e 100644
--- a/core/fpdfapi/font/cpdf_font.h
+++ b/core/fpdfapi/font/cpdf_font.h
@@ -32,6 +32,7 @@
class CPDF_Type3Char;
class CPDF_Type3Font;
class CPDF_ToUnicodeMap;
+enum class FontEncoding;
class CPDF_Font : public Retainable, public Observable {
public:
@@ -146,7 +147,7 @@
int platform_id,
int encoding_id);
- static const char* GetAdobeCharName(int iBaseEncoding,
+ static const char* GetAdobeCharName(FontEncoding base_encoding,
const std::vector<ByteString>& charnames,
uint32_t charcode);
diff --git a/core/fpdfapi/font/cpdf_fontencoding.cpp b/core/fpdfapi/font/cpdf_fontencoding.cpp
index 9c34e3a..4805fcb 100644
--- a/core/fpdfapi/font/cpdf_fontencoding.cpp
+++ b/core/fpdfapi/font/cpdf_fontencoding.cpp
@@ -13,6 +13,7 @@
#include "core/fpdfapi/parser/fpdf_parser_decode.h"
#include "core/fxge/fx_font.h"
#include "core/fxge/fx_freetype.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
#include "third_party/base/cxx17_backports.h"
namespace {
@@ -1661,8 +1662,8 @@
return -1;
}
-CPDF_FontEncoding::CPDF_FontEncoding(int PredefinedEncoding) {
- const uint16_t* pSrc = PDF_UnicodesForPredefinedCharSet(PredefinedEncoding);
+CPDF_FontEncoding::CPDF_FontEncoding(FontEncoding predefined_encoding) {
+ const uint16_t* pSrc = PDF_UnicodesForPredefinedCharSet(predefined_encoding);
if (pSrc) {
for (size_t i = 0; i < pdfium::size(m_Unicodes); i++)
m_Unicodes[i] = pSrc[i];
@@ -1677,9 +1678,14 @@
RetainPtr<CPDF_Object> CPDF_FontEncoding::Realize(
WeakPtr<ByteStringPool> pPool) const {
- int predefined = 0;
- for (int cs = PDFFONT_ENCODING_WINANSI; cs < PDFFONT_ENCODING_ZAPFDINGBATS;
- cs++) {
+ static constexpr FontEncoding kEncodings[] = {
+ FontEncoding::kWinAnsi, FontEncoding::kMacRoman,
+ FontEncoding::kMacExpert, FontEncoding::kStandard,
+ FontEncoding::kAdobeSymbol,
+ };
+
+ absl::optional<FontEncoding> predefined;
+ for (FontEncoding cs : kEncodings) {
const uint16_t* pSrc = PDF_UnicodesForPredefinedCharSet(cs);
bool match = true;
for (size_t i = 0; i < pdfium::size(m_Unicodes); i++) {
@@ -1693,13 +1699,13 @@
break;
}
}
- if (predefined) {
+ if (predefined.has_value()) {
const char* pName;
- if (predefined == PDFFONT_ENCODING_WINANSI)
+ if (predefined.value() == FontEncoding::kWinAnsi)
pName = "WinAnsiEncoding";
- else if (predefined == PDFFONT_ENCODING_MACROMAN)
+ else if (predefined.value() == FontEncoding::kMacRoman)
pName = "MacRomanEncoding";
- else if (predefined == PDFFONT_ENCODING_MACEXPERT)
+ else if (predefined.value() == FontEncoding::kMacExpert)
pName = "MacExpertEncoding";
else
return nullptr;
@@ -1707,7 +1713,7 @@
return pdfium::MakeRetain<CPDF_Name>(pPool, pName);
}
const uint16_t* pStandard =
- PDF_UnicodesForPredefinedCharSet(PDFFONT_ENCODING_WINANSI);
+ PDF_UnicodesForPredefinedCharSet(FontEncoding::kWinAnsi);
auto pDiff = pdfium::MakeRetain<CPDF_Array>();
for (size_t i = 0; i < pdfium::size(m_Unicodes); i++) {
if (pStandard[i] == m_Unicodes[i])
@@ -1742,30 +1748,33 @@
}
return 0;
}
-const uint16_t* PDF_UnicodesForPredefinedCharSet(int encoding) {
+
+const uint16_t* PDF_UnicodesForPredefinedCharSet(FontEncoding encoding) {
switch (encoding) {
- case PDFFONT_ENCODING_WINANSI:
+ case FontEncoding::kBuiltin:
+ return nullptr;
+ case FontEncoding::kWinAnsi:
return kAdobeWinAnsiEncoding;
- case PDFFONT_ENCODING_MACROMAN:
+ case FontEncoding::kMacRoman:
return kMacRomanEncoding;
- case PDFFONT_ENCODING_MACEXPERT:
+ case FontEncoding::kMacExpert:
return kMacExpertEncoding;
- case PDFFONT_ENCODING_STANDARD:
+ case FontEncoding::kStandard:
return kStandardEncoding;
- case PDFFONT_ENCODING_ADOBE_SYMBOL:
+ case FontEncoding::kAdobeSymbol:
return kAdobeSymbolEncoding;
- case PDFFONT_ENCODING_ZAPFDINGBATS:
+ case FontEncoding::kZapfDingbats:
return kZapfEncoding;
- case PDFFONT_ENCODING_PDFDOC:
+ case FontEncoding::kPdfDoc:
return kPDFDocEncoding;
- case PDFFONT_ENCODING_MS_SYMBOL:
+ case FontEncoding::kMsSymbol:
return kMSSymbolEncoding;
}
- return nullptr;
}
-const char* PDF_CharNameFromPredefinedCharSet(int encoding, uint8_t charcode) {
- if (encoding == PDFFONT_ENCODING_PDFDOC) {
+const char* PDF_CharNameFromPredefinedCharSet(FontEncoding encoding,
+ uint8_t charcode) {
+ if (encoding == FontEncoding::kPdfDoc) {
if (charcode < kPDFDocEncodingTableFirstChar)
return nullptr;
@@ -1777,22 +1786,23 @@
charcode -= kEncodingTableFirstChar;
}
switch (encoding) {
- case PDFFONT_ENCODING_WINANSI:
+ case FontEncoding::kWinAnsi:
return kAdobeWinAnsiEncodingNames[charcode];
- case PDFFONT_ENCODING_MACROMAN:
+ case FontEncoding::kMacRoman:
return kMacRomanEncodingNames[charcode];
- case PDFFONT_ENCODING_MACEXPERT:
+ case FontEncoding::kMacExpert:
return kMacExpertEncodingNames[charcode];
- case PDFFONT_ENCODING_STANDARD:
+ case FontEncoding::kStandard:
return kStandardEncodingNames[charcode];
- case PDFFONT_ENCODING_ADOBE_SYMBOL:
+ case FontEncoding::kAdobeSymbol:
return kAdobeSymbolEncodingNames[charcode];
- case PDFFONT_ENCODING_ZAPFDINGBATS:
+ case FontEncoding::kZapfDingbats:
return kZapfEncodingNames[charcode];
- case PDFFONT_ENCODING_PDFDOC:
+ case FontEncoding::kPdfDoc:
return kPDFDocEncodingNames[charcode];
+ default:
+ return nullptr;
}
- return nullptr;
}
wchar_t FT_UnicodeFromCharCode(int encoding, uint32_t charcode) {
@@ -1807,7 +1817,7 @@
return kAdobeWinAnsiEncoding[(uint8_t)charcode];
case FT_ENCODING_APPLE_ROMAN:
return kMacRomanEncoding[(uint8_t)charcode];
- case PDFFONT_ENCODING_PDFDOC:
+ case static_cast<int>(FontEncoding::kPdfDoc):
return kPDFDocEncoding[(uint8_t)charcode];
}
return 0;
diff --git a/core/fpdfapi/font/cpdf_fontencoding.h b/core/fpdfapi/font/cpdf_fontencoding.h
index 41fe6f7..a23096a 100644
--- a/core/fpdfapi/font/cpdf_fontencoding.h
+++ b/core/fpdfapi/font/cpdf_fontencoding.h
@@ -12,21 +12,24 @@
#include "core/fxcrt/string_pool_template.h"
#include "core/fxcrt/weak_ptr.h"
-#define PDFFONT_ENCODING_BUILTIN 0
-#define PDFFONT_ENCODING_WINANSI 1
-#define PDFFONT_ENCODING_MACROMAN 2
-#define PDFFONT_ENCODING_MACEXPERT 3
-#define PDFFONT_ENCODING_STANDARD 4
-#define PDFFONT_ENCODING_ADOBE_SYMBOL 5
-#define PDFFONT_ENCODING_ZAPFDINGBATS 6
-#define PDFFONT_ENCODING_PDFDOC 7
-#define PDFFONT_ENCODING_MS_SYMBOL 8
+enum class FontEncoding {
+ kBuiltin = 0,
+ kWinAnsi = 1,
+ kMacRoman = 2,
+ kMacExpert = 3,
+ kStandard = 4,
+ kAdobeSymbol = 5,
+ kZapfDingbats = 6,
+ kPdfDoc = 7,
+ kMsSymbol = 8,
+};
uint32_t FT_CharCodeFromUnicode(int encoding, wchar_t unicode);
wchar_t FT_UnicodeFromCharCode(int encoding, uint32_t charcode);
-const uint16_t* PDF_UnicodesForPredefinedCharSet(int encoding);
-const char* PDF_CharNameFromPredefinedCharSet(int encoding, uint8_t charcode);
+const uint16_t* PDF_UnicodesForPredefinedCharSet(FontEncoding encoding);
+const char* PDF_CharNameFromPredefinedCharSet(FontEncoding encoding,
+ uint8_t charcode);
class CPDF_Object;
@@ -34,7 +37,7 @@
public:
static constexpr size_t kEncodingTableSize = 256;
- explicit CPDF_FontEncoding(int PredefinedEncoding);
+ explicit CPDF_FontEncoding(FontEncoding predefined_encoding);
bool IsIdentical(const CPDF_FontEncoding* pAnother) const;
diff --git a/core/fpdfapi/font/cpdf_simplefont.cpp b/core/fpdfapi/font/cpdf_simplefont.cpp
index 77b7b02..3f88871 100644
--- a/core/fpdfapi/font/cpdf_simplefont.cpp
+++ b/core/fpdfapi/font/cpdf_simplefont.cpp
@@ -20,15 +20,15 @@
namespace {
-void GetPredefinedEncoding(const ByteString& value, int* basemap) {
+void GetPredefinedEncoding(const ByteString& value, FontEncoding* basemap) {
if (value == "WinAnsiEncoding")
- *basemap = PDFFONT_ENCODING_WINANSI;
+ *basemap = FontEncoding::kWinAnsi;
else if (value == "MacRomanEncoding")
- *basemap = PDFFONT_ENCODING_MACROMAN;
+ *basemap = FontEncoding::kMacRoman;
else if (value == "MacExpertEncoding")
- *basemap = PDFFONT_ENCODING_MACEXPERT;
+ *basemap = FontEncoding::kMacExpert;
else if (value == "PDFDocEncoding")
- *basemap = PDFFONT_ENCODING_PDFDOC;
+ *basemap = FontEncoding::kPdfDoc;
}
} // namespace
@@ -154,21 +154,21 @@
const CPDF_Object* pEncoding = m_pFontDict->GetDirectObjectFor("Encoding");
if (!pEncoding) {
if (m_BaseFontName == "Symbol") {
- m_BaseEncoding = bTrueType ? PDFFONT_ENCODING_MS_SYMBOL
- : PDFFONT_ENCODING_ADOBE_SYMBOL;
- } else if (!bEmbedded && m_BaseEncoding == PDFFONT_ENCODING_BUILTIN) {
- m_BaseEncoding = PDFFONT_ENCODING_WINANSI;
+ m_BaseEncoding =
+ bTrueType ? FontEncoding::kMsSymbol : FontEncoding::kAdobeSymbol;
+ } else if (!bEmbedded && m_BaseEncoding == FontEncoding::kBuiltin) {
+ m_BaseEncoding = FontEncoding::kWinAnsi;
}
return;
}
if (pEncoding->IsName()) {
- if (m_BaseEncoding == PDFFONT_ENCODING_ADOBE_SYMBOL ||
- m_BaseEncoding == PDFFONT_ENCODING_ZAPFDINGBATS) {
+ if (m_BaseEncoding == FontEncoding::kAdobeSymbol ||
+ m_BaseEncoding == FontEncoding::kZapfDingbats) {
return;
}
if (FontStyleIsSymbolic(m_Flags) && m_BaseFontName == "Symbol") {
if (!bTrueType)
- m_BaseEncoding = PDFFONT_ENCODING_ADOBE_SYMBOL;
+ m_BaseEncoding = FontEncoding::kAdobeSymbol;
return;
}
ByteString bsEncoding = pEncoding->GetString();
@@ -183,15 +183,15 @@
if (!pDict)
return;
- if (m_BaseEncoding != PDFFONT_ENCODING_ADOBE_SYMBOL &&
- m_BaseEncoding != PDFFONT_ENCODING_ZAPFDINGBATS) {
+ if (m_BaseEncoding != FontEncoding::kAdobeSymbol &&
+ m_BaseEncoding != FontEncoding::kZapfDingbats) {
ByteString bsEncoding = pDict->GetStringFor("BaseEncoding");
if (bTrueType && bsEncoding == "MacExpertEncoding")
bsEncoding = "WinAnsiEncoding";
GetPredefinedEncoding(bsEncoding, &m_BaseEncoding);
}
- if ((!bEmbedded || bTrueType) && m_BaseEncoding == PDFFONT_ENCODING_BUILTIN)
- m_BaseEncoding = PDFFONT_ENCODING_STANDARD;
+ if ((!bEmbedded || bTrueType) && m_BaseEncoding == FontEncoding::kBuiltin)
+ m_BaseEncoding = FontEncoding::kStandard;
LoadDifferences(pDict);
}
@@ -231,7 +231,7 @@
LoadSubstFont();
}
if (!FontStyleIsSymbolic(m_Flags))
- m_BaseEncoding = PDFFONT_ENCODING_STANDARD;
+ m_BaseEncoding = FontEncoding::kStandard;
LoadPDFEncoding(!!m_pFontFile, m_Font.IsTTFont());
LoadGlyphMap();
m_CharNames.clear();
@@ -281,9 +281,9 @@
}
bool CPDF_SimpleFont::IsUnicodeCompatible() const {
- return m_BaseEncoding != PDFFONT_ENCODING_BUILTIN &&
- m_BaseEncoding != PDFFONT_ENCODING_ADOBE_SYMBOL &&
- m_BaseEncoding != PDFFONT_ENCODING_ZAPFDINGBATS;
+ return m_BaseEncoding != FontEncoding::kBuiltin &&
+ m_BaseEncoding != FontEncoding::kAdobeSymbol &&
+ m_BaseEncoding != FontEncoding::kZapfDingbats;
}
WideString CPDF_SimpleFont::UnicodeFromCharCode(uint32_t charcode) const {
diff --git a/core/fpdfapi/font/cpdf_simplefont.h b/core/fpdfapi/font/cpdf_simplefont.h
index f0ce453..b854f79 100644
--- a/core/fpdfapi/font/cpdf_simplefont.h
+++ b/core/fpdfapi/font/cpdf_simplefont.h
@@ -45,8 +45,8 @@
void LoadDifferences(const CPDF_Dictionary* encoding);
void LoadPDFEncoding(bool bEmbedded, bool bTrueType);
- CPDF_FontEncoding m_Encoding{PDFFONT_ENCODING_BUILTIN};
- int m_BaseEncoding = PDFFONT_ENCODING_BUILTIN;
+ CPDF_FontEncoding m_Encoding{FontEncoding::kBuiltin};
+ FontEncoding m_BaseEncoding = FontEncoding::kBuiltin;
bool m_bUseFontWidth = false;
std::vector<ByteString> m_CharNames;
uint16_t m_GlyphIndex[kInternalTableSize];
diff --git a/core/fpdfapi/font/cpdf_truetypefont.cpp b/core/fpdfapi/font/cpdf_truetypefont.cpp
index 047c338..9c0f494 100644
--- a/core/fpdfapi/font/cpdf_truetypefont.cpp
+++ b/core/fpdfapi/font/cpdf_truetypefont.cpp
@@ -26,9 +26,9 @@
return 0;
}
-bool IsWinAnsiOrMacRomanEncoding(int encoding) {
- return encoding == PDFFONT_ENCODING_WINANSI ||
- encoding == PDFFONT_ENCODING_MACROMAN;
+bool IsWinAnsiOrMacRomanEncoding(FontEncoding encoding) {
+ return encoding == FontEncoding::kWinAnsi ||
+ encoding == FontEncoding::kMacRoman;
}
} // namespace
@@ -60,7 +60,7 @@
if (!face)
return;
- const int base_encoding = DetermineEncoding();
+ const FontEncoding base_encoding = DetermineEncoding();
if ((IsWinAnsiOrMacRomanEncoding(base_encoding) && m_CharNames.empty()) ||
FontStyleIsNonSymbolic(m_Flags)) {
if (!FXFT_Has_Glyph_Names(face) &&
@@ -120,7 +120,7 @@
for (uint32_t charcode = 0; charcode < 256; charcode++)
m_GlyphIndex[charcode] = GetGlyphIndexForMSSymbol(face, charcode);
if (HasAnyGlyphIndex()) {
- if (base_encoding != PDFFONT_ENCODING_BUILTIN) {
+ if (base_encoding != FontEncoding::kBuiltin) {
for (uint32_t charcode = 0; charcode < 256; charcode++) {
const char* name =
GetAdobeCharName(base_encoding, m_CharNames, charcode);
@@ -152,7 +152,8 @@
if (m_pFontFile) {
m_Encoding.SetUnicode(charcode, charcode);
} else {
- const char* name = GetAdobeCharName(0, m_CharNames, charcode);
+ const char* name =
+ GetAdobeCharName(FontEncoding::kBuiltin, m_CharNames, charcode);
if (name)
m_Encoding.SetUnicode(charcode, PDF_UnicodeFromAdobeName(name));
else if (pUnicodes)
@@ -194,7 +195,7 @@
return CharmapType::kOther;
}
-int CPDF_TrueTypeFont::DetermineEncoding() const {
+FontEncoding CPDF_TrueTypeFont::DetermineEncoding() const {
if (!m_pFontFile || !FontStyleIsSymbolic(m_Flags) ||
!IsWinAnsiOrMacRomanEncoding(m_BaseEncoding)) {
return m_BaseEncoding;
@@ -219,10 +220,10 @@
break;
}
- if (m_BaseEncoding == PDFFONT_ENCODING_WINANSI && !support_win)
- return support_mac ? PDFFONT_ENCODING_MACROMAN : PDFFONT_ENCODING_BUILTIN;
- if (m_BaseEncoding == PDFFONT_ENCODING_MACROMAN && !support_mac)
- return support_win ? PDFFONT_ENCODING_WINANSI : PDFFONT_ENCODING_BUILTIN;
+ if (m_BaseEncoding == FontEncoding::kWinAnsi && !support_win)
+ return support_mac ? FontEncoding::kMacRoman : FontEncoding::kBuiltin;
+ if (m_BaseEncoding == FontEncoding::kMacRoman && !support_mac)
+ return support_win ? FontEncoding::kWinAnsi : FontEncoding::kBuiltin;
return m_BaseEncoding;
}
diff --git a/core/fpdfapi/font/cpdf_truetypefont.h b/core/fpdfapi/font/cpdf_truetypefont.h
index 26ef47b..12025cb 100644
--- a/core/fpdfapi/font/cpdf_truetypefont.h
+++ b/core/fpdfapi/font/cpdf_truetypefont.h
@@ -33,7 +33,7 @@
bool HasAnyGlyphIndex() const;
CharmapType DetermineCharmapType() const;
- int DetermineEncoding() const;
+ FontEncoding DetermineEncoding() const;
void SetGlyphIndicesFromFirstChar();
};
diff --git a/core/fpdfapi/font/cpdf_type1font.cpp b/core/fpdfapi/font/cpdf_type1font.cpp
index 84d9e1f..af01b6d 100644
--- a/core/fpdfapi/font/cpdf_type1font.cpp
+++ b/core/fpdfapi/font/cpdf_type1font.cpp
@@ -101,11 +101,11 @@
std::fill(std::begin(m_CharWidth), std::end(m_CharWidth), 600);
}
if (m_Base14Font == CFX_FontMapper::kSymbol)
- m_BaseEncoding = PDFFONT_ENCODING_ADOBE_SYMBOL;
+ m_BaseEncoding = FontEncoding::kAdobeSymbol;
else if (m_Base14Font == CFX_FontMapper::kDingbats)
- m_BaseEncoding = PDFFONT_ENCODING_ZAPFDINGBATS;
+ m_BaseEncoding = FontEncoding::kZapfDingbats;
else if (FontStyleIsNonSymbolic(m_Flags))
- m_BaseEncoding = PDFFONT_ENCODING_STANDARD;
+ m_BaseEncoding = FontEncoding::kStandard;
return LoadCommon();
}
@@ -163,8 +163,8 @@
}
}
FXFT_Select_Charmap(m_Font.GetFaceRec(), FT_ENCODING_UNICODE);
- if (m_BaseEncoding == 0)
- m_BaseEncoding = PDFFONT_ENCODING_STANDARD;
+ if (m_BaseEncoding == FontEncoding::kBuiltin)
+ m_BaseEncoding = FontEncoding::kStandard;
for (uint32_t charcode = 0; charcode < kInternalTableSize; charcode++) {
const char* name =
@@ -210,8 +210,8 @@
FT_Get_Char_Index(m_Font.GetFaceRec(), charcode);
wchar_t unicode = 0;
if (m_GlyphIndex[charcode]) {
- unicode =
- FT_UnicodeFromCharCode(PDFFONT_ENCODING_STANDARD, charcode);
+ unicode = FT_UnicodeFromCharCode(
+ static_cast<int>(FontEncoding::kStandard), charcode);
}
char name_glyph[kInternalTableSize] = {};
FT_Get_Glyph_Name(m_Font.GetFaceRec(), m_GlyphIndex[charcode],
@@ -271,8 +271,9 @@
m_GlyphIndex[charcode] = FT_Get_Char_Index(
m_Font.GetFaceRec(), static_cast<uint32_t>(charcode));
if (m_GlyphIndex[charcode]) {
- wchar_t unicode = FT_UnicodeFromCharCode(
- PDFFONT_ENCODING_STANDARD, static_cast<uint32_t>(charcode));
+ wchar_t unicode =
+ FT_UnicodeFromCharCode(static_cast<int>(FontEncoding::kStandard),
+ static_cast<uint32_t>(charcode));
if (unicode == 0) {
char name_glyph[kInternalTableSize] = {};
FT_Get_Glyph_Name(m_Font.GetFaceRec(), m_GlyphIndex[charcode],
diff --git a/core/fpdfdoc/cpdf_bafontmap.cpp b/core/fpdfdoc/cpdf_bafontmap.cpp
index fed8210..8180687 100644
--- a/core/fpdfdoc/cpdf_bafontmap.cpp
+++ b/core/fpdfdoc/cpdf_bafontmap.cpp
@@ -409,7 +409,7 @@
if (sFontName == "ZapfDingbats")
return pPageData->AddStandardFont(sFontName, nullptr);
- static const CPDF_FontEncoding fe(PDFFONT_ENCODING_WINANSI);
+ static const CPDF_FontEncoding fe(FontEncoding::kWinAnsi);
return pPageData->AddStandardFont(sFontName, &fe);
}
diff --git a/core/fpdfdoc/cpdf_interactiveform.cpp b/core/fpdfdoc/cpdf_interactiveform.cpp
index b6eb591..c3a9c47 100644
--- a/core/fpdfdoc/cpdf_interactiveform.cpp
+++ b/core/fpdfdoc/cpdf_interactiveform.cpp
@@ -151,7 +151,7 @@
RetainPtr<CPDF_Font> AddStandardFont(CPDF_Document* pDocument) {
auto* pPageData = CPDF_DocPageData::FromDocument(pDocument);
- static const CPDF_FontEncoding encoding(PDFFONT_ENCODING_WINANSI);
+ static const CPDF_FontEncoding encoding(FontEncoding::kWinAnsi);
return pPageData->AddStandardFont(CFX_Font::kDefaultAnsiFontName, &encoding);
}