include/vcl/filter/PDFiumLibrary.hxx | 1 + vcl/source/pdf/PDFiumLibrary.cxx | 16 ++++++++++++++++ 2 files changed, 17 insertions(+)
New commits: commit 2f8c8962f0a9ee1c17d335c8c4d7e286d2072fc3 Author: Caolán McNamara <[email protected]> AuthorDate: Thu Aug 21 16:03:28 2025 +0100 Commit: Miklos Vajna <[email protected]> CommitDate: Fri Sep 26 12:03:22 2025 +0200 make base/postscript fontname available Change-Id: Ie31edc03613c0325282667c83123b067bbb809f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191467 Reviewed-by: Miklos Vajna <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> diff --git a/include/vcl/filter/PDFiumLibrary.hxx b/include/vcl/filter/PDFiumLibrary.hxx index 1d8b5a82fc98..6988b312087b 100644 --- a/include/vcl/filter/PDFiumLibrary.hxx +++ b/include/vcl/filter/PDFiumLibrary.hxx @@ -156,6 +156,7 @@ public: virtual basegfx::B2DRectangle getBounds() = 0; virtual double getFontSize() = 0; virtual OUString getFontName() = 0; + virtual OUString getBaseFontName() = 0; virtual int getFontAngle() = 0; virtual PFDiumFont getFont() = 0; virtual bool getFontData(PFDiumFont font, std::vector<uint8_t>& rData) = 0; diff --git a/vcl/source/pdf/PDFiumLibrary.cxx b/vcl/source/pdf/PDFiumLibrary.cxx index 69aca8a5dafc..d3ddddf928a9 100644 --- a/vcl/source/pdf/PDFiumLibrary.cxx +++ b/vcl/source/pdf/PDFiumLibrary.cxx @@ -417,6 +417,7 @@ public: basegfx::B2DRectangle getBounds() override; double getFontSize() override; OUString getFontName() override; + OUString getBaseFontName() override; int getFontAngle() override; PFDiumFont getFont() override; bool getFontData(PFDiumFont font, std::vector<uint8_t>& rData) override; @@ -1129,6 +1130,21 @@ double PDFiumPageObjectImpl::getFontSize() return nSize; } +OUString PDFiumPageObjectImpl::getBaseFontName() +{ + OUString sBaseFontName; + const int nBaseFontName = 80 + 1; + std::unique_ptr<char[]> pBaseFontName(new char[nBaseFontName]); // + terminating null + FPDF_FONT pFontObject = FPDFTextObj_GetFont(mpPageObject); + int nBaseFontNameChars + = FPDFFont_GetBaseFontName(pFontObject, pBaseFontName.get(), nBaseFontName); + if (nBaseFontName >= nBaseFontNameChars) + { + sBaseFontName = OUString::createFromAscii(pBaseFontName.get()); + } + return sBaseFontName; +} + OUString PDFiumPageObjectImpl::getFontName() { OUString sFamilyName;
