Tidy CFX_Font
-- inline LoadFontImp() in its only caller.
-- fix names to better reflect contents.
Change-Id: Idc1b6b1e6ef21438d216d2e2329e4a70324f10aa
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/73333
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxge/cfx_font.cpp b/core/fxge/cfx_font.cpp
index 17d6900..0c5849b 100644
--- a/core/fxge/cfx_font.cpp
+++ b/core/fxge/cfx_font.cpp
@@ -41,7 +41,6 @@
};
#ifdef PDF_ENABLE_XFA
-
unsigned long FTStreamRead(FXFT_StreamRec* stream,
unsigned long offset,
unsigned char* buffer,
@@ -55,30 +54,6 @@
}
void FTStreamClose(FXFT_StreamRec* stream) {}
-
-RetainPtr<CFX_Face> LoadFileImp(FXFT_LibraryRec* library,
- const RetainPtr<IFX_SeekableReadStream>& pFile,
- int32_t faceIndex,
- std::unique_ptr<FXFT_StreamRec>* stream) {
- auto stream1 = std::make_unique<FXFT_StreamRec>();
- stream1->base = nullptr;
- stream1->size = static_cast<unsigned long>(pFile->GetSize());
- stream1->pos = 0;
- stream1->descriptor.pointer = static_cast<void*>(pFile.Get());
- stream1->close = FTStreamClose;
- stream1->read = FTStreamRead;
-
- FT_Open_Args args;
- args.flags = FT_OPEN_STREAM;
- args.stream = stream1.get();
-
- RetainPtr<CFX_Face> face = CFX_Face::Open(library, &args, faceIndex);
- if (!face)
- return nullptr;
-
- *stream = std::move(stream1);
- return face;
-}
#endif // PDF_ENABLE_XFA
void Outline_CheckEmptyContour(OUTLINE_PARAMS* param) {
@@ -319,14 +294,25 @@
int nFaceIndex) {
m_bEmbedded = false;
- CFX_FontMgr* pFontMgr = CFX_GEModule::Get()->GetFontMgr();
- std::unique_ptr<FXFT_StreamRec> stream;
- m_Face = LoadFileImp(pFontMgr->GetFTLibrary(), pFile, nFaceIndex, &stream);
+ auto pStreamRec = std::make_unique<FXFT_StreamRec>();
+ pStreamRec->base = nullptr;
+ pStreamRec->size = static_cast<unsigned long>(pFile->GetSize());
+ pStreamRec->pos = 0;
+ pStreamRec->descriptor.pointer = static_cast<void*>(pFile.Get());
+ pStreamRec->close = FTStreamClose;
+ pStreamRec->read = FTStreamRead;
+
+ FT_Open_Args args;
+ args.flags = FT_OPEN_STREAM;
+ args.stream = pStreamRec.get();
+
+ m_Face = CFX_Face::Open(CFX_GEModule::Get()->GetFontMgr()->GetFTLibrary(),
+ &args, nFaceIndex);
if (!m_Face)
return false;
m_pOwnedFile = std::move(pFile);
- m_pOwnedStream = std::move(stream);
+ m_pOwnedStreamRec = std::move(pStreamRec);
FT_Set_Pixel_Sizes(m_Face->GetRec(), 0, 64);
return true;
}
diff --git a/core/fxge/cfx_font.h b/core/fxge/cfx_font.h
index 6b2cb29..d421a1a 100644
--- a/core/fxge/cfx_font.h
+++ b/core/fxge/cfx_font.h
@@ -138,9 +138,9 @@
ByteString GetFamilyNameOrUntitled() const;
#if defined(PDF_ENABLE_XFA)
- // |m_pOwnedFile| must outlive |m_pOwnedStream|.
+ // |m_pOwnedFile| must outlive |m_pOwnedStreamRec|.
RetainPtr<IFX_SeekableReadStream> m_pOwnedFile;
- std::unique_ptr<FXFT_StreamRec> m_pOwnedStream; // Must outlive |m_Face|.
+ std::unique_ptr<FXFT_StreamRec> m_pOwnedStreamRec; // Must outlive |m_Face|.
#endif
mutable RetainPtr<CFX_Face> m_Face;
mutable RetainPtr<CFX_GlyphCache> m_GlyphCache;