include/vcl/embeddedfontsmanager.hxx    |    2 ++
 vcl/source/gdi/embeddedfontsmanager.cxx |   12 ++++++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

New commits:
commit 76ddec5beadb160e07875585780af8de3190ebcf
Author:     Caolán McNamara <[email protected]>
AuthorDate: Wed Sep 24 20:35:35 2025 +0100
Commit:     Caolán McNamara <[email protected]>
CommitDate: Mon Sep 29 11:27:49 2025 +0200

    expose and add explicit suffix to fileUrlForTemporaryFont
    
    Change-Id: I9be729d0e05eadf368a0c56aa5b9a64716d02f04
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191466
    Reviewed-by: Miklos Vajna <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Caolán McNamara <[email protected]>

diff --git a/include/vcl/embeddedfontsmanager.hxx 
b/include/vcl/embeddedfontsmanager.hxx
index 84c12b695a6b..a7c5f2ef9356 100644
--- a/include/vcl/embeddedfontsmanager.hxx
+++ b/include/vcl/embeddedfontsmanager.hxx
@@ -119,6 +119,8 @@ public:
     EmbeddedFontsManager(const css::uno::Reference<css::frame::XModel>& 
xModel);
     ~EmbeddedFontsManager() COVERITY_NOEXCEPT_FALSE;
 
+    static OUString fileUrlForTemporaryFont(std::u16string_view name, 
std::u16string_view suffix);
+
     // write text dump
     static bool tx_dump(const OUString& srcFontUrl, const OUString& 
destFileUrl);
     // write Type 1 font
diff --git a/vcl/source/gdi/embeddedfontsmanager.cxx 
b/vcl/source/gdi/embeddedfontsmanager.cxx
index d6bf678235c1..ebf706e78219 100644
--- a/vcl/source/gdi/embeddedfontsmanager.cxx
+++ b/vcl/source/gdi/embeddedfontsmanager.cxx
@@ -105,13 +105,15 @@ void clearDir( const OUString& path )
         }
     }
 }
+}
 
 // Returns a URL for a file where to store contents of a given temporary font.
 // The file may or not may not exist yet, and will be cleaned up automatically 
as appropriate.
 // Use activateFonts() to actually enable usage of the font.
-OUString fileUrlForTemporaryFont(std::u16string_view name)
+// static
+OUString EmbeddedFontsManager::fileUrlForTemporaryFont(std::u16string_view 
name, std::u16string_view suffix)
 {
-    OUString filename = OUString::Concat(name) + ".ttf"; // TODO is it always 
ttf?
+    OUString filename = OUString::Concat(name) + suffix;
 
     if (!comphelper::OStorageHelper::IsValidZipEntryFileName(filename, false))
     {
@@ -127,6 +129,8 @@ OUString fileUrlForTemporaryFont(std::u16string_view name)
                               RTL_TEXTENCODING_UTF8);
 }
 
+namespace
+{
 bool writeFontBytesToFile(osl::File& file, const void* data, sal_uInt64 size)
 {
     auto bytes = static_cast<const char*>(data);
@@ -164,7 +168,7 @@ bool writeFontBytesToFile(osl::File& file, const void* 
data, sal_uInt64 size)
 // @param name name of the font file
 OUString writeFontBytesToFile(const std::vector<char>& bytes, 
std::u16string_view name)
 {
-    OUString url = fileUrlForTemporaryFont(name);
+    OUString url = EmbeddedFontsManager::fileUrlForTemporaryFont(name, 
u".ttf");
     std::optional<osl::File> file(url);
     auto rc = file->open(osl_File_OpenFlag_Create | osl_File_OpenFlag_Write);
 
@@ -191,7 +195,7 @@ OUString writeFontBytesToFile(const std::vector<char>& 
bytes, std::u16string_vie
                 }
             }
         }
-        url = fileUrlForTemporaryFont(Concat2View(name + 
OUString::number(counter++)));
+        url = EmbeddedFontsManager::fileUrlForTemporaryFont(Concat2View(name + 
OUString::number(counter++)), u".ttf");
         file.emplace(url);
         rc = file->open(osl_File_OpenFlag_Create | osl_File_OpenFlag_Write);
     }

Reply via email to