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>
