diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2018-08-01 01:28:49 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-08-01 01:28:49 +0000 |
commit | 53d4f0a4526ef996caf5005ae84406a9467423f2 (patch) | |
tree | cf86d5f7bdd8996e5614fb00113fe6df2ddefdaf /fpdfsdk/fpdf_edittext.cpp | |
parent | cede561c5ae665a563409ba3bfc93c3cd6da5248 (diff) | |
download | pdfium-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.cpp | 22 |
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) |