summaryrefslogtreecommitdiff
path: root/fpdfsdk/fpdf_edittext.cpp
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2018-08-01 01:28:49 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-08-01 01:28:49 +0000
commit53d4f0a4526ef996caf5005ae84406a9467423f2 (patch)
treecf86d5f7bdd8996e5614fb00113fe6df2ddefdaf /fpdfsdk/fpdf_edittext.cpp
parentcede561c5ae665a563409ba3bfc93c3cd6da5248 (diff)
downloadpdfium-53d4f0a4526ef996caf5005ae84406a9467423f2.tar.xz
Add FPDFText_GetFontName() API
This follows the same pattern as DefaultGetFaceName(), so the client has to call this function twice, but allocation of the string buffer happens outside pdfium. Change-Id: I06b7dcd00aca9b9b94799dad3f139617d7f5451e Reviewed-on: https://pdfium-review.googlesource.com/38870 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Diffstat (limited to 'fpdfsdk/fpdf_edittext.cpp')
-rw-r--r--fpdfsdk/fpdf_edittext.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/fpdfsdk/fpdf_edittext.cpp b/fpdfsdk/fpdf_edittext.cpp
index c552d615e4..6aa44b3b20 100644
--- a/fpdfsdk/fpdf_edittext.cpp
+++ b/fpdfsdk/fpdf_edittext.cpp
@@ -542,6 +542,28 @@ FPDF_EXPORT double FPDF_CALLCONV FPDFTextObj_GetFontSize(FPDF_PAGEOBJECT text) {
return pTextObj ? pTextObj->GetFontSize() : 0;
}
+FPDF_EXPORT unsigned long FPDF_CALLCONV
+FPDFTextObj_GetFontName(FPDF_PAGEOBJECT text,
+ void* buffer,
+ unsigned long length) {
+ CPDF_TextObject* pTextObj = CPDFTextObjectFromFPDFPageObject(text);
+ if (!pTextObj)
+ return 0;
+
+ CPDF_Font* pPdfFont = pTextObj->GetFont();
+ if (!pPdfFont)
+ return 0;
+
+ CFX_Font* pFont = pPdfFont->GetFont();
+ ASSERT(pFont);
+
+ ByteString name = pFont->GetFamilyName();
+ unsigned long dwStringLen = name.GetLength() + 1;
+ if (buffer && length >= dwStringLen)
+ memcpy(buffer, name.c_str(), dwStringLen);
+ return dwStringLen;
+}
+
FPDF_EXPORT void FPDF_CALLCONV FPDFFont_Close(FPDF_FONT font) {
CPDF_Font* pFont = CPDFFontFromFPDFFont(font);
if (!pFont)