From 173e1c897e15dbfb4c2d8acd4990ae69cfa201ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0abata?= Date: Thu, 15 Oct 2020 00:30:03 +0200 Subject: [PATCH] RHEL 9.0.0 Alpha bootstrap The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/fontconfig#67fd78a8d06e0a5c1833307c66cd89b42e88908c --- .gitignore | 34 + 25-no-bitmap-fedora.conf | 44 + FcConfigGetFilename.3 | 25 + fc-cache | 4 + fontconfig-0-timestamp-dir-on-sb.patch | 55 + fontconfig-drop-lang-from-pkgkit-format.patch | 12 + fontconfig-fix-1744377.patch | 122 ++ fontconfig-fix-assertion.patch | 144 ++ fontconfig-fix-dtd-id.patch | 490 ++++++ fontconfig-fix-dtd.patch | 26 + fontconfig-fix-test.patch | 41 + fontconfig-mt.patch | 1439 +++++++++++++++++ fontconfig-read-latest-cache.patch | 228 +++ fontconfig-required-freetype-version.patch | 14 + fontconfig-score-hint-on-match.patch | 36 + fontconfig-sleep-less.patch | 12 + fontconfig-sysroot.patch | 285 ++++ fontconfig.spec | 1066 ++++++++++++ sources | 1 + tests/tests.yml | 14 + 20 files changed, 4092 insertions(+) create mode 100644 25-no-bitmap-fedora.conf create mode 100644 FcConfigGetFilename.3 create mode 100755 fc-cache create mode 100644 fontconfig-0-timestamp-dir-on-sb.patch create mode 100644 fontconfig-drop-lang-from-pkgkit-format.patch create mode 100644 fontconfig-fix-1744377.patch create mode 100644 fontconfig-fix-assertion.patch create mode 100644 fontconfig-fix-dtd-id.patch create mode 100644 fontconfig-fix-dtd.patch create mode 100644 fontconfig-fix-test.patch create mode 100644 fontconfig-mt.patch create mode 100644 fontconfig-read-latest-cache.patch create mode 100644 fontconfig-required-freetype-version.patch create mode 100644 fontconfig-score-hint-on-match.patch create mode 100644 fontconfig-sleep-less.patch create mode 100644 fontconfig-sysroot.patch create mode 100644 fontconfig.spec create mode 100644 sources create mode 100644 tests/tests.yml diff --git a/.gitignore b/.gitignore index e69de29..807c56c 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,34 @@ +fontconfig-2.8.0.tar.gz +/fontconfig-2.9.0.tar.gz +/fontconfig-2.9.91.tar.bz2 +/fontconfig-2.9.92.tar.bz2 +/fontconfig-2.10.tar.bz2 +/fontconfig-2.10.0.tar.bz2 +/fontconfig-2.10.1.tar.bz2 +/fontconfig-2.10.2.tar.bz2 +/fontconfig-2.10.91.tar.bz2 +/fontconfig-2.10.92.tar.bz2 +/fontconfig-2.10.93.tar.bz2 +/fontconfig-2.10.94.tar.bz2 +/fontconfig-2.10.95.tar.bz2 +/fontconfig-2.11.0.tar.bz2 +/fontconfig-2.11.1.tar.bz2 +/fontconfig-2.11.91.tar.bz2 +/fontconfig-2.11.92.tar.bz2 +/fontconfig-2.11.93.tar.bz2 +/fontconfig-2.11.94.tar.bz2 +/fontconfig-2.11.95.tar.bz2 +/fontconfig-2.12.0.tar.bz2 +/fontconfig-2.12.1.tar.bz2 +/fontconfig-2.12.2.tar.bz2 +/fontconfig-2.12.3.tar.bz2 +/fontconfig-2.12.4.tar.bz2 +/fontconfig-2.12.5.tar.bz2 +/fontconfig-2.12.6.tar.bz2 +/fontconfig-2.12.91.tar.bz2 +/fontconfig-2.12.92.tar.bz2 +/fontconfig-2.12.93.tar.bz2 +/fontconfig-2.13.0.tar.bz2 +/fontconfig-2.13.1.tar.bz2 +/fontconfig-2.13.91.tar.xz +/fontconfig-2.13.92.tar.xz diff --git a/25-no-bitmap-fedora.conf b/25-no-bitmap-fedora.conf new file mode 100644 index 0000000..ffa7926 --- /dev/null +++ b/25-no-bitmap-fedora.conf @@ -0,0 +1,44 @@ + + + + + + Kochi Mincho + + + false + + + + + Kochi Gothic + + + false + + + + + Sazanami Mincho + + + false + + + + + Sazanami Gothic + + + false + + + + + AR PL ShanHeiSun Uni + + + true + + + diff --git a/FcConfigGetFilename.3 b/FcConfigGetFilename.3 new file mode 100644 index 0000000..9450199 --- /dev/null +++ b/FcConfigGetFilename.3 @@ -0,0 +1,25 @@ +.\" auto-generated by docbook2man-spec from docbook-utils package +.TH "FcConfigGetFilename" "3" "27 1月 2020" "Fontconfig 2.13.91" "" +.SH NAME +FcConfigGetFilename \- Find a config file +.SH SYNOPSIS +.nf +\fB#include +.sp +FcChar8 * FcConfigGetFilename (FcConfig *\fIconfig\fB, const FcChar8 *\fIname\fB); +.fi\fR +.SH "DESCRIPTION" +.PP +Given the specified external entity name, return the associated filename. +This provides applications a way to convert various configuration file +references into filename form. +.PP +A null or empty \fIname\fR indicates that the default configuration file should +be used; which file this references can be overridden with the +FONTCONFIG_FILE environment variable. Next, if the name starts with \fI~\fR, it +refers to a file in the current users home directory. Otherwise if the name +doesn't start with '/', it refers to a file in the default configuration +directory; the built-in default directory can be overridden with the +FONTCONFIG_PATH environment variable. +.PP +The result of this function is affected by the FONTCONFIG_SYSROOT environment variable or equivalent functionality. diff --git a/fc-cache b/fc-cache new file mode 100755 index 0000000..8253ae7 --- /dev/null +++ b/fc-cache @@ -0,0 +1,4 @@ +#! /bin/sh + +[ -x /usr/bin/fc-cache-32 ] && /usr/bin/fc-cache-32 "$@" || : +[ -x /usr/bin/fc-cache-64 ] && /usr/bin/fc-cache-64 "$@" || : diff --git a/fontconfig-0-timestamp-dir-on-sb.patch b/fontconfig-0-timestamp-dir-on-sb.patch new file mode 100644 index 0000000..cfbc206 --- /dev/null +++ b/fontconfig-0-timestamp-dir-on-sb.patch @@ -0,0 +1,55 @@ +diff --git a/src/fccache.c b/src/fccache.c +index 2d398c73..7139b082 100644 +--- a/src/fccache.c ++++ b/src/fccache.c +@@ -845,7 +845,7 @@ FcCacheTimeValid (FcConfig *config, FcCache *cache, struct stat *dir_stat) + FcCacheDir (cache), cache->checksum, (int) dir_stat->st_mtime); + #endif + +- return cache->checksum == (int) dir_stat->st_mtime && fnano; ++ return dir_stat->st_mtime == 0 || (cache->checksum == (int) dir_stat->st_mtime && fnano); + } + + static FcBool +@@ -1041,17 +1041,39 @@ static FcBool + FcDirCacheMapHelper (FcConfig *config, int fd, struct stat *fd_stat, struct stat *dir_stat, struct timeval *latest_cache_mtime, void *closure) + { + FcCache *cache = FcDirCacheMapFd (config, fd, fd_stat, dir_stat); +- struct timeval cache_mtime; ++ struct timeval cache_mtime, zero_mtime = { 0, 0}, dir_mtime; + + if (!cache) + return FcFalse; + cache_mtime.tv_sec = fd_stat->st_mtime; ++ dir_mtime.tv_sec = dir_stat->st_mtime; + #ifdef HAVE_STRUCT_STAT_ST_MTIM + cache_mtime.tv_usec = fd_stat->st_mtim.tv_nsec / 1000; ++ dir_mtime.tv_usec = dir_stat->st_mtim.tv_nsec / 1000; + #else + cache_mtime.tv_usec = 0; ++ dir_mtime.tv_usec = 0; + #endif +- if (timercmp (latest_cache_mtime, &cache_mtime, <)) ++ /* special take care of OSTree */ ++ if (!timercmp (&zero_mtime, &dir_mtime, !=)) ++ { ++ if (!timercmp (&zero_mtime, &cache_mtime, !=)) ++ { ++ if (*((FcCache **) closure)) ++ FcDirCacheUnload (*((FcCache **) closure)); ++ } ++ else if (*((FcCache **) closure) && !timercmp (&zero_mtime, latest_cache_mtime, !=)) ++ { ++ FcDirCacheUnload (cache); ++ return FcFalse; ++ } ++ else if (timercmp (latest_cache_mtime, &cache_mtime, <)) ++ { ++ if (*((FcCache **) closure)) ++ FcDirCacheUnload (*((FcCache **) closure)); ++ } ++ } ++ else if (timercmp (latest_cache_mtime, &cache_mtime, <)) + { + if (*((FcCache **) closure)) + FcDirCacheUnload (*((FcCache **) closure)); diff --git a/fontconfig-drop-lang-from-pkgkit-format.patch b/fontconfig-drop-lang-from-pkgkit-format.patch new file mode 100644 index 0000000..8b77308 --- /dev/null +++ b/fontconfig-drop-lang-from-pkgkit-format.patch @@ -0,0 +1,12 @@ +diff -pruN fontconfig-2.13.92.orig/src/fcformat.c fontconfig-2.13.92/src/fcformat.c +--- fontconfig-2.13.92.orig/src/fcformat.c 2018-07-19 12:14:39.000000000 +0900 ++++ fontconfig-2.13.92/src/fcformat.c 2020-01-20 13:05:33.626227767 +0900 +@@ -78,7 +78,7 @@ + #define FCCAT_FORMAT "\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\"" + #define FCMATCH_FORMAT "%{file:-|basename}: \"%{family[0]:-}\" \"%{style[0]:-}\"" + #define FCLIST_FORMAT "%{?file{%{file}: }}%{-file{%{=unparse}}}" +-#define PKGKIT_FORMAT "%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}" ++#define PKGKIT_FORMAT "%{[]family{font(%{family|downcase|delete( )})\n}}" + + + static void diff --git a/fontconfig-fix-1744377.patch b/fontconfig-fix-1744377.patch new file mode 100644 index 0000000..fda5c2d --- /dev/null +++ b/fontconfig-fix-1744377.patch @@ -0,0 +1,122 @@ +From fcada522913e5e07efa6367eff87ace9f06d24c8 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Wed, 28 Aug 2019 17:46:03 +0900 +Subject: [PATCH] Do not return FcFalse from FcConfigParseAndLoad*() if + complain is set to false + +https://bugzilla.redhat.com/show_bug.cgi?id=1744377 +--- + src/fcxml.c | 8 ++++--- + test/Makefile.am | 4 ++++ + test/test-bz1744377.c | 51 +++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 60 insertions(+), 3 deletions(-) + create mode 100644 test/test-bz1744377.c + +diff --git a/src/fcxml.c b/src/fcxml.c +index 2e26e77a..076fa301 100644 +--- a/src/fcxml.c ++++ b/src/fcxml.c +@@ -3526,7 +3526,7 @@ _FcConfigParse (FcConfig *config, + int len; + FcStrBuf sbuf; + char buf[BUFSIZ]; +- FcBool ret = FcFalse; ++ FcBool ret = FcFalse, complain_again = complain; + + #ifdef _WIN32 + if (!pGetSystemWindowsDirectory) +@@ -3605,7 +3605,7 @@ _FcConfigParse (FcConfig *config, + close (fd); + + ret = FcConfigParseAndLoadFromMemoryInternal (config, filename, FcStrBufDoneStatic (&sbuf), complain, load); +- complain = FcFalse; /* no need to reclaim here */ ++ complain_again = FcFalse; /* no need to reclaim here */ + bail1: + FcStrBufDestroy (&sbuf); + bail0: +@@ -3613,7 +3613,9 @@ bail0: + FcStrFree (filename); + if (realfilename) + FcStrFree (realfilename); +- if (!ret && complain) ++ if (!complain) ++ return FcTrue; ++ if (!ret && complain_again) + { + if (name) + FcConfigMessage (0, FcSevereError, "Cannot %s config file \"%s\"", load ? "load" : "scan", name); +diff --git a/test/Makefile.am b/test/Makefile.am +index f9c21581..a9fa089a 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -131,6 +131,10 @@ TESTS += test-d1f48f11 + endif + endif + ++check_PROGRAMS += test-bz1744377 ++test_bz1744377_LDADD = $(top_builddir)/src/libfontconfig.la ++TESTS += test-bz1744377 ++ + EXTRA_DIST=run-test.sh run-test-conf.sh $(LOG_COMPILER) $(TESTDATA) out.expected-long-family-names out.expected-no-long-family-names + + CLEANFILES=out out1 out2 fonts.conf out.expected +diff --git a/test/test-bz1744377.c b/test/test-bz1744377.c +new file mode 100644 +index 00000000..d7f10535 +--- /dev/null ++++ b/test/test-bz1744377.c +@@ -0,0 +1,51 @@ ++/* ++ * fontconfig/test/test-bz1744377.c ++ * ++ * Copyright © 2000 Keith Packard ++ * ++ * Permission to use, copy, modify, distribute, and sell this software and its ++ * documentation for any purpose is hereby granted without fee, provided that ++ * the above copyright notice appear in all copies and that both that ++ * copyright notice and this permission notice appear in supporting ++ * documentation, and that the name of the author(s) not be used in ++ * advertising or publicity pertaining to distribution of the software without ++ * specific, written prior permission. The authors make no ++ * representations about the suitability of this software for any purpose. It ++ * is provided "as is" without express or implied warranty. ++ * ++ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO ++ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER ++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++ * PERFORMANCE OF THIS SOFTWARE. ++ */ ++#include ++ ++int ++main (void) ++{ ++ const FcChar8 *doc = "" ++ "\n" ++ " blahblahblah\n" ++ "\n" ++ ""; ++ const FcChar8 *doc2 = "" ++ "\n" ++ " blahblahblah\n" ++ "\n" ++ ""; ++ FcConfig *cfg = FcConfigCreate (); ++ ++ if (!FcConfigParseAndLoadFromMemory (cfg, doc, FcTrue)) ++ return 1; ++ if (FcConfigParseAndLoadFromMemory (cfg, doc2, FcTrue)) ++ return 1; ++ if (!FcConfigParseAndLoadFromMemory (cfg, doc2, FcFalse)) ++ return 1; ++ ++ FcConfigDestroy (cfg); ++ ++ return 0; ++} +-- +2.23.0 + diff --git a/fontconfig-fix-assertion.patch b/fontconfig-fix-assertion.patch new file mode 100644 index 0000000..2e33736 --- /dev/null +++ b/fontconfig-fix-assertion.patch @@ -0,0 +1,144 @@ +From fbc05949ef52c8a8d69233eed77f6636dffec280 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Wed, 26 Feb 2020 15:42:21 +0900 +Subject: [PATCH] Fix assertion in FcFini() + +Due to the unproper initialization of `latest_mtime', the duplicate caches +was still in fcCacheChains with no references. which means no one frees +them. thus, the memory leak was happened. + +Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/227 +--- + src/fccache.c | 9 +++++---- + src/fcinit.c | 4 ++-- + 2 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/src/fccache.c b/src/fccache.c +index 4744a84..035458e 100644 +--- a/src/fccache.c ++++ b/src/fccache.c +@@ -365,7 +365,6 @@ FcDirCacheProcess (FcConfig *config, const FcChar8 *dir, + struct stat file_stat, dir_stat; + FcBool ret = FcFalse; + const FcChar8 *sysroot = FcConfigGetSysRoot (config); +- struct timeval latest_mtime = (struct timeval){ 0 }; + + if (sysroot) + d = FcStrBuildFilename (sysroot, dir, NULL); +@@ -390,6 +389,8 @@ FcDirCacheProcess (FcConfig *config, const FcChar8 *dir, + #ifndef _WIN32 + FcBool retried = FcFalse; + #endif ++ struct timeval latest_mtime = (struct timeval){ 0 }; ++ + if (sysroot) + cache_hashed = FcStrBuildFilename (sysroot, cache_dir, cache_base, NULL); + else +@@ -1081,12 +1082,12 @@ FcDirCacheLoadFile (const FcChar8 *cache_file, struct stat *file_stat) + + if (!file_stat) + file_stat = &my_file_stat; +- fd = FcDirCacheOpenFile (cache_file, file_stat); +- if (fd < 0) +- return NULL; + config = FcConfigReference (NULL); + if (!config) + return NULL; ++ fd = FcDirCacheOpenFile (cache_file, file_stat); ++ if (fd < 0) ++ return NULL; + cache = FcDirCacheMapFd (config, fd, file_stat, NULL); + FcConfigDestroy (config); + close (fd); +diff --git a/src/fcinit.c b/src/fcinit.c +index 6f82ebd..0e1421e 100644 +--- a/src/fcinit.c ++++ b/src/fcinit.c +@@ -199,10 +199,10 @@ void + FcFini (void) + { + FcConfigFini (); +- FcCacheFini (); ++ FcConfigPathFini (); + FcDefaultFini (); + FcObjectFini (); +- FcConfigPathFini (); ++ FcCacheFini (); + } + + /* +-- +2.24.1 + +From 6f6b39780215714386606ca1c5457a7106639ff4 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Mon, 23 Mar 2020 14:03:47 +0900 +Subject: [PATCH] Fix assertion in FcCacheFini() again + +The previous fix in fbc05949ef52c8a8d69233eed77f6636dffec280 was wrong. reverting. + +When reading older caches, FcDirCacheMapHelper() returns FcFalse and +it became the return value from FcDirCacheProcess() too, which is wrong. +Actually one of calls for FcDirCacheMapHelper() should be successfully +finished and closure should have a valid pointer for cache. + +Due to this, the proper finalization process wasn't running against +cache in closure. + +Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/227 +--- + src/fccache.c | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/src/fccache.c b/src/fccache.c +index 035458e..2d398c7 100644 +--- a/src/fccache.c ++++ b/src/fccache.c +@@ -365,6 +365,7 @@ FcDirCacheProcess (FcConfig *config, const FcChar8 *dir, + struct stat file_stat, dir_stat; + FcBool ret = FcFalse; + const FcChar8 *sysroot = FcConfigGetSysRoot (config); ++ struct timeval latest_mtime = (struct timeval){ 0 }; + + if (sysroot) + d = FcStrBuildFilename (sysroot, dir, NULL); +@@ -389,7 +390,6 @@ FcDirCacheProcess (FcConfig *config, const FcChar8 *dir, + #ifndef _WIN32 + FcBool retried = FcFalse; + #endif +- struct timeval latest_mtime = (struct timeval){ 0 }; + + if (sysroot) + cache_hashed = FcStrBuildFilename (sysroot, cache_dir, cache_base, NULL); +@@ -445,6 +445,8 @@ FcDirCacheProcess (FcConfig *config, const FcChar8 *dir, + } + FcStrListDone (list); + ++ if (closure) ++ return !!(*((FcCache **)closure) != NULL); + return ret; + } + +@@ -792,7 +794,18 @@ FcCacheFini (void) + int i; + + for (i = 0; i < FC_CACHE_MAX_LEVEL; i++) +- assert (fcCacheChains[i] == NULL); ++ { ++ if (FcDebug() & FC_DBG_CACHE) ++ { ++ if (fcCacheChains[i] != NULL) ++ { ++ FcCacheSkip *s = fcCacheChains[i]; ++ printf("Fontconfig error: not freed %p (dir: %s, refcount %d)\n", s->cache, FcCacheDir(s->cache), s->ref.count); ++ } ++ } ++ else ++ assert (fcCacheChains[i] == NULL); ++ } + assert (fcCacheMaxLevel == 0); + + free_lock (); +-- +2.24.1 + diff --git a/fontconfig-fix-dtd-id.patch b/fontconfig-fix-dtd-id.patch new file mode 100644 index 0000000..9045fc0 --- /dev/null +++ b/fontconfig-fix-dtd-id.patch @@ -0,0 +1,490 @@ +diff -uNr fontconfig-2.13.92.orig/conf.d/05-reset-dirs-sample.conf fontconfig-2.13.92/conf.d/05-reset-dirs-sample.conf +--- fontconfig-2.13.92.orig/conf.d/05-reset-dirs-sample.conf 2019-05-08 10:22:25.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/05-reset-dirs-sample.conf 2020-03-28 15:53:41.792757065 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + Re-define fonts dirs sample + +diff -uNr fontconfig-2.13.92.orig/conf.d/09-autohint-if-no-hinting.conf fontconfig-2.13.92/conf.d/09-autohint-if-no-hinting.conf +--- fontconfig-2.13.92.orig/conf.d/09-autohint-if-no-hinting.conf 2019-07-30 13:03:27.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/09-autohint-if-no-hinting.conf 2020-03-28 15:53:41.764757635 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/10-autohint.conf fontconfig-2.13.92/conf.d/10-autohint.conf +--- fontconfig-2.13.92.orig/conf.d/10-autohint.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/10-autohint.conf 2020-03-28 15:53:41.829756312 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/10-hinting-full.conf fontconfig-2.13.92/conf.d/10-hinting-full.conf +--- fontconfig-2.13.92.orig/conf.d/10-hinting-full.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/10-hinting-full.conf 2020-03-28 15:53:41.714758653 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/10-hinting-medium.conf fontconfig-2.13.92/conf.d/10-hinting-medium.conf +--- fontconfig-2.13.92.orig/conf.d/10-hinting-medium.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/10-hinting-medium.conf 2020-03-28 15:53:41.809756719 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/10-hinting-none.conf fontconfig-2.13.92/conf.d/10-hinting-none.conf +--- fontconfig-2.13.92.orig/conf.d/10-hinting-none.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/10-hinting-none.conf 2020-03-28 15:53:41.796756984 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/10-hinting-slight.conf fontconfig-2.13.92/conf.d/10-hinting-slight.conf +--- fontconfig-2.13.92.orig/conf.d/10-hinting-slight.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/10-hinting-slight.conf 2020-03-28 15:53:41.760757717 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/10-no-sub-pixel.conf fontconfig-2.13.92/conf.d/10-no-sub-pixel.conf +--- fontconfig-2.13.92.orig/conf.d/10-no-sub-pixel.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/10-no-sub-pixel.conf 2020-03-28 15:53:41.743758063 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/10-scale-bitmap-fonts.conf fontconfig-2.13.92/conf.d/10-scale-bitmap-fonts.conf +--- fontconfig-2.13.92.orig/conf.d/10-scale-bitmap-fonts.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/10-scale-bitmap-fonts.conf 2020-03-28 15:53:41.727758389 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/10-sub-pixel-bgr.conf fontconfig-2.13.92/conf.d/10-sub-pixel-bgr.conf +--- fontconfig-2.13.92.orig/conf.d/10-sub-pixel-bgr.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/10-sub-pixel-bgr.conf 2020-03-28 15:53:41.841756068 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/10-sub-pixel-rgb.conf fontconfig-2.13.92/conf.d/10-sub-pixel-rgb.conf +--- fontconfig-2.13.92.orig/conf.d/10-sub-pixel-rgb.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/10-sub-pixel-rgb.conf 2020-03-28 15:53:41.723758470 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/10-sub-pixel-vbgr.conf fontconfig-2.13.92/conf.d/10-sub-pixel-vbgr.conf +--- fontconfig-2.13.92.orig/conf.d/10-sub-pixel-vbgr.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/10-sub-pixel-vbgr.conf 2020-03-28 15:53:41.772757472 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/10-sub-pixel-vrgb.conf fontconfig-2.13.92/conf.d/10-sub-pixel-vrgb.conf +--- fontconfig-2.13.92.orig/conf.d/10-sub-pixel-vrgb.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/10-sub-pixel-vrgb.conf 2020-03-28 15:53:41.706758816 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/10-unhinted.conf fontconfig-2.13.92/conf.d/10-unhinted.conf +--- fontconfig-2.13.92.orig/conf.d/10-unhinted.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/10-unhinted.conf 2020-03-28 15:53:41.739758145 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/11-lcdfilter-default.conf fontconfig-2.13.92/conf.d/11-lcdfilter-default.conf +--- fontconfig-2.13.92.orig/conf.d/11-lcdfilter-default.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/11-lcdfilter-default.conf 2020-03-28 15:53:41.731758307 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/11-lcdfilter-legacy.conf fontconfig-2.13.92/conf.d/11-lcdfilter-legacy.conf +--- fontconfig-2.13.92.orig/conf.d/11-lcdfilter-legacy.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/11-lcdfilter-legacy.conf 2020-03-28 15:53:41.837756149 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/11-lcdfilter-light.conf fontconfig-2.13.92/conf.d/11-lcdfilter-light.conf +--- fontconfig-2.13.92.orig/conf.d/11-lcdfilter-light.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/11-lcdfilter-light.conf 2020-03-28 15:53:41.768757554 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/20-unhint-small-vera.conf fontconfig-2.13.92/conf.d/20-unhint-small-vera.conf +--- fontconfig-2.13.92.orig/conf.d/20-unhint-small-vera.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/20-unhint-small-vera.conf 2020-03-28 15:53:41.784757228 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/25-unhint-nonlatin.conf fontconfig-2.13.92/conf.d/25-unhint-nonlatin.conf +--- fontconfig-2.13.92.orig/conf.d/25-unhint-nonlatin.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/25-unhint-nonlatin.conf 2020-03-28 15:53:41.817756556 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/30-metric-aliases.conf fontconfig-2.13.92/conf.d/30-metric-aliases.conf +--- fontconfig-2.13.92.orig/conf.d/30-metric-aliases.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/30-metric-aliases.conf 2020-03-28 15:53:41.718758572 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/40-nonlatin.conf fontconfig-2.13.92/conf.d/40-nonlatin.conf +--- fontconfig-2.13.92.orig/conf.d/40-nonlatin.conf 2019-05-08 10:22:25.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/40-nonlatin.conf 2020-03-28 15:53:41.735758226 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/45-generic.conf fontconfig-2.13.92/conf.d/45-generic.conf +--- fontconfig-2.13.92.orig/conf.d/45-generic.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/45-generic.conf 2020-03-28 15:53:41.833756231 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/45-latin.conf fontconfig-2.13.92/conf.d/45-latin.conf +--- fontconfig-2.13.92.orig/conf.d/45-latin.conf 2019-05-08 10:22:25.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/45-latin.conf 2020-03-28 15:53:41.756757798 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/49-sansserif.conf fontconfig-2.13.92/conf.d/49-sansserif.conf +--- fontconfig-2.13.92.orig/conf.d/49-sansserif.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/49-sansserif.conf 2020-03-28 15:53:41.845755987 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/50-user.conf fontconfig-2.13.92/conf.d/50-user.conf +--- fontconfig-2.13.92.orig/conf.d/50-user.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/50-user.conf 2020-03-28 15:53:41.710758735 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/51-local.conf fontconfig-2.13.92/conf.d/51-local.conf +--- fontconfig-2.13.92.orig/conf.d/51-local.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/51-local.conf 2020-03-28 15:53:41.805756801 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/60-generic.conf fontconfig-2.13.92/conf.d/60-generic.conf +--- fontconfig-2.13.92.orig/conf.d/60-generic.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/60-generic.conf 2020-03-28 15:53:41.702758898 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/60-latin.conf fontconfig-2.13.92/conf.d/60-latin.conf +--- fontconfig-2.13.92.orig/conf.d/60-latin.conf 2019-05-08 10:22:25.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/60-latin.conf 2020-03-28 15:53:41.752757880 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + +diff -uNr fontconfig-2.13.92.orig/conf.d/65-fonts-persian.conf fontconfig-2.13.92/conf.d/65-fonts-persian.conf +--- fontconfig-2.13.92.orig/conf.d/65-fonts-persian.conf 2018-06-05 12:36:38.000000000 +0200 ++++ fontconfig-2.13.92/conf.d/65-fonts-persian.conf 2020-03-28 15:53:41.748757961 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + + + +diff -uNr fontconfig-2.13.92.orig/doc/fonts-conf.5 fontconfig-2.13.92/doc/fonts-conf.5 +--- fontconfig-2.13.92.orig/doc/fonts-conf.5 2019-08-09 13:12:20.000000000 +0200 ++++ fontconfig-2.13.92/doc/fonts-conf.5 2020-03-28 15:53:41.685759244 +0100 +@@ -264,7 +264,7 @@ + .sp + .nf + +- ++ + + \&... + +@@ -554,7 +554,7 @@ + .sp + .nf + +- ++ + + + + + +diff -uNr fontconfig-2.13.92.orig/fonts.conf.in fontconfig-2.13.92/fonts.conf.in +--- fontconfig-2.13.92.orig/fonts.conf.in 2019-05-08 10:22:25.000000000 +0200 ++++ fontconfig-2.13.92/fonts.conf.in 2020-03-28 15:53:41.698758979 +0100 +@@ -1,5 +1,5 @@ + +- ++ + + + diff --git a/fontconfig-fix-dtd.patch b/fontconfig-fix-dtd.patch new file mode 100644 index 0000000..5165589 --- /dev/null +++ b/fontconfig-fix-dtd.patch @@ -0,0 +1,26 @@ +From a4aa66a858f1ecd375c5efe5916398281f73f794 Mon Sep 17 00:00:00 2001 +From: Jan Tojnar +Date: Wed, 20 Nov 2019 02:13:58 +0000 +Subject: [PATCH] Correct reset-dirs in DTD + +Empty elements need to be declared as such in well-formed DTDs. +--- + fonts.dtd | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/fonts.dtd b/fonts.dtd +index f8c9f2c..40ecb4e 100644 +--- a/fonts.dtd ++++ b/fonts.dtd +@@ -124,7 +124,7 @@ + +- ++ + +