office-gobmx/postprocess/CustomTarget_fontconfig.mk
Stephan Bergmann e79f126154 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>
2017-09-24 12:08:26 +02:00

30 lines
1.2 KiB
Makefile

# -*- 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: