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;
 }

Reply via email to