svx/source/svdraw/svdpdf.cxx | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-)
New commits: commit 5e7127ee91eff3c83eecf67f1a6abe13bfe9ac0c Author: Caolán McNamara <[email protected]> AuthorDate: Tue Sep 30 14:27:43 2025 +0100 Commit: Miklos Vajna <[email protected]> CommitDate: Thu Oct 2 08:47:31 2025 +0200 replace the broken font name in the cidfontinfo as well Change-Id: Ie353a01928baff70ab574a7bc4fe1345435a5fb4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191684 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Miklos Vajna <[email protected]> diff --git a/svx/source/svdraw/svdpdf.cxx b/svx/source/svdraw/svdpdf.cxx index 7f1725ed5d97..ce80942fe806 100644 --- a/svx/source/svdraw/svdpdf.cxx +++ b/svx/source/svdraw/svdpdf.cxx @@ -1002,6 +1002,7 @@ static bool toPfaCID(SubSetInfo& rSubSetInfo, const OUString& fileUrl, OUString toMergedMapUrl = fileUrl + u".tomergedmap"; OString version, Notice, FullName, FamilyName, CIDFontName, CIDFontVersion, srcFontType; + OString brokenFontName; FontName = postScriptName.toUtf8(); std::map<sal_Int32, OString> glyphIndexToName; @@ -1021,7 +1022,6 @@ static bool toPfaCID(SubSetInfo& rSubSetInfo, const OUString& fileUrl, return false; } SAL_INFO("sd.filter", "dump success"); - bool bBrokenFontName(false); SvFileStream info(infoUrl, StreamMode::READ); OStringBuffer glyphBuffer; OString sLine; @@ -1043,10 +1043,14 @@ static bool toPfaCID(SubSetInfo& rSubSetInfo, const OUString& fileUrl, continue; if (extractEntry(sLine, "FontName", FontName)) { - bBrokenFontName = FontName != postScriptName.toUtf8(); - SAL_WARN_IF(bBrokenFontName, "sd.filter", - "expected that FontName of <" << FontName << "> matches PostScriptName of <" - << postScriptName << ">"); + const bool bBrokenFontName = FontName != postScriptName.toUtf8(); + if (bBrokenFontName) + { + SAL_WARN("sd.filter", "expected that FontName of <" + << FontName << "> matches PostScriptName of <" + << postScriptName << ">"); + brokenFontName = FontName; + } continue; } if (extractEntry(sLine, "cid.CIDFontName", CIDFontName)) @@ -1106,6 +1110,9 @@ static bool toPfaCID(SubSetInfo& rSubSetInfo, const OUString& fileUrl, if (version.isEmpty()) version = CIDFontVersion; + if (!brokenFontName.isEmpty()) + FontName = postScriptName.toUtf8(); + // Always create cidFontInfo, we will need it if we need to merge fonts OString AdobeCopyright, Trademark; sal_Int32 nSplit = !Notice.isEmpty() ? Notice.lastIndexOf('.', Notice.getLength() - 1) : -1; @@ -1170,8 +1177,8 @@ static bool toPfaCID(SubSetInfo& rSubSetInfo, const OUString& fileUrl, } } - if (bBrokenFontName) - rewriteBrokenFontName(FontName, CIDFontName, postScriptName.toUtf8(), pfaCIDUrl); + if (!brokenFontName.isEmpty()) + rewriteBrokenFontName(brokenFontName, CIDFontName, FontName, pfaCIDUrl); return true; }
