|
|
69cc7b |
From 3125b22729f983436b282fbebe7c1283ff513342 Mon Sep 17 00:00:00 2001
|
|
|
69cc7b |
From: Stephan Bergmann <sbergman@redhat.com>
|
|
|
69cc7b |
Date: Fri, 22 Sep 2017 17:14:56 +0200
|
|
|
69cc7b |
Subject: [PATCH] Compensate for loss of Type 1 "Standard Symbols L" substitute
|
|
|
69cc7b |
for "Symbol"
|
|
|
69cc7b |
MIME-Version: 1.0
|
|
|
69cc7b |
Content-Type: text/plain; charset=UTF-8
|
|
|
69cc7b |
Content-Transfer-Encoding: 8bit
|
|
|
69cc7b |
|
|
|
69cc7b |
At least for me on Linux since LO 5.3, 'soffice
|
|
|
69cc7b |
sw/qa/extras/rtfexport/data/fdo72031.rtf' shows "Å" (rendered in "DejaVu Sans")
|
|
|
69cc7b |
instead of "⊕" (rendered in "Standard Symbols L"). That's presumably because
|
|
|
69cc7b |
47ea13ef8dc8ab9aeded6121845e3ebd1d28b292 "Kill the old Unix layout engines"
|
|
|
69cc7b |
removed support for Type 1 fonts (see "Ignore Type 1 fonts" in
|
|
|
69cc7b |
FontCfgWrapper::addFontSet, vcl/unx/generic/fontmanager/fontconfig.cxx), and my
|
|
|
69cc7b |
(Fedora 25) /usr/share/fonts/default/Type1/s050000l.pfb "Standard Symbols L" is
|
|
|
69cc7b |
a Type 1 font. So we fell back to fontconfig's generic (weak) suggestion of
|
|
|
69cc7b |
"DejaVu Sans" as a substitute for "Symbol".
|
|
|
69cc7b |
|
|
|
69cc7b |
So extend our fc_local.conf to suggest our "OpenSymbol" as a substitute for
|
|
|
69cc7b |
"Symbol".
|
|
|
69cc7b |
|
|
|
69cc7b |
As that fc_local.conf was originally brought along by --with-fonts, which is
|
|
|
69cc7b |
enabled by default but can be disabled, compilation of fc_local.conf from the
|
|
|
69cc7b |
various snippets is moved to postprocess.
|
|
|
69cc7b |
|
|
|
69cc7b |
macOS and Windows were never affected, as they both come with a "Symbol" font
|
|
|
69cc7b |
installed in the system. (And we don't install fc_local.conf on Windows at
|
|
|
69cc7b |
all.)
|
|
|
69cc7b |
|
|
|
69cc7b |
Reviewed-on: https://gerrit.libreoffice.org/42670
|
|
|
69cc7b |
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
|
69cc7b |
Tested-by: Stephan Bergmann <sbergman@redhat.com>
|
|
|
69cc7b |
(cherry picked from commit e79f1261549d9c497a38ea1af8843a86883b02cd)
|
|
|
69cc7b |
|
|
|
69cc7b |
Change-Id: I8d6d87f24974577fd66f5f3989f606237ebb3d75
|
|
|
69cc7b |
---
|
|
|
69cc7b |
Repository.mk | 1 +
|
|
|
69cc7b |
external/more_fonts/Module_more_fonts.mk | 1 -
|
|
|
69cc7b |
external/more_fonts/Package_conf.mk | 14 ----------
|
|
|
69cc7b |
.../{fonts/fc_local.conf => fc_local.snippet} | 6 -----
|
|
|
69cc7b |
extras/source/truetype/symbol/fc_local.snippet | 6 +++++
|
|
|
69cc7b |
postprocess/CustomTarget_fontconfig.mk | 30 ++++++++++++++++++++++
|
|
|
69cc7b |
postprocess/Module_postprocess.mk | 13 ++++++++++
|
|
|
69cc7b |
postprocess/Package_fontconfig.mk | 18 +++++++++++++
|
|
|
69cc7b |
vcl/unx/generic/fontmanager/fontconfig.cxx | 2 ++
|
|
|
69cc7b |
9 files changed, 70 insertions(+), 21 deletions(-)
|
|
|
69cc7b |
delete mode 100644 external/more_fonts/Package_conf.mk
|
|
|
69cc7b |
rename external/more_fonts/{fonts/fc_local.conf => fc_local.snippet} (84%)
|
|
|
69cc7b |
create mode 100644 extras/source/truetype/symbol/fc_local.snippet
|
|
|
69cc7b |
create mode 100644 postprocess/CustomTarget_fontconfig.mk
|
|
|
69cc7b |
create mode 100644 postprocess/Package_fontconfig.mk
|
|
|
69cc7b |
|
|
|
69cc7b |
diff --git a/Repository.mk b/Repository.mk
|
|
|
69cc7b |
index eef2560..81ad205 100644
|
|
|
69cc7b |
--- a/Repository.mk
|
|
|
69cc7b |
+++ b/Repository.mk
|
|
|
69cc7b |
@@ -778,6 +778,7 @@ $(eval $(call gb_Helper_register_packages_for_install,ure,\
|
|
|
69cc7b |
))
|
|
|
69cc7b |
|
|
|
69cc7b |
$(eval $(call gb_Helper_register_packages_for_install,ooo,\
|
|
|
69cc7b |
+ $(if $(filter-out WNT,$(OS)),postprocess_fontconfig) \
|
|
|
69cc7b |
$(if $(SYSTEM_LIBEXTTEXTCAT),,libexttextcat_fingerprint) \
|
|
|
69cc7b |
officecfg_misc \
|
|
|
69cc7b |
extras_glade \
|
|
|
69cc7b |
diff --git a/external/more_fonts/Module_more_fonts.mk b/external/more_fonts/Module_more_fonts.mk
|
|
|
69cc7b |
index f584a8f..6e52247 100644
|
|
|
69cc7b |
--- a/external/more_fonts/Module_more_fonts.mk
|
|
|
69cc7b |
+++ b/external/more_fonts/Module_more_fonts.mk
|
|
|
69cc7b |
@@ -10,7 +10,6 @@
|
|
|
69cc7b |
$(eval $(call gb_Module_Module,more_fonts))
|
|
|
69cc7b |
|
|
|
69cc7b |
$(eval $(call gb_Module_add_targets,more_fonts,\
|
|
|
69cc7b |
- Package_conf \
|
|
|
69cc7b |
ExternalPackage_caladea \
|
|
|
69cc7b |
ExternalPackage_carlito \
|
|
|
69cc7b |
ExternalPackage_dejavu \
|
|
|
69cc7b |
diff --git a/external/more_fonts/Package_conf.mk b/external/more_fonts/Package_conf.mk
|
|
|
69cc7b |
deleted file mode 100644
|
|
|
69cc7b |
index 2d259c2..0000000
|
|
|
69cc7b |
--- a/external/more_fonts/Package_conf.mk
|
|
|
69cc7b |
+++ /dev/null
|
|
|
69cc7b |
@@ -1,14 +0,0 @@
|
|
|
69cc7b |
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
|
|
69cc7b |
-#
|
|
|
69cc7b |
-# This file is part of the LibreOffice project.
|
|
|
69cc7b |
-#
|
|
|
69cc7b |
-# This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
69cc7b |
-# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
69cc7b |
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
69cc7b |
-#
|
|
|
69cc7b |
-
|
|
|
69cc7b |
-$(eval $(call gb_Package_Package,more_fonts_conf,$(SRCDIR)/external/more_fonts/fonts))
|
|
|
69cc7b |
-
|
|
|
69cc7b |
-$(eval $(call gb_Package_add_file,more_fonts_conf,$(LIBO_SHARE_FOLDER)/fonts/truetype/fc_local.conf,fc_local.conf))
|
|
|
69cc7b |
-
|
|
|
69cc7b |
-# vim: set noet sw=4 ts=4:
|
|
|
69cc7b |
diff --git a/external/more_fonts/fonts/fc_local.conf b/external/more_fonts/fc_local.snippet
|
|
|
69cc7b |
similarity index 84%
|
|
|
69cc7b |
rename from external/more_fonts/fonts/fc_local.conf
|
|
|
69cc7b |
rename to external/more_fonts/fc_local.snippet
|
|
|
69cc7b |
index 6af763c..cb49929 100644
|
|
|
69cc7b |
--- a/external/more_fonts/fonts/fc_local.conf
|
|
|
69cc7b |
+++ b/external/more_fonts/fc_local.snippet
|
|
|
69cc7b |
@@ -1,7 +1,3 @@
|
|
|
69cc7b |
-
|
|
|
69cc7b |
-
|
|
|
69cc7b |
-<fontconfig>
|
|
|
69cc7b |
-
|
|
|
69cc7b |
|
|
|
69cc7b |
|
|
|
69cc7b |
<alias binding="same">
|
|
|
69cc7b |
@@ -31,5 +27,3 @@
|
|
|
69cc7b |
<family>Caladea</family>
|
|
|
69cc7b |
</accept>
|
|
|
69cc7b |
</alias>
|
|
|
69cc7b |
-
|
|
|
69cc7b |
-</fontconfig>
|
|
|
69cc7b |
diff --git a/extras/source/truetype/symbol/fc_local.snippet b/extras/source/truetype/symbol/fc_local.snippet
|
|
|
69cc7b |
new file mode 100644
|
|
|
69cc7b |
index 0000000..5b29e1d
|
|
|
69cc7b |
--- /dev/null
|
|
|
69cc7b |
+++ b/extras/source/truetype/symbol/fc_local.snippet
|
|
|
69cc7b |
@@ -0,0 +1,6 @@
|
|
|
69cc7b |
+<match target="pattern">
|
|
|
69cc7b |
+ <test name="family"><string>Symbol</string></test>
|
|
|
69cc7b |
+ <edit name="family" mode="append" binding="same">
|
|
|
69cc7b |
+ <string>OpenSymbol</string>
|
|
|
69cc7b |
+ </edit>
|
|
|
69cc7b |
+</match>
|
|
|
69cc7b |
diff --git a/postprocess/CustomTarget_fontconfig.mk b/postprocess/CustomTarget_fontconfig.mk
|
|
|
69cc7b |
new file mode 100644
|
|
|
69cc7b |
index 0000000..72ff3f3
|
|
|
69cc7b |
--- /dev/null
|
|
|
69cc7b |
+++ b/postprocess/CustomTarget_fontconfig.mk
|
|
|
69cc7b |
@@ -0,0 +1,30 @@
|
|
|
69cc7b |
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 100 -*-
|
|
|
69cc7b |
+#
|
|
|
69cc7b |
+# This file is part of the LibreOffice project.
|
|
|
69cc7b |
+#
|
|
|
69cc7b |
+# This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
69cc7b |
+# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
69cc7b |
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
69cc7b |
+#
|
|
|
69cc7b |
+
|
|
|
69cc7b |
+$(eval $(call gb_CustomTarget_CustomTarget,postprocess/fontconfig))
|
|
|
69cc7b |
+
|
|
|
69cc7b |
+$(call gb_CustomTarget_get_workdir,postprocess/fontconfig)/fc_local.conf: \
|
|
|
69cc7b |
+ $(SRCDIR)/extras/source/truetype/symbol/fc_local.snippet \
|
|
|
69cc7b |
+ $(SRCDIR)/postprocess/CustomTarget_fontconfig.mk \
|
|
|
69cc7b |
+ | $(call gb_CustomTarget_get_workdir,postprocess/fontconfig)/.dir
|
|
|
69cc7b |
+
|
|
|
69cc7b |
+ifneq ($(filter MORE_FONTS,$(BUILD_TYPE)),)
|
|
|
69cc7b |
+$(call gb_CustomTarget_get_workdir,postprocess/fontconfig)/fc_local.conf: \
|
|
|
69cc7b |
+ $(SRCDIR)/external/more_fonts/fc_local.snippet
|
|
|
69cc7b |
+endif
|
|
|
69cc7b |
+
|
|
|
69cc7b |
+$(call gb_CustomTarget_get_workdir,postprocess/fontconfig)/fc_local.conf:
|
|
|
69cc7b |
+ printf '\n\n<fontconfig>\n' >$@
|
|
|
69cc7b |
+ cat $(SRCDIR)/extras/source/truetype/symbol/fc_local.snippet >>$@
|
|
|
69cc7b |
+ifneq ($(filter MORE_FONTS,$(BUILD_TYPE)),)
|
|
|
69cc7b |
+ cat $(SRCDIR)/external/more_fonts/fc_local.snippet >>$@
|
|
|
69cc7b |
+endif
|
|
|
69cc7b |
+ printf '</fontconfig>\n' >>$@
|
|
|
69cc7b |
+
|
|
|
69cc7b |
+# vim: set noet sw=4 ts=4:
|
|
|
69cc7b |
diff --git a/postprocess/Module_postprocess.mk b/postprocess/Module_postprocess.mk
|
|
|
69cc7b |
index 5775cfa..6ab59fc 100644
|
|
|
69cc7b |
--- a/postprocess/Module_postprocess.mk
|
|
|
69cc7b |
+++ b/postprocess/Module_postprocess.mk
|
|
|
69cc7b |
@@ -28,6 +28,19 @@ $(eval $(call gb_Module_add_targets,postprocess,\
|
|
|
69cc7b |
))
|
|
|
69cc7b |
endif
|
|
|
69cc7b |
|
|
|
69cc7b |
+# For configurations that use fontconfig (cf. inclusion of
|
|
|
69cc7b |
+# vcl/unx/generic/fontmanager/fontconfig.cxx in Library_vcl), add
|
|
|
69cc7b |
+# instdir/share/fonts/truetype/fc_local.conf when it shall
|
|
|
69cc7b |
+# contain content from at least one of external/more_fonts/fc_local.snippet
|
|
|
69cc7b |
+# (conditional on MORE_FONTS in BUILD_TYPE) and
|
|
|
69cc7b |
+# extras/source/truetype/symbol/fc_local.snippet (unconditional):
|
|
|
69cc7b |
+ifneq ($(USING_X11)$(ENABLE_HEADLESS)$(filter ANDROID,$(OS)),)
|
|
|
69cc7b |
+$(eval $(call gb_Module_add_targets,postprocess, \
|
|
|
69cc7b |
+ CustomTarget_fontconfig \
|
|
|
69cc7b |
+ Package_fontconfig \
|
|
|
69cc7b |
+))
|
|
|
69cc7b |
+endif
|
|
|
69cc7b |
+
|
|
|
69cc7b |
$(eval $(call gb_Module_add_check_targets,postprocess,\
|
|
|
69cc7b |
CppunitTest_services \
|
|
|
69cc7b |
))
|
|
|
69cc7b |
diff --git a/postprocess/Package_fontconfig.mk b/postprocess/Package_fontconfig.mk
|
|
|
69cc7b |
new file mode 100644
|
|
|
69cc7b |
index 0000000..37f096e
|
|
|
69cc7b |
--- /dev/null
|
|
|
69cc7b |
+++ b/postprocess/Package_fontconfig.mk
|
|
|
69cc7b |
@@ -0,0 +1,18 @@
|
|
|
69cc7b |
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 100 -*-
|
|
|
69cc7b |
+#
|
|
|
69cc7b |
+# This file is part of the LibreOffice project.
|
|
|
69cc7b |
+#
|
|
|
69cc7b |
+# This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
69cc7b |
+# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
69cc7b |
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
69cc7b |
+#
|
|
|
69cc7b |
+
|
|
|
69cc7b |
+$(eval $(call gb_Package_Package,postprocess_fontconfig,$(call gb_CustomTarget_get_workdir,postprocess/fontconfig)))
|
|
|
69cc7b |
+
|
|
|
69cc7b |
+$(eval $(call gb_Package_add_files,postprocess_fontconfig,$(LIBO_SHARE_FOLDER)/fonts/truetype, \
|
|
|
69cc7b |
+ fc_local.conf \
|
|
|
69cc7b |
+))
|
|
|
69cc7b |
+
|
|
|
69cc7b |
+$(eval $(call gb_Package_use_custom_target,postprocess_fontconfig,postprocess/fontconfig))
|
|
|
69cc7b |
+
|
|
|
69cc7b |
+# vim: set noet sw=4 ts=4:
|
|
|
69cc7b |
diff --git a/vcl/unx/generic/fontmanager/fontconfig.cxx b/vcl/unx/generic/fontmanager/fontconfig.cxx
|
|
|
69cc7b |
index c85b12f..baf31dd 100644
|
|
|
69cc7b |
--- a/vcl/unx/generic/fontmanager/fontconfig.cxx
|
|
|
69cc7b |
+++ b/vcl/unx/generic/fontmanager/fontconfig.cxx
|
|
|
69cc7b |
@@ -706,6 +706,8 @@ bool PrintFontManager::addFontconfigDir( const OString& rDirName )
|
|
|
69cc7b |
reinterpret_cast<FcChar8 const *>(aConfFileName.getStr()), FcTrue);
|
|
|
69cc7b |
if( !bCfgOk )
|
|
|
69cc7b |
fprintf( stderr, "FcConfigParseAndLoad( \"%s\") => %d\n", aConfFileName.getStr(), bCfgOk );
|
|
|
69cc7b |
+ } else {
|
|
|
69cc7b |
+ SAL_INFO("vcl", "cannot open " << aConfFileName);
|
|
|
69cc7b |
}
|
|
|
69cc7b |
|
|
|
69cc7b |
return true;
|
|
|
69cc7b |
--
|
|
|
69cc7b |
2.9.5
|
|
|
69cc7b |
|