Convert int to size_t in fpdf_sysfontinfo.cpp
Then widen all the way down into called functions.
-- Fix some pre-existing IWYU.
-- Make one format specifier unsigned
Change-Id: I5014420e94dc6f716185458791574b9eac59f470
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/91130
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxge/cfx_folderfontinfo.cpp b/core/fxge/cfx_folderfontinfo.cpp
index 8df44f5..8da1719 100644
--- a/core/fxge/cfx_folderfontinfo.cpp
+++ b/core/fxge/cfx_folderfontinfo.cpp
@@ -359,9 +359,9 @@
return it != m_FontList.end() ? it->second.get() : nullptr;
}
-uint32_t CFX_FolderFontInfo::GetFontData(void* hFont,
- uint32_t table,
- pdfium::span<uint8_t> buffer) {
+size_t CFX_FolderFontInfo::GetFontData(void* hFont,
+ uint32_t table,
+ pdfium::span<uint8_t> buffer) {
if (!hFont)
return 0;
diff --git a/core/fxge/cfx_folderfontinfo.h b/core/fxge/cfx_folderfontinfo.h
index d1ce84a..e99a4be 100644
--- a/core/fxge/cfx_folderfontinfo.h
+++ b/core/fxge/cfx_folderfontinfo.h
@@ -38,9 +38,9 @@
int pitch_family,
const ByteString& face) override;
void* GetFont(const ByteString& face) override;
- uint32_t GetFontData(void* hFont,
- uint32_t table,
- pdfium::span<uint8_t> buffer) override;
+ size_t GetFontData(void* hFont,
+ uint32_t table,
+ pdfium::span<uint8_t> buffer) override;
void DeleteFont(void* hFont) override;
bool GetFaceName(void* hFont, ByteString* name) override;
bool GetFontCharset(void* hFont, FX_Charset* charset) override;
diff --git a/core/fxge/cfx_fontmapper.cpp b/core/fxge/cfx_fontmapper.cpp
index 7a5694d..af21273 100644
--- a/core/fxge/cfx_fontmapper.cpp
+++ b/core/fxge/cfx_fontmapper.cpp
@@ -301,12 +301,12 @@
}
ByteString CFX_FontMapper::GetPSNameFromTT(void* hFont) {
- uint32_t size = m_pFontInfo->GetFontData(hFont, kTableNAME, {});
+ size_t size = m_pFontInfo->GetFontData(hFont, kTableNAME, {});
if (!size)
return ByteString();
std::vector<uint8_t, FxAllocAllocator<uint8_t>> buffer(size);
- uint32_t bytes_read = m_pFontInfo->GetFontData(hFont, kTableNAME, buffer);
+ size_t bytes_read = m_pFontInfo->GetFontData(hFont, kTableNAME, buffer);
return bytes_read == size ? GetNameFromTT(buffer, 6) : ByteString();
}
@@ -639,8 +639,8 @@
m_pFontInfo->GetFaceName(hFont, &SubstName);
if (Charset == FX_Charset::kDefault)
m_pFontInfo->GetFontCharset(hFont, &Charset);
- uint32_t ttc_size = m_pFontInfo->GetFontData(hFont, kTableTTCF, {});
- uint32_t font_size = m_pFontInfo->GetFontData(hFont, 0, {});
+ size_t ttc_size = m_pFontInfo->GetFontData(hFont, kTableTTCF, {});
+ size_t font_size = m_pFontInfo->GetFontData(hFont, 0, {});
if (font_size == 0 && ttc_size == 0) {
m_pFontInfo->DeleteFont(hFont);
return nullptr;
@@ -726,7 +726,7 @@
if (!hFont)
return nullptr;
- uint32_t required_size = m_pFontInfo->GetFontData(hFont, 0, {});
+ size_t required_size = m_pFontInfo->GetFontData(hFont, 0, {});
if (required_size == 0)
return nullptr;
@@ -739,8 +739,8 @@
#endif // PDF_ENABLE_XFA
RetainPtr<CFX_Face> CFX_FontMapper::GetCachedTTCFace(void* hFont,
- uint32_t ttc_size,
- uint32_t font_size) {
+ size_t ttc_size,
+ size_t data_size) {
uint32_t checksum = GetChecksumFromTT(hFont);
RetainPtr<CFX_FontMgr::FontDesc> pFontDesc =
m_pFontMgr->GetCachedTTCFontDesc(ttc_size, checksum);
@@ -751,9 +751,9 @@
pFontDesc = m_pFontMgr->AddCachedTTCFontDesc(
ttc_size, checksum, std::move(pFontData), ttc_size);
}
- DCHECK(ttc_size >= font_size);
- uint32_t font_offset = ttc_size - font_size;
- int face_index =
+ CHECK(ttc_size >= data_size);
+ size_t font_offset = ttc_size - data_size;
+ size_t face_index =
GetTTCIndex(pFontDesc->FontData().first(ttc_size), font_offset);
RetainPtr<CFX_Face> pFace(pFontDesc->GetFace(face_index));
if (pFace)
@@ -772,22 +772,22 @@
ByteString SubstName,
int weight,
bool bItalic,
- uint32_t font_size) {
+ size_t data_size) {
RetainPtr<CFX_FontMgr::FontDesc> pFontDesc =
m_pFontMgr->GetCachedFontDesc(SubstName, weight, bItalic);
if (!pFontDesc) {
std::unique_ptr<uint8_t, FxFreeDeleter> pFontData(
- FX_Alloc(uint8_t, font_size));
- m_pFontInfo->GetFontData(hFont, 0, {pFontData.get(), font_size});
+ FX_Alloc(uint8_t, data_size));
+ m_pFontInfo->GetFontData(hFont, 0, {pFontData.get(), data_size});
pFontDesc = m_pFontMgr->AddCachedFontDesc(SubstName, weight, bItalic,
- std::move(pFontData), font_size);
+ std::move(pFontData), data_size);
}
RetainPtr<CFX_Face> pFace(pFontDesc->GetFace(0));
if (pFace)
return pFace;
pFace = m_pFontMgr->NewFixedFace(pFontDesc,
- pFontDesc->FontData().first(font_size), 0);
+ pFontDesc->FontData().first(data_size), 0);
if (!pFace)
return nullptr;
diff --git a/core/fxge/cfx_fontmapper.h b/core/fxge/cfx_fontmapper.h
index 183e59c..2ad6c3e 100644
--- a/core/fxge/cfx_fontmapper.h
+++ b/core/fxge/cfx_fontmapper.h
@@ -98,13 +98,13 @@
int weight,
int pitch_family);
RetainPtr<CFX_Face> GetCachedTTCFace(void* hFont,
- uint32_t ttc_size,
- uint32_t font_size);
+ size_t ttc_size,
+ size_t data_size);
RetainPtr<CFX_Face> GetCachedFace(void* hFont,
ByteString SubstName,
int weight,
bool bItalic,
- uint32_t font_size);
+ size_t data_size);
struct FaceData {
ByteString name;
diff --git a/core/fxge/cfx_fontmgr.cpp b/core/fxge/cfx_fontmgr.cpp
index 8513001..0775982 100644
--- a/core/fxge/cfx_fontmgr.cpp
+++ b/core/fxge/cfx_fontmgr.cpp
@@ -57,8 +57,8 @@
return key;
}
-ByteString KeyNameFromSize(int ttc_size, uint32_t checksum) {
- return ByteString::Format("%d:%d", ttc_size, checksum);
+ByteString KeyNameFromSize(size_t ttc_size, uint32_t checksum) {
+ return ByteString::Format("%zu:%u", ttc_size, checksum);
}
FXFT_LibraryRec* FTLibraryInitHelper() {
@@ -106,24 +106,24 @@
int weight,
bool bItalic,
std::unique_ptr<uint8_t, FxFreeDeleter> pData,
- uint32_t size) {
+ size_t size) {
auto pFontDesc = pdfium::MakeRetain<FontDesc>(std::move(pData), size);
m_FaceMap[KeyNameFromFace(face_name, weight, bItalic)].Reset(pFontDesc.Get());
return pFontDesc;
}
RetainPtr<CFX_FontMgr::FontDesc> CFX_FontMgr::GetCachedTTCFontDesc(
- int ttc_size,
+ size_t ttc_size,
uint32_t checksum) {
auto it = m_FaceMap.find(KeyNameFromSize(ttc_size, checksum));
return it != m_FaceMap.end() ? pdfium::WrapRetain(it->second.Get()) : nullptr;
}
RetainPtr<CFX_FontMgr::FontDesc> CFX_FontMgr::AddCachedTTCFontDesc(
- int ttc_size,
+ size_t ttc_size,
uint32_t checksum,
std::unique_ptr<uint8_t, FxFreeDeleter> pData,
- uint32_t size) {
+ size_t size) {
auto pNewDesc = pdfium::MakeRetain<FontDesc>(std::move(pData), size);
m_FaceMap[KeyNameFromSize(ttc_size, checksum)].Reset(pNewDesc.Get());
return pNewDesc;
@@ -131,9 +131,9 @@
RetainPtr<CFX_Face> CFX_FontMgr::NewFixedFace(const RetainPtr<FontDesc>& pDesc,
pdfium::span<const uint8_t> span,
- int face_index) {
- RetainPtr<CFX_Face> face =
- CFX_Face::New(m_FTLibrary.get(), pDesc, span, face_index);
+ size_t face_index) {
+ RetainPtr<CFX_Face> face = CFX_Face::New(m_FTLibrary.get(), pDesc, span,
+ static_cast<FT_Long>(face_index));
if (!face)
return nullptr;
diff --git a/core/fxge/cfx_fontmgr.h b/core/fxge/cfx_fontmgr.h
index d53d1e6..83ee22c 100644
--- a/core/fxge/cfx_fontmgr.h
+++ b/core/fxge/cfx_fontmgr.h
@@ -7,6 +7,9 @@
#ifndef CORE_FXGE_CFX_FONTMGR_H_
#define CORE_FXGE_CFX_FONTMGR_H_
+#include <stddef.h>
+#include <stdint.h>
+
#include <map>
#include <memory>
@@ -57,18 +60,18 @@
int weight,
bool bItalic,
std::unique_ptr<uint8_t, FxFreeDeleter> pData,
- uint32_t size);
+ size_t size);
- RetainPtr<FontDesc> GetCachedTTCFontDesc(int ttc_size, uint32_t checksum);
+ RetainPtr<FontDesc> GetCachedTTCFontDesc(size_t ttc_size, uint32_t checksum);
RetainPtr<FontDesc> AddCachedTTCFontDesc(
- int ttc_size,
+ size_t ttc_size,
uint32_t checksum,
std::unique_ptr<uint8_t, FxFreeDeleter> pData,
- uint32_t size);
+ size_t size);
RetainPtr<CFX_Face> NewFixedFace(const RetainPtr<FontDesc>& pDesc,
pdfium::span<const uint8_t> span,
- int face_index);
+ size_t face_index);
// Always present.
CFX_FontMapper* GetBuiltinMapper() const { return m_pBuiltinMapper.get(); }
diff --git a/core/fxge/fx_font.cpp b/core/fxge/fx_font.cpp
index a80aeda91..4f5ea68 100644
--- a/core/fxge/fx_font.cpp
+++ b/core/fxge/fx_font.cpp
@@ -130,11 +130,10 @@
return ByteString();
}
-int GetTTCIndex(pdfium::span<const uint8_t> pFontData, uint32_t font_offset) {
+size_t GetTTCIndex(pdfium::span<const uint8_t> pFontData, size_t font_offset) {
const uint8_t* p = pFontData.data() + 8;
- uint32_t nfont = FXSYS_UINT32_GET_MSBFIRST(p);
- uint32_t index;
- for (index = 0; index < nfont; index++) {
+ size_t nfont = FXSYS_UINT32_GET_MSBFIRST(p);
+ for (size_t index = 0; index < nfont; index++) {
p = pFontData.data() + 12 + index * 4;
if (FXSYS_UINT32_GET_MSBFIRST(p) == font_offset)
return index;
diff --git a/core/fxge/fx_font.h b/core/fxge/fx_font.h
index aa5c789..ca8d470 100644
--- a/core/fxge/fx_font.h
+++ b/core/fxge/fx_font.h
@@ -49,7 +49,7 @@
FX_RECT GetGlyphsBBox(const std::vector<TextGlyphPos>& glyphs, int anti_alias);
ByteString GetNameFromTT(pdfium::span<const uint8_t> name_table, uint32_t name);
-int GetTTCIndex(pdfium::span<const uint8_t> pFontData, uint32_t font_offset);
+size_t GetTTCIndex(pdfium::span<const uint8_t> pFontData, size_t font_offset);
inline bool FontStyleIsForceBold(uint32_t style) {
return !!(style & FXFONT_FORCE_BOLD);
diff --git a/core/fxge/systemfontinfo_iface.h b/core/fxge/systemfontinfo_iface.h
index f6c3623..dfa1e54 100644
--- a/core/fxge/systemfontinfo_iface.h
+++ b/core/fxge/systemfontinfo_iface.h
@@ -7,6 +7,9 @@
#ifndef CORE_FXGE_SYSTEMFONTINFO_IFACE_H_
#define CORE_FXGE_SYSTEMFONTINFO_IFACE_H_
+#include <stddef.h>
+#include <stdint.h>
+
#include "core/fxcrt/bytestring.h"
#include "core/fxcrt/fx_codepage_forward.h"
#include "core/fxge/cfx_fontmapper.h"
@@ -26,9 +29,9 @@
int pitch_family,
const ByteString& face) = 0;
virtual void* GetFont(const ByteString& face) = 0;
- virtual uint32_t GetFontData(void* hFont,
- uint32_t table,
- pdfium::span<uint8_t> buffer) = 0;
+ virtual size_t GetFontData(void* hFont,
+ uint32_t table,
+ pdfium::span<uint8_t> buffer) = 0;
virtual bool GetFaceName(void* hFont, ByteString* name) = 0;
virtual bool GetFontCharset(void* hFont, FX_Charset* charset) = 0;
virtual void DeleteFont(void* hFont) = 0;
diff --git a/core/fxge/win32/cwin32_platform.cpp b/core/fxge/win32/cwin32_platform.cpp
index 5e9dc83..448ca54 100644
--- a/core/fxge/win32/cwin32_platform.cpp
+++ b/core/fxge/win32/cwin32_platform.cpp
@@ -96,9 +96,9 @@
int pitch_family,
const ByteString& face) override;
void* GetFont(const ByteString& face) override { return nullptr; }
- uint32_t GetFontData(void* hFont,
- uint32_t table,
- pdfium::span<uint8_t> buffer) override;
+ size_t GetFontData(void* hFont,
+ uint32_t table,
+ pdfium::span<uint8_t> buffer) override;
bool GetFaceName(void* hFont, ByteString* name) override;
bool GetFontCharset(void* hFont, FX_Charset* charset) override;
void DeleteFont(void* hFont) override;
@@ -135,7 +135,7 @@
bool CFX_Win32FontInfo::IsOpenTypeFromDiv(const LOGFONTA* plf) {
HFONT hFont = CreateFontIndirectA(plf);
bool ret = false;
- uint32_t font_size = GetFontData(hFont, 0, {});
+ size_t font_size = GetFontData(hFont, 0, {});
if (font_size != GDI_ERROR && font_size >= sizeof(uint32_t)) {
uint32_t lVersion = 0;
GetFontData(hFont, 0, {(uint8_t*)(&lVersion), sizeof(uint32_t)});
@@ -156,7 +156,7 @@
bool CFX_Win32FontInfo::IsSupportFontFormDiv(const LOGFONTA* plf) {
HFONT hFont = CreateFontIndirectA(plf);
bool ret = false;
- uint32_t font_size = GetFontData(hFont, 0, {});
+ size_t font_size = GetFontData(hFont, 0, {});
if (font_size != GDI_ERROR && font_size >= sizeof(uint32_t)) {
uint32_t lVersion = 0;
GetFontData(hFont, 0, {(uint8_t*)(&lVersion), sizeof(lVersion)});
@@ -396,14 +396,13 @@
::DeleteObject(hFont);
}
-uint32_t CFX_Win32FontInfo::GetFontData(void* hFont,
- uint32_t table,
- pdfium::span<uint8_t> buffer) {
+size_t CFX_Win32FontInfo::GetFontData(void* hFont,
+ uint32_t table,
+ pdfium::span<uint8_t> buffer) {
HFONT hOldFont = (HFONT)::SelectObject(m_hDC, (HFONT)hFont);
table = FXSYS_UINT32_GET_MSBFIRST(reinterpret_cast<uint8_t*>(&table));
- uint32_t size =
- ::GetFontData(m_hDC, table, 0, buffer.data(),
- pdfium::base::checked_cast<DWORD>(buffer.size()));
+ size_t size = ::GetFontData(m_hDC, table, 0, buffer.data(),
+ pdfium::base::checked_cast<DWORD>(buffer.size()));
::SelectObject(m_hDC, hOldFont);
if (size == GDI_ERROR) {
return 0;