Compensate for loss of Type 1 "Standard Symbols L" substitute for "Symbol"
At least for me on Linux since LO 5.3, 'soffice
sw/qa/extras/rtfexport/data/fdo72031.rtf' shows "Å" (rendered in "DejaVu Sans")
instead of "⊕" (rendered in "Standard Symbols L"). That's presumably because
47ea13ef8d
"Kill the old Unix layout engines"
removed support for Type 1 fonts (see "Ignore Type 1 fonts" in
FontCfgWrapper::addFontSet, vcl/unx/generic/fontmanager/fontconfig.cxx), and my
(Fedora 25) /usr/share/fonts/default/Type1/s050000l.pfb "Standard Symbols L" is
a Type 1 font. So we fell back to fontconfig's generic (weak) suggestion of
"DejaVu Sans" as a substitute for "Symbol".
So extend our fc_local.conf to suggest our "OpenSymbol" as a substitute for
"Symbol".
As that fc_local.conf was originally brought along by --with-fonts, which is
enabled by default but can be disabled, compilation of fc_local.conf from the
various snippets is moved to postprocess.
macOS and Windows were never affected, as they both come with a "Symbol" font
installed in the system. (And we don't install fc_local.conf on Windows at
all.)
Change-Id: I8d6d87f24974577fd66f5f3989f606237ebb3d75
Reviewed-on: https://gerrit.libreoffice.org/42670
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
This commit is contained in:
@@ -942,6 +942,7 @@ $(eval $(call gb_Helper_register_packages_for_install,ooo,\
|
||||
|
||||
$(eval $(call gb_Helper_register_packages_for_install,ooo_fonts,\
|
||||
extras_fonts \
|
||||
$(if $(filter-out WNT,$(OS)),postprocess_fontconfig) \
|
||||
$(call gb_Helper_optional,MORE_FONTS,\
|
||||
fonts_caladea \
|
||||
fonts_carlito \
|
||||
@@ -955,7 +956,6 @@ $(eval $(call gb_Helper_register_packages_for_install,ooo_fonts,\
|
||||
fonts_ptserif \
|
||||
fonts_sourcecode \
|
||||
fonts_sourcesans \
|
||||
$(if $(filter-out WNT,$(OS)),more_fonts_conf) \
|
||||
) \
|
||||
))
|
||||
|
||||
|
1
external/more_fonts/Module_more_fonts.mk
vendored
1
external/more_fonts/Module_more_fonts.mk
vendored
@@ -10,7 +10,6 @@
|
||||
$(eval $(call gb_Module_Module,more_fonts))
|
||||
|
||||
$(eval $(call gb_Module_add_targets,more_fonts,\
|
||||
$(if $(filter-out WNT,$(OS)),Package_conf) \
|
||||
ExternalPackage_caladea \
|
||||
ExternalPackage_carlito \
|
||||
ExternalPackage_dejavu \
|
||||
|
14
external/more_fonts/Package_conf.mk
vendored
14
external/more_fonts/Package_conf.mk
vendored
@@ -1,14 +0,0 @@
|
||||
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
||||
#
|
||||
# This file is part of the LibreOffice project.
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
|
||||
$(eval $(call gb_Package_Package,more_fonts_conf,$(SRCDIR)/external/more_fonts/fonts))
|
||||
|
||||
$(eval $(call gb_Package_add_file,more_fonts_conf,$(LIBO_SHARE_FOLDER)/fonts/truetype/fc_local.conf,fc_local.conf))
|
||||
|
||||
# vim: set noet sw=4 ts=4:
|
@@ -1,7 +1,3 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "/etc/fonts/conf.d/fonts.dtd">
|
||||
<fontconfig>
|
||||
|
||||
<!-- Alias similar/metric-compatible families from various sources: -->
|
||||
|
||||
<alias binding="same">
|
||||
@@ -31,5 +27,3 @@
|
||||
<family>Caladea</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
</fontconfig>
|
6
extras/source/truetype/symbol/fc_local.snippet
Normal file
6
extras/source/truetype/symbol/fc_local.snippet
Normal file
@@ -0,0 +1,6 @@
|
||||
<match target="pattern">
|
||||
<test name="family"><string>Symbol</string></test>
|
||||
<edit name="family" mode="append" binding="same">
|
||||
<string>OpenSymbol</string>
|
||||
</edit>
|
||||
</match>
|
30
postprocess/CustomTarget_fontconfig.mk
Normal file
30
postprocess/CustomTarget_fontconfig.mk
Normal file
@@ -0,0 +1,30 @@
|
||||
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 100 -*-
|
||||
#
|
||||
# This file is part of the LibreOffice project.
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
|
||||
$(eval $(call gb_CustomTarget_CustomTarget,postprocess/fontconfig))
|
||||
|
||||
$(call gb_CustomTarget_get_workdir,postprocess/fontconfig)/fc_local.conf: \
|
||||
$(SRCDIR)/extras/source/truetype/symbol/fc_local.snippet \
|
||||
$(SRCDIR)/postprocess/CustomTarget_fontconfig.mk \
|
||||
| $(call gb_CustomTarget_get_workdir,postprocess/fontconfig)/.dir
|
||||
|
||||
ifneq ($(filter MORE_FONTS,$(BUILD_TYPE)),)
|
||||
$(call gb_CustomTarget_get_workdir,postprocess/fontconfig)/fc_local.conf: \
|
||||
$(SRCDIR)/external/more_fonts/fc_local.snippet
|
||||
endif
|
||||
|
||||
$(call gb_CustomTarget_get_workdir,postprocess/fontconfig)/fc_local.conf:
|
||||
printf '<?xml version="1.0"?>\n<!DOCTYPE fontconfig SYSTEM "/etc/fonts/conf.d/fonts.dtd">\n<fontconfig>\n' >$@
|
||||
cat $(SRCDIR)/extras/source/truetype/symbol/fc_local.snippet >>$@
|
||||
ifneq ($(filter MORE_FONTS,$(BUILD_TYPE)),)
|
||||
cat $(SRCDIR)/external/more_fonts/fc_local.snippet >>$@
|
||||
endif
|
||||
printf '</fontconfig>\n' >>$@
|
||||
|
||||
# vim: set noet sw=4 ts=4:
|
@@ -28,6 +28,17 @@ $(eval $(call gb_Module_add_targets,postprocess,\
|
||||
))
|
||||
endif
|
||||
|
||||
# For non-WNT, add instdir/share/fonts/truetype/fc_local.conf when it shall
|
||||
# contain content from at least one of external/more_fonts/fc_local.snippet
|
||||
# (conditional on MORE_FONTS in BUILD_TYPE) and
|
||||
# extras/source/truetype/symbol/fc_local.snippet (unconditional):
|
||||
ifneq ($(OS),WNT)
|
||||
$(eval $(call gb_Module_add_targets,postprocess, \
|
||||
CustomTarget_fontconfig \
|
||||
Package_fontconfig \
|
||||
))
|
||||
endif
|
||||
|
||||
$(eval $(call gb_Module_add_check_targets,postprocess,\
|
||||
CppunitTest_services \
|
||||
))
|
||||
|
18
postprocess/Package_fontconfig.mk
Normal file
18
postprocess/Package_fontconfig.mk
Normal file
@@ -0,0 +1,18 @@
|
||||
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 100 -*-
|
||||
#
|
||||
# This file is part of the LibreOffice project.
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
|
||||
$(eval $(call gb_Package_Package,postprocess_fontconfig,$(call gb_CustomTarget_get_workdir,postprocess/fontconfig)))
|
||||
|
||||
$(eval $(call gb_Package_add_files,postprocess_fontconfig,$(LIBO_SHARE_FOLDER)/fonts/truetype, \
|
||||
fc_local.conf \
|
||||
))
|
||||
|
||||
$(eval $(call gb_Package_use_custom_target,postprocess_fontconfig,postprocess/fontconfig))
|
||||
|
||||
# vim: set noet sw=4 ts=4:
|
Reference in New Issue
Block a user