sd/qa/uitest/impress_tests/exportToPDF.py  |    9 +++++----
 vcl/unx/generic/fontmanager/fontconfig.cxx |   17 ++++++++++++-----
 2 files changed, 17 insertions(+), 9 deletions(-)

New commits:
commit f8cd80fd3e243da96f6ba8b1406fc6e6fc2b862c
Author:     Caolán McNamara <[email protected]>
AuthorDate: Sat Dec 13 10:42:40 2025 +0000
Commit:     Caolán McNamara <[email protected]>
CommitDate: Sat Dec 13 16:49:26 2025 +0100

    This uitest depends on enabled poppler support
    
    Change-Id: Ia6df2c450d0f9d66e801f09d72b64bf5bf0a6499
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195594
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/sd/qa/uitest/impress_tests/exportToPDF.py 
b/sd/qa/uitest/impress_tests/exportToPDF.py
index 0caf74a6f2b1..72d287079037 100644
--- a/sd/qa/uitest/impress_tests/exportToPDF.py
+++ b/sd/qa/uitest/impress_tests/exportToPDF.py
@@ -79,9 +79,10 @@ class exportToPDF(UITestCase):
 
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
 
-                self.assertEqual("", document.DrawPages[0][0].String)
-                self.assertEqual(" ", document.DrawPages[0][1].String)
-                self.assertEqual(" ", document.DrawPages[0][2].String)
-                self.assertEqual("Hello World", 
document.DrawPages[0][3].String)
+                if os.getenv('ENABLE_POPPLER') == 'TRUE':
+                    self.assertEqual("", document.DrawPages[0][0].String)
+                    self.assertEqual(" ", document.DrawPages[0][1].String)
+                    self.assertEqual(" ", document.DrawPages[0][2].String)
+                    self.assertEqual("Hello World", 
document.DrawPages[0][3].String)
 
 # vim: set shiftwidth=4 softtabstop=4 expandtab:
commit 9ba054a94a025ceb0cb281061ca77d399d3e3ffa
Author:     Caolán McNamara <[email protected]>
AuthorDate: Thu Dec 11 09:47:14 2025 +0000
Commit:     Caolán McNamara <[email protected]>
CommitDate: Sat Dec 13 16:49:14 2025 +0100

    don't abort in test mode for missing 0x3001
    
    similar to how we allow missing 0xb7
    
    Change-Id: I5206efa4b6d70ec432b8626eff3dd86d933e769e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195596
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Jenkins

diff --git a/vcl/unx/generic/fontmanager/fontconfig.cxx 
b/vcl/unx/generic/fontmanager/fontconfig.cxx
index 642a1a7ef733..f7c63cbb55b9 100644
--- a/vcl/unx/generic/fontmanager/fontconfig.cxx
+++ b/vcl/unx/generic/fontmanager/fontconfig.cxx
@@ -1061,12 +1061,17 @@ void 
PrintFontManager::Substitute(vcl::font::FontSelectPattern &rPattern, OUStri
     OString aLangAttrib = mapToFontConfigLangTag(aLangTag);
 
     bool bMissingJustBullet = false;
+    bool bMissingIdeographicComma = false;
 
     // Add required Unicode characters, if any
     if ( !rMissingCodes.isEmpty() )
     {
         FcCharSet *codePoints = FcCharSetCreate();
-        bMissingJustBullet = rMissingCodes.getLength() == 1 && 
rMissingCodes[0] == 0xb7;
+        if (rMissingCodes.getLength() == 1)
+        {
+            bMissingJustBullet = rMissingCodes[0] == 0xb7;
+            bMissingIdeographicComma = rMissingCodes[0] == 0x3001;
+        }
         for( sal_Int32 nStrIndex = 0; nStrIndex < rMissingCodes.getLength(); )
         {
             // also handle unicode surrogates
@@ -1256,11 +1261,13 @@ void 
PrintFontManager::Substitute(vcl::font::FontSelectPattern &rPattern, OUStri
     }();
     if (bAbortOnFontSubstitute && rPattern.maTargetName != 
rPattern.maSearchName)
     {
-        if (bMissingJustBullet)
+        if (bMissingJustBullet || bMissingIdeographicComma)
         {
-            // Some fonts exist in "more_fonts", but have no U+00B7 MIDDLE DOT
-            // so will always glyph fallback on measuring mnBulletOffset in
-            // FontMetricData::ImplInitTextLineSize
+            // Some fonts exist in "more_fonts", but:
+            // a) have no U+00B7 MIDDLE DOT so will always glyph fallback on
+            // measuring mnBulletOffset in FontMetricData::ImplInitTextLineSize
+            // b) have no U+3001 IDEOGRAPHIC COMMA so will always glyph 
fallback on
+            // measuring its width in FontMetricData::ImplInitFlags for CJK 
text
             return;
         }
         if (rPattern.maTargetName == "Linux Libertine G" && 
rPattern.maSearchName == "Linux Libertine O")

Reply via email to