external/fontconfig/ExternalPackage_fontconfig_data.mk |   10 +
 external/fontconfig/Module_fontconfig.mk               |    1 
 external/fontconfig/UnpackedTarball_fontconfig.mk      |    1 
 external/fontconfig/configs/wnt_fonts.conf             |   94 +++++++++++++++++
 4 files changed, 104 insertions(+), 2 deletions(-)

New commits:
commit b67634d98e221c262b3ef915f959a4ef3eab5ac0
Author:     Tor Lillqvist <[email protected]>
AuthorDate: Sat Nov 22 07:52:34 2025 +0100
Commit:     Thorsten Behrens <[email protected]>
CommitDate: Tue Dec 2 16:55:19 2025 +0100

    Package the fonts.conf file and the conf.d folder also for Windows
    
    On Windows, fontconfig looks for fonts.conf in a "fonts" subfolder of
    the folder where DLL is where the fontconfig code lives. Thus in our
    case, the "program" folder.
    
    Change-Id: I2d7ae5ea02c61bd22c2ae9ca19e1138ffd35881e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194612
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Thorsten Behrens <[email protected]>

diff --git a/external/fontconfig/ExternalPackage_fontconfig_data.mk 
b/external/fontconfig/ExternalPackage_fontconfig_data.mk
index e7d78142f456..6635932f5144 100644
--- a/external/fontconfig/ExternalPackage_fontconfig_data.mk
+++ b/external/fontconfig/ExternalPackage_fontconfig_data.mk
@@ -11,13 +11,19 @@ $(eval $(call 
gb_ExternalPackage_ExternalPackage,fontconfig_data,fontconfig))
 
 $(eval $(call 
gb_ExternalPackage_use_external_project,fontconfig_data,fontconfig))
 
-$(eval $(call 
gb_ExternalPackage_add_files,fontconfig_data,$(LIBO_SHARE_FOLDER)/fontconfig,\
+ifeq ($(COM),MSC)
+FONTCONFIG_DATA_FOLDER=$(LIBO_BIN_FOLDER)/fonts
+else
+FONTCONFIG_DATA_FOLDER=$(LIBO_SHARE_FOLDER)/fontconfig
+endif
+
+$(eval $(call 
gb_ExternalPackage_add_files,fontconfig_data,$(FONTCONFIG_DATA_FOLDER),\
     fonts.conf \
 ))
 
 # The list below is created with
 # find workdir/UnpackedTarball/fontconfig/conf.d/ -name "*.conf" | 
LC_COLLATE=C sort | sed -e 's/^/    /' -e 's/$/ \/' -e 
's/workdir\/UnpackedTarball\/fontconfig\///'
-$(eval $(call 
gb_ExternalPackage_add_unpacked_files,fontconfig_data,$(LIBO_SHARE_FOLDER)/fontconfig/conf.d,\
+$(eval $(call 
gb_ExternalPackage_add_unpacked_files,fontconfig_data,$(FONTCONFIG_DATA_FOLDER)/conf.d,\
     conf.d/05-reset-dirs-sample.conf \
     conf.d/09-autohint-if-no-hinting.conf \
     conf.d/10-autohint.conf \
diff --git a/external/fontconfig/Module_fontconfig.mk 
b/external/fontconfig/Module_fontconfig.mk
index b99b954bf827..dba99fde6a50 100644
--- a/external/fontconfig/Module_fontconfig.mk
+++ b/external/fontconfig/Module_fontconfig.mk
@@ -17,6 +17,7 @@ ifeq ($(COM),MSC)
 
 $(eval $(call gb_Module_add_targets,fontconfig,\
        StaticLibrary_fontconfig \
+       ExternalPackage_fontconfig_data \
 ))
 
 else
diff --git a/external/fontconfig/UnpackedTarball_fontconfig.mk 
b/external/fontconfig/UnpackedTarball_fontconfig.mk
index 0fb9557c0db8..1ac569ecf082 100644
--- a/external/fontconfig/UnpackedTarball_fontconfig.mk
+++ b/external/fontconfig/UnpackedTarball_fontconfig.mk
@@ -30,6 +30,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,fontconfig,\
        external/fontconfig/windowsfonts.patch \
 ))
 
+$(eval $(call 
gb_UnpackedTarball_add_file,fontconfig,fonts.conf,external/fontconfig/configs/wnt_fonts.conf))
 $(eval $(call 
gb_UnpackedTarball_add_file,fontconfig,config.h,external/fontconfig/configs/wnt_fontconfig_config.h))
 $(eval $(call 
gb_UnpackedTarball_add_file,fontconfig,fc-case/fccase.h,external/fontconfig/configs/wnt_fontconfig_fccase.h))
 $(eval $(call 
gb_UnpackedTarball_add_file,fontconfig,fc-lang/fclang.h,external/fontconfig/configs/wnt_fontconfig_fclang.h))
diff --git a/external/fontconfig/configs/wnt_fonts.conf 
b/external/fontconfig/configs/wnt_fonts.conf
new file mode 100644
index 000000000000..5dbcff5d2902
--- /dev/null
+++ b/external/fontconfig/configs/wnt_fonts.conf
@@ -0,0 +1,94 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+<!-- /etc/fonts/fonts.conf file to configure system font access -->
+<fontconfig>
+       <description>Default configuration file</description>
+
+<!--
+       DO NOT EDIT THIS FILE.
+       IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
+       LOCAL CHANGES BELONG IN 'local.conf'.
+
+       The intent of this standard configuration file is to be adequate for
+       most environments.  If you have a reasonably normal environment and
+       have found problems with this configuration, they are probably
+       things that others will also want fixed.  Please submit any problems
+       to the fontconfig issue tracking system located at fontconfig.org
+
+       Note that the normal 'make install' procedure for fontconfig is to
+       replace any existing fonts.conf file with the new version.  Place
+       any local customizations in local.conf which this file references.
+
+       Keith Packard
+-->
+
+<!-- Font directory list -->
+
+       <dir>WINDOWSFONTDIR</dir>
+
+<!--
+  Accept deprecated 'mono' alias, replacing it with 'monospace'
+-->
+       <match target="pattern">
+               <test qual="any" name="family">
+                       <string>mono</string>
+               </test>
+               <edit name="family" mode="assign" binding="same">
+                       <string>monospace</string>
+               </edit>
+       </match>
+
+<!--
+  Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
+-->
+       <match target="pattern">
+               <test qual="any" name="family">
+                       <string>sans serif</string>
+               </test>
+               <edit name="family" mode="assign" binding="same">
+                       <string>sans-serif</string>
+               </edit>
+       </match>
+
+<!--
+  Accept deprecated 'sans' alias, replacing it with 'sans-serif'
+-->
+       <match target="pattern">
+               <test qual="any" name="family">
+                       <string>sans</string>
+               </test>
+               <edit name="family" mode="assign" binding="same">
+                       <string>sans-serif</string>
+               </edit>
+       </match>
+<!--
+  Accept alternate 'system ui' spelling, replacing it with 'system-ui'
+-->
+       <match target="pattern">
+               <test qual="any" name="family">
+                       <string>system ui</string>
+               </test>
+               <edit name="family" mode="assign" binding="same">
+                       <string>system-ui</string>
+               </edit>
+       </match>
+
+<!--
+  Load local system customization file
+-->
+       <include ignore_missing="yes">conf.d</include>
+
+<!-- Font cache directory list -->
+
+       <cachedir>WINDOWSTEMPDIR_FONTCONFIG_CACHE</cachedir>
+
+       <config>
+<!--
+  Rescan configuration every 30 seconds when FcFontSetList is called
+ -->
+               <rescan>
+                       <int>30</int>
+               </rescan>
+       </config>
+
+</fontconfig>

Reply via email to