external/fontconfig/ExternalPackage_fontconfig_data.mk | 31 +---- external/fontconfig/Module_fontconfig.mk | 1 external/fontconfig/UnpackedTarball_fontconfig.mk | 1 external/fontconfig/configs/wnt_fonts.conf | 94 +++++++++++++++++ 4 files changed, 104 insertions(+), 23 deletions(-)
New commits: commit 703466d7fac413d47eb1bb052507c72ebbc1e027 Author: Tor Lillqvist <[email protected]> AuthorDate: Sat Nov 22 09:31:33 2025 +0100 Commit: Tor Lillqvist <[email protected]> CommitDate: Sat Jan 17 21:49:17 2026 +0100 Don't package conflicting and pointless fontconfig configuration files For instance, having both 10-no-antialias.conf and 10-yes-antialias.conf in the same conf.d folder is silly. Look at what Ubuntu has in /etc/fonts/conf.d and keep only those. Note that ExternalPackage_fontconfig_data is used only for WASM and CODA-W anyway, so the "local" and "user" ones are surely irrelevant. Change-Id: I76219eb38675f2e3018d84ab1fc845b1131cc4f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194613 Reviewed-by: Thorsten Behrens <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197501 Reviewed-by: Tor Lillqvist <[email protected]> Tested-by: Jenkins diff --git a/external/fontconfig/ExternalPackage_fontconfig_data.mk b/external/fontconfig/ExternalPackage_fontconfig_data.mk index 6635932f5144..32c81d0c446f 100644 --- a/external/fontconfig/ExternalPackage_fontconfig_data.mk +++ b/external/fontconfig/ExternalPackage_fontconfig_data.mk @@ -24,28 +24,12 @@ $(eval $(call gb_ExternalPackage_add_files,fontconfig_data,$(FONTCONFIG_DATA_FOL # 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,$(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 \ - conf.d/10-hinting-full.conf \ - conf.d/10-hinting-medium.conf \ - conf.d/10-hinting-none.conf \ conf.d/10-hinting-slight.conf \ - conf.d/10-no-antialias.conf \ conf.d/10-scale-bitmap-fonts.conf \ - conf.d/10-sub-pixel-bgr.conf \ - conf.d/10-sub-pixel-none.conf \ conf.d/10-sub-pixel-rgb.conf \ - conf.d/10-sub-pixel-vbgr.conf \ - conf.d/10-sub-pixel-vrgb.conf \ - conf.d/10-unhinted.conf \ conf.d/10-yes-antialias.conf \ conf.d/11-lcdfilter-default.conf \ - conf.d/11-lcdfilter-legacy.conf \ - conf.d/11-lcdfilter-light.conf \ - conf.d/11-lcdfilter-none.conf \ conf.d/20-unhint-small-vera.conf \ - conf.d/25-unhint-nonlatin.conf \ conf.d/30-metric-aliases.conf \ conf.d/35-lang-normalize.conf \ conf.d/40-nonlatin.conf \ @@ -53,18 +37,13 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,fontconfig_data,$(FONTCONFIG conf.d/45-latin.conf \ conf.d/48-spacing.conf \ conf.d/49-sansserif.conf \ - conf.d/50-user.conf \ - conf.d/51-local.conf \ conf.d/60-generic.conf \ conf.d/60-latin.conf \ conf.d/65-fonts-persian.conf \ conf.d/65-khmer.conf \ conf.d/65-nonlatin.conf \ conf.d/69-unifont.conf \ - conf.d/70-no-bitmaps-and-emoji.conf \ conf.d/70-no-bitmaps-except-emoji.conf \ - conf.d/70-no-bitmaps.conf \ - conf.d/70-yes-bitmaps.conf \ conf.d/80-delicious.conf \ conf.d/90-synthetic.conf \ )) commit a7411d59ce7ff83c0e97ebd055c2b0d0a37d11f4 Author: Tor Lillqvist <[email protected]> AuthorDate: Sat Nov 22 07:52:34 2025 +0100 Commit: Tor Lillqvist <[email protected]> CommitDate: Sat Jan 17 21:49:07 2026 +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]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197500 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <[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 123c3ab453d1..a6e376157219 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 5a6175518cf6..86f39ae25abe 100644 --- a/external/fontconfig/UnpackedTarball_fontconfig.mk +++ b/external/fontconfig/UnpackedTarball_fontconfig.mk @@ -35,6 +35,7 @@ $(eval $(call gb_UnpackedTarball_set_post_action,fontconfig,\ )) +$(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>
