diff --git a/.fontconfig.metadata b/.fontconfig.metadata
new file mode 100644
index 0000000..cf56cad
--- /dev/null
+++ b/.fontconfig.metadata
@@ -0,0 +1 @@
+b7bcc5d47211b7bbac35bb221860407db3601f5b SOURCES/fontconfig-2.13.0.tar.bz2
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..52cbde1
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/fontconfig-2.13.0.tar.bz2
diff --git a/SOURCES/25-no-bitmap-fedora.conf b/SOURCES/25-no-bitmap-fedora.conf
new file mode 100644
index 0000000..ffa7926
--- /dev/null
+++ b/SOURCES/25-no-bitmap-fedora.conf
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Kochi Mincho</string>
+		</test>
+		<edit name="embeddedbitmap" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Kochi Gothic</string>
+		</test>
+		<edit name="embeddedbitmap" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Sazanami Mincho</string>
+		</test>
+		<edit name="embeddedbitmap" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+	<match target="font">
+		<test name="family" compare="eq">
+			<string>Sazanami Gothic</string>
+		</test>
+		<edit name="embeddedbitmap" mode="assign">
+			<bool>false</bool>
+		</edit>
+	</match>
+        <match target="font">
+                <test name="family" compare="eq">
+                        <string>AR PL ShanHeiSun Uni</string>
+                </test>
+                <edit name="embeddedbitmap" mode="assign">
+                        <bool>true</bool>
+                </edit>
+        </match>
+</fontconfig>
diff --git a/SOURCES/fc-cache b/SOURCES/fc-cache
new file mode 100755
index 0000000..6a12446
--- /dev/null
+++ b/SOURCES/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/SOURCES/fontconfig-const-name-in-range.patch b/SOURCES/fontconfig-const-name-in-range.patch
new file mode 100644
index 0000000..728c2c3
--- /dev/null
+++ b/SOURCES/fontconfig-const-name-in-range.patch
@@ -0,0 +1,60 @@
+From 198358dd8ff858c9e36531a7406ccb2246ae77b7 Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Mon, 12 Mar 2018 11:49:58 +0900
+Subject: [PATCH] Allow the constant names in the range
+
+https://bugs.freedesktop.org/show_bug.cgi?id=105415
+---
+ src/fcname.c | 34 +++++++++++++++++++++++++++++-----
+ 1 file changed, 29 insertions(+), 5 deletions(-)
+
+diff --git a/src/fcname.c b/src/fcname.c
+index 79e413e..15fb659 100644
+--- a/src/fcname.c
++++ b/src/fcname.c
+@@ -330,13 +330,37 @@ FcNameConvert (FcType type, FcChar8 *string)
+     case FcTypeRange:
+ 	if (sscanf ((char *) string, "[%lg %lg]", &b, &e) != 2)
+ 	{
+-	    v.u.d = strtod ((char *) string, &p);
+-	    if (p != NULL && p[0] != 0)
++	    char *sc, *ec;
++	    size_t len = strlen ((const char *) string);
++	    int si, ei;
++
++	    sc = malloc (len);
++	    ec = malloc (len);
++	    if (sc && ec && sscanf ((char *) string, "[%s %[^]]]", sc, ec) == 2)
+ 	    {
+-		v.type = FcTypeVoid;
+-		break;
++		if (FcNameConstant ((const FcChar8 *) sc, &si) &&
++		    FcNameConstant ((const FcChar8 *) ec, &ei))
++		    v.u.r =  FcRangeCreateDouble (si, ei);
++		else
++		    goto bail1;
++	    }
++	    else
++	    {
++	    bail1:
++		v.type = FcTypeDouble;
++		if (FcNameConstant (string, &si))
++		{
++		    v.u.d = (double) si;
++		} else {
++		    v.u.d = strtod ((char *) string, &p);
++		    if (p != NULL && p[0] != 0)
++			v.type = FcTypeVoid;
++		}
+ 	    }
+-	    v.type = FcTypeDouble;
++	    if (sc)
++		free (sc);
++	    if (ec)
++		free (ec);
+ 	}
+ 	else
+ 	    v.u.r = FcRangeCreateDouble (b, e);
+-- 
+2.14.3
+
diff --git a/SOURCES/fontconfig-drop-incompatible-conf.patch b/SOURCES/fontconfig-drop-incompatible-conf.patch
new file mode 100644
index 0000000..ae79a23
--- /dev/null
+++ b/SOURCES/fontconfig-drop-incompatible-conf.patch
@@ -0,0 +1,525 @@
+diff -pruN fontconfig-2.13.0.orig/conf.d/10-autohint.conf fontconfig-2.13.0/conf.d/10-autohint.conf
+--- fontconfig-2.13.0.orig/conf.d/10-autohint.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/10-autohint.conf	2018-06-08 17:56:13.942291063 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Enable autohinter</description>
+ <!--  Use the Autohinter --> 
+   <match target="pattern">
+     <!--
+diff -pruN fontconfig-2.13.0.orig/conf.d/10-hinting-full.conf fontconfig-2.13.0/conf.d/10-hinting-full.conf
+--- fontconfig-2.13.0.orig/conf.d/10-hinting-full.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/10-hinting-full.conf	2018-06-08 17:56:19.729380613 +0900
+@@ -1,12 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Set hintfull to hintstyle</description>
+-
+   <match target="pattern">
+     <!--
+       This configuration is available on the major desktop environments.
+diff -pruN fontconfig-2.13.0.orig/conf.d/10-hinting-medium.conf fontconfig-2.13.0/conf.d/10-hinting-medium.conf
+--- fontconfig-2.13.0.orig/conf.d/10-hinting-medium.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/10-hinting-medium.conf	2018-06-08 17:56:24.966461652 +0900
+@@ -1,12 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Set hintmedium to hintstyle</description>
+-
+   <match target="pattern">
+     <!--
+       This configuration is available on the major desktop environments.
+diff -pruN fontconfig-2.13.0.orig/conf.d/10-hinting-none.conf fontconfig-2.13.0/conf.d/10-hinting-none.conf
+--- fontconfig-2.13.0.orig/conf.d/10-hinting-none.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/10-hinting-none.conf	2018-06-08 17:56:29.968539055 +0900
+@@ -1,12 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Set hintnone to hintstyle</description>
+-
+   <match target="pattern">
+     <!--
+       This configuration is available on the major desktop environments.
+diff -pruN fontconfig-2.13.0.orig/conf.d/10-hinting-slight.conf fontconfig-2.13.0/conf.d/10-hinting-slight.conf
+--- fontconfig-2.13.0.orig/conf.d/10-hinting-slight.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/10-hinting-slight.conf	2018-06-08 17:56:34.839614432 +0900
+@@ -1,12 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Set hintslight to hintstyle</description>
+-
+   <match target="pattern">
+     <!--
+       This configuration is available on the major desktop environments.
+diff -pruN fontconfig-2.13.0.orig/conf.d/10-no-sub-pixel.conf fontconfig-2.13.0/conf.d/10-no-sub-pixel.conf
+--- fontconfig-2.13.0.orig/conf.d/10-no-sub-pixel.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/10-no-sub-pixel.conf	2018-06-08 17:56:40.138696429 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Disable sub-pixel rendering</description>
+ <!--  Disable sub-pixel rendering --> 
+   <match target="pattern">
+     <!--
+diff -pruN fontconfig-2.13.0.orig/conf.d/10-scale-bitmap-fonts.conf fontconfig-2.13.0/conf.d/10-scale-bitmap-fonts.conf
+--- fontconfig-2.13.0.orig/conf.d/10-scale-bitmap-fonts.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/10-scale-bitmap-fonts.conf	2018-06-08 17:56:44.835769114 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Bitmap scaling</description>
+ <!--
+   If font is bitmap, calculate scale factor.
+   Note that color bitmap fonts have scalable=true, while
+diff -pruN fontconfig-2.13.0.orig/conf.d/10-sub-pixel-bgr.conf fontconfig-2.13.0/conf.d/10-sub-pixel-bgr.conf
+--- fontconfig-2.13.0.orig/conf.d/10-sub-pixel-bgr.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/10-sub-pixel-bgr.conf	2018-06-08 17:56:49.304838268 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Enable sub-pixel rendering with the BGR stripes layout</description>
+ <!--  Enable sub-pixel rendering --> 
+   <match target="pattern">
+     <!--
+diff -pruN fontconfig-2.13.0.orig/conf.d/10-sub-pixel-rgb.conf fontconfig-2.13.0/conf.d/10-sub-pixel-rgb.conf
+--- fontconfig-2.13.0.orig/conf.d/10-sub-pixel-rgb.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/10-sub-pixel-rgb.conf	2018-06-08 17:56:53.746907005 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Enable sub-pixel rendering with the RGB stripes layout</description>
+ <!--  Enable sub-pixel rendering --> 
+   <match target="pattern">
+     <!--
+diff -pruN fontconfig-2.13.0.orig/conf.d/10-sub-pixel-vbgr.conf fontconfig-2.13.0/conf.d/10-sub-pixel-vbgr.conf
+--- fontconfig-2.13.0.orig/conf.d/10-sub-pixel-vbgr.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/10-sub-pixel-vbgr.conf	2018-06-08 17:56:58.421979349 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Enable sub-pixel rendering with the vertical BGR stripes layout</description>
+ <!--  Enable sub-pixel rendering --> 
+   <match target="pattern">
+     <!--
+diff -pruN fontconfig-2.13.0.orig/conf.d/10-sub-pixel-vrgb.conf fontconfig-2.13.0/conf.d/10-sub-pixel-vrgb.conf
+--- fontconfig-2.13.0.orig/conf.d/10-sub-pixel-vrgb.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/10-sub-pixel-vrgb.conf	2018-06-08 17:57:02.654044835 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Enable sub-pixel rendering with the vertical RGB stripes layout</description>
+ <!--  Enable sub-pixel rendering --> 
+   <match target="pattern">
+     <!--
+diff -pruN fontconfig-2.13.0.orig/conf.d/10-unhinted.conf fontconfig-2.13.0/conf.d/10-unhinted.conf
+--- fontconfig-2.13.0.orig/conf.d/10-unhinted.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/10-unhinted.conf	2018-06-08 17:57:06.878110200 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Disable hinting</description>
+ <!--  Disable hinting --> 
+   <match target="pattern">
+     <!--
+diff -pruN fontconfig-2.13.0.orig/conf.d/11-lcdfilter-default.conf fontconfig-2.13.0/conf.d/11-lcdfilter-default.conf
+--- fontconfig-2.13.0.orig/conf.d/11-lcdfilter-default.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/11-lcdfilter-default.conf	2018-06-08 17:57:11.396180113 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Use lcddefault as default for LCD filter</description>
+ <!--  Use lcddefault as default for LCD filter -->
+   <match target="pattern">
+     <!--
+diff -pruN fontconfig-2.13.0.orig/conf.d/11-lcdfilter-legacy.conf fontconfig-2.13.0/conf.d/11-lcdfilter-legacy.conf
+--- fontconfig-2.13.0.orig/conf.d/11-lcdfilter-legacy.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/11-lcdfilter-legacy.conf	2018-06-08 17:57:15.798248231 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Use lcdlegacy as default for LCD filter</description>
+ <!--  Use lcdlegacy as default for LCD filter -->
+   <match target="pattern">
+     <!--
+diff -pruN fontconfig-2.13.0.orig/conf.d/11-lcdfilter-light.conf fontconfig-2.13.0/conf.d/11-lcdfilter-light.conf
+--- fontconfig-2.13.0.orig/conf.d/11-lcdfilter-light.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/11-lcdfilter-light.conf	2018-06-08 17:57:20.037313826 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Use lcdlight as default for LCD filter</description>
+ <!--  Use lcdlight as default for LCD filter -->
+   <match target="pattern">
+     <!--
+diff -pruN fontconfig-2.13.0.orig/conf.d/20-unhint-small-vera.conf fontconfig-2.13.0/conf.d/20-unhint-small-vera.conf
+--- fontconfig-2.13.0.orig/conf.d/20-unhint-small-vera.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/20-unhint-small-vera.conf	2018-06-08 17:57:24.272379360 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Disable hinting for Bitstream Vera fonts when the size is less than 8ppem</description>
+ <!-- 
+ 	The Bitstream Vera fonts have GASP entries suggesting that hinting be
+ 	disabled below 8 ppem, but FreeType ignores those, preferring to use
+diff -pruN fontconfig-2.13.0.orig/conf.d/25-unhint-nonlatin.conf fontconfig-2.13.0/conf.d/25-unhint-nonlatin.conf
+--- fontconfig-2.13.0.orig/conf.d/25-unhint-nonlatin.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/25-unhint-nonlatin.conf	2018-06-08 17:57:28.646447045 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Disable hinting for CJK fonts</description>
+ <!-- We can't hint CJK fonts well, so turn off hinting for CJK fonts. -->
+ 
+ 	<match target="font">
+diff -pruN fontconfig-2.13.0.orig/conf.d/30-metric-aliases.conf fontconfig-2.13.0/conf.d/30-metric-aliases.conf
+--- fontconfig-2.13.0.orig/conf.d/30-metric-aliases.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/30-metric-aliases.conf	2018-06-08 17:57:33.560523086 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Set substitutions for similar/metric-compatible families</description>
+ 
+ <!--
+ 
+diff -pruN fontconfig-2.13.0.orig/conf.d/40-nonlatin.conf fontconfig-2.13.0/conf.d/40-nonlatin.conf
+--- fontconfig-2.13.0.orig/conf.d/40-nonlatin.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/40-nonlatin.conf	2018-06-08 17:57:37.707587259 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Set substitutions for non-Latin fonts</description>
+ <!--
+   Mark common families with their generics so we'll get
+   something reasonable
+diff -pruN fontconfig-2.13.0.orig/conf.d/45-generic.conf fontconfig-2.13.0/conf.d/45-generic.conf
+--- fontconfig-2.13.0.orig/conf.d/45-generic.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/45-generic.conf	2018-06-08 17:57:41.897652096 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Set substitutions for emoji/math fonts</description>
+ 
+ <!-- Keep in sync with 60-generic.conf -->
+ 
+diff -pruN fontconfig-2.13.0.orig/conf.d/45-latin.conf fontconfig-2.13.0/conf.d/45-latin.conf
+--- fontconfig-2.13.0.orig/conf.d/45-latin.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/45-latin.conf	2018-06-08 17:57:46.222719023 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Set substitutions for Latin fonts</description>
+ <!--
+   Mark common families with their generics so we'll get
+   something reasonable
+diff -pruN fontconfig-2.13.0.orig/conf.d/49-sansserif.conf fontconfig-2.13.0/conf.d/49-sansserif.conf
+--- fontconfig-2.13.0.orig/conf.d/49-sansserif.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/49-sansserif.conf	2018-06-08 17:57:50.494785131 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Add sans-serif to the family when no generic name</description>
+ <!--
+   If the font still has no generic name, add sans-serif
+  -->
+diff -pruN fontconfig-2.13.0.orig/conf.d/50-user.conf fontconfig-2.13.0/conf.d/50-user.conf
+--- fontconfig-2.13.0.orig/conf.d/50-user.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/50-user.conf	2018-06-08 17:57:54.872852876 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Load per-user customization files</description>
+ 	<!--
+ 	    Load per-user customization files where stored on XDG Base Directory
+ 	    specification compliant places. it should be usually:
+diff -pruN fontconfig-2.13.0.orig/conf.d/51-local.conf fontconfig-2.13.0/conf.d/51-local.conf
+--- fontconfig-2.13.0.orig/conf.d/51-local.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/51-local.conf	2018-06-08 17:57:59.237920422 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Load local customization file</description>
+ 	<!-- Load local system customization file -->
+ 	<include ignore_missing="yes">local.conf</include>
+ </fontconfig>
+diff -pruN fontconfig-2.13.0.orig/conf.d/60-generic.conf fontconfig-2.13.0/conf.d/60-generic.conf
+--- fontconfig-2.13.0.orig/conf.d/60-generic.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/60-generic.conf	2018-06-08 17:58:03.405984919 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Set preferable fonts for emoji/math fonts</description>
+ <!-- Keep in sync with 45-generic.conf -->
+ 
+ <!-- Emoji -->
+diff -pruN fontconfig-2.13.0.orig/conf.d/60-latin.conf fontconfig-2.13.0/conf.d/60-latin.conf
+--- fontconfig-2.13.0.orig/conf.d/60-latin.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/60-latin.conf	2018-06-08 17:58:07.630050283 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Set preferable fonts for Latin</description>
+ 	<alias>
+ 		<family>serif</family>
+ 		<prefer>
+diff -pruN fontconfig-2.13.0.orig/conf.d/65-fonts-persian.conf fontconfig-2.13.0/conf.d/65-fonts-persian.conf
+--- fontconfig-2.13.0.orig/conf.d/65-fonts-persian.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/65-fonts-persian.conf	2018-06-08 17:58:22.987287923 +0900
+@@ -31,10 +31,6 @@
+     2008	Behdad Esfahbod:  Cleanup.  Add fantasy and cursive.
+   -->
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+ 
+ 
+ <!-- Deprecated fonts are discouraged -->
+diff -pruN fontconfig-2.13.0.orig/conf.d/65-khmer.conf fontconfig-2.13.0/conf.d/65-khmer.conf
+--- fontconfig-2.13.0.orig/conf.d/65-khmer.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/65-khmer.conf	2018-06-08 17:58:28.539373837 +0900
+@@ -1,10 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+ 	<alias>
+ 		<family>serif</family>
+ 		<prefer>
+diff -pruN fontconfig-2.13.0.orig/conf.d/65-nonlatin.conf fontconfig-2.13.0/conf.d/65-nonlatin.conf
+--- fontconfig-2.13.0.orig/conf.d/65-nonlatin.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/65-nonlatin.conf	2018-06-08 17:58:32.936441877 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Set preferable fonts for non-Latin</description>
+ 	<alias>
+ 		<family>serif</family>
+ 		<prefer>
+diff -pruN fontconfig-2.13.0.orig/conf.d/69-unifont.conf fontconfig-2.13.0/conf.d/69-unifont.conf
+--- fontconfig-2.13.0.orig/conf.d/69-unifont.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/69-unifont.conf	2018-06-08 17:58:37.092506189 +0900
+@@ -1,10 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+ 	<alias>
+ 		<family>serif</family>
+ 		<prefer>
+diff -pruN fontconfig-2.13.0.orig/conf.d/70-no-bitmaps.conf fontconfig-2.13.0/conf.d/70-no-bitmaps.conf
+--- fontconfig-2.13.0.orig/conf.d/70-no-bitmaps.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/70-no-bitmaps.conf	2018-06-08 17:58:41.897580544 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Reject bitmap fonts</description>
+ <!-- Reject bitmap fonts -->
+  <selectfont>
+   <rejectfont>
+diff -pruN fontconfig-2.13.0.orig/conf.d/70-yes-bitmaps.conf fontconfig-2.13.0/conf.d/70-yes-bitmaps.conf
+--- fontconfig-2.13.0.orig/conf.d/70-yes-bitmaps.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/70-yes-bitmaps.conf	2018-06-08 17:58:46.206647223 +0900
+@@ -1,11 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+-  <description>Accept bitmap fonts</description>
+ <!-- Accept bitmap fonts -->
+  <selectfont>
+   <acceptfont>
+diff -pruN fontconfig-2.13.0.orig/conf.d/80-delicious.conf fontconfig-2.13.0/conf.d/80-delicious.conf
+--- fontconfig-2.13.0.orig/conf.d/80-delicious.conf	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/conf.d/80-delicious.conf	2018-06-08 17:58:50.251709817 +0900
+@@ -1,10 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+ <!-- Fix-ups for Delicious family -->
+ 
+ <!-- Delicious 'heavy' variant says its Medium weight -->
+diff -pruN fontconfig-2.13.0.orig/conf.d/90-synthetic.conf fontconfig-2.13.0/conf.d/90-synthetic.conf
+--- fontconfig-2.13.0.orig/conf.d/90-synthetic.conf	2018-06-08 17:55:25.274537971 +0900
++++ fontconfig-2.13.0/conf.d/90-synthetic.conf	2018-06-08 17:58:54.259771838 +0900
+@@ -1,10 +1,6 @@
+ <?xml version="1.0"?>
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <fontconfig>
+-  <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-    <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-  </its:rules>
+-
+ <!-- 
+  Artificial oblique for fonts without an italic or oblique version
+  -->
+diff -pruN fontconfig-2.13.0.orig/fonts.conf.in fontconfig-2.13.0/fonts.conf.in
+--- fontconfig-2.13.0.orig/fonts.conf.in	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.13.0/fonts.conf.in	2018-06-08 19:55:53.912390551 +0900
+@@ -2,12 +2,6 @@
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+ <!-- /etc/fonts/fonts.conf file to configure system font access -->
+ <fontconfig>
+-	<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+-		<its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+-	</its:rules>
+-
+-	<description>Default configuration file</description>
+-
+ <!--
+ 	DO NOT EDIT THIS FILE.
+ 	IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
diff --git a/SOURCES/fontconfig-fix-doublefree.patch b/SOURCES/fontconfig-fix-doublefree.patch
new file mode 100644
index 0000000..1dc97ab
--- /dev/null
+++ b/SOURCES/fontconfig-fix-doublefree.patch
@@ -0,0 +1,27 @@
+From 14c23a5715c529be175d8d6152cabd4ddad4e981 Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Fri, 25 May 2018 15:20:10 +0900
+Subject: [PATCH 6/7] Fix double-free
+
+---
+ src/fcxml.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/fcxml.c b/src/fcxml.c
+index c69ee50..4f984a7 100644
+--- a/src/fcxml.c
++++ b/src/fcxml.c
+@@ -2780,7 +2780,10 @@ FcParseAcceptRejectFont (FcConfigParse *parse, FcElement element)
+ 	    else
+ 	    {
+ 		if (parse->scanOnly && vstack->u.string)
++		{
+ 		    FcStrFree (vstack->u.string);
++		    vstack->tag = FcVStackNone;
++		}
+ 	    }
+ 	    break;
+ 	case FcVStackPattern:
+-- 
+2.17.1
+
diff --git a/SOURCES/fontconfig-fix-embolden-logic.patch b/SOURCES/fontconfig-fix-embolden-logic.patch
new file mode 100644
index 0000000..766b7be
--- /dev/null
+++ b/SOURCES/fontconfig-fix-embolden-logic.patch
@@ -0,0 +1,31 @@
+From 454923709a1a1e480554c400e053aea9a1ba951a Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Thu, 10 May 2018 22:01:29 +0900
+Subject: [PATCH] Change the emboldening logic again
+
+enable emboldening when request was >= bold and font was <= medium
+
+https://bugs.freedesktop.org/show_bug.cgi?id=106460
+---
+ conf.d/90-synthetic.conf | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/conf.d/90-synthetic.conf b/conf.d/90-synthetic.conf
+index e344e4a..6b929dd 100644
+--- a/conf.d/90-synthetic.conf
++++ b/conf.d/90-synthetic.conf
+@@ -42,9 +42,9 @@
+  -->
+ 
+ 	<match target="font">
+-		<!-- check to see if the font is just regular -->
++		<!-- check to see if the weight in the font is less than medium which possibly need emboldening -->
+ 		<test name="weight" compare="less_eq">
+-			<const>regular</const>
++			<const>medium</const>
+ 		</test>
+ 		<!-- check to see if the pattern requests bold -->
+ 		<test target="pattern" name="weight" compare="more_eq">
+-- 
+2.17.0
+
diff --git a/SOURCES/fontconfig-fix-flatpak.patch b/SOURCES/fontconfig-fix-flatpak.patch
new file mode 100644
index 0000000..467e09d
--- /dev/null
+++ b/SOURCES/fontconfig-fix-flatpak.patch
@@ -0,0 +1,618 @@
+diff -pruN fontconfig-2.13.0.orig/src/fccache.c fontconfig-2.13.0/src/fccache.c
+--- fontconfig-2.13.0.orig/src/fccache.c	2017-12-18 21:45:13.000000000 +0900
++++ fontconfig-2.13.0/src/fccache.c	2018-06-08 18:39:33.079539192 +0900
+@@ -51,13 +51,23 @@ FcDirCacheCreateUUID (FcChar8  *dir,
+ 		      FcBool    force,
+ 		      FcConfig *config)
+ {
++    const FcChar8 *sysroot = FcConfigGetSysRoot (config);
++    FcChar8 *target;
+     FcBool ret = FcTrue;
+ #ifndef _WIN32
+     FcChar8 *uuidname;
+ 
+-    uuidname = FcStrBuildFilename (dir, ".uuid", NULL);
++    if (sysroot)
++	target = FcStrBuildFilename (sysroot, dir, NULL);
++    else
++	target = FcStrdup (dir);
++    uuidname = FcStrBuildFilename (target, ".uuid", NULL);
++
+     if (!uuidname)
++    {
++	FcStrFree (target);
+ 	return FcFalse;
++    }
+ 
+     if (force || access ((const char *) uuidname, F_OK) < 0)
+     {
+@@ -69,7 +79,7 @@ FcDirCacheCreateUUID (FcChar8  *dir,
+ 	struct stat statb;
+ 	struct timeval times[2];
+ 
+-	if (FcStat (dir, &statb) != 0)
++	if (FcStat (target, &statb) != 0)
+ 	{
+ 	    ret = FcFalse;
+ 	    goto bail1;
+@@ -96,7 +106,7 @@ FcDirCacheCreateUUID (FcChar8  *dir,
+ 	    hash_add = FcHashTableReplace;
+ 	else
+ 	    hash_add = FcHashTableAdd;
+-	if (!hash_add (config->uuid_table, dir, uuid))
++	if (!hash_add (config->uuid_table, target, uuid))
+ 	{
+ 	    ret = FcFalse;
+ 	    goto bail3;
+@@ -124,14 +134,15 @@ FcDirCacheCreateUUID (FcChar8  *dir,
+ 	    times[0].tv_usec = 0;
+ 	    times[1].tv_usec = 0;
+ #endif
+-	    if (utimes ((const  char *) dir, times) != 0)
++	    if (utimes ((const  char *) target, times) != 0)
+ 	    {
+-		fprintf (stderr, "Unable to revert mtime: %s\n", dir);
++		fprintf (stderr, "Unable to revert mtime: %s\n", target);
+ 	    }
+ 	}
+     }
+-    bail1:
++bail1:
+     FcStrFree (uuidname);
++    FcStrFree (target);
+ #endif
+ 
+     return ret;
+@@ -144,10 +155,17 @@ FcDirCacheReadUUID (FcChar8  *dir,
+ {
+     void *u;
+     uuid_t uuid;
++    const FcChar8 *sysroot = FcConfigGetSysRoot (config);
++    FcChar8 *target;
+ 
+-    if (!FcHashTableFind (config->uuid_table, dir, &u))
++    if (sysroot)
++	target = FcStrBuildFilename (sysroot, dir, NULL);
++    else
++	target = FcStrdup (dir);
++
++    if (!FcHashTableFind (config->uuid_table, target, &u))
+     {
+-	FcChar8 *uuidname = FcStrBuildFilename (dir, ".uuid", NULL);
++	FcChar8 *uuidname = FcStrBuildFilename (target, ".uuid", NULL);
+ 	int fd;
+ 
+ 	if ((fd = FcOpen ((char *) uuidname, O_RDONLY)) >= 0)
+@@ -162,7 +180,7 @@ FcDirCacheReadUUID (FcChar8  *dir,
+ 		{
+ 		    if (FcDebug () & FC_DBG_CACHE)
+ 			printf ("FcDirCacheReadUUID %s -> %s\n", uuidname, suuid);
+-		    FcHashTableAdd (config->uuid_table, dir, uuid);
++		    FcHashTableAdd (config->uuid_table, target, uuid);
+ 		}
+ 	    }
+ 	    close (fd);
+@@ -176,6 +194,7 @@ FcDirCacheReadUUID (FcChar8  *dir,
+     }
+     else
+ 	FcHashUuidFree (u);
++    FcStrFree (target);
+ }
+ #endif
+ 
+@@ -259,19 +278,22 @@ static FcChar8 *
+ FcDirCacheBasenameUUID (const FcChar8 *dir, FcChar8 cache_base[CACHEBASE_LEN], FcConfig *config)
+ {
+     void *u;
+-    FcChar8 *alias;
++    FcChar8 *target;
++    const FcChar8 *sysroot = FcConfigGetSysRoot (config);
+ 
+-    if (!FcHashTableFind (config->alias_table, dir, (void **)&alias))
+-	alias = FcStrdup (dir);
+-    if (FcHashTableFind (config->uuid_table, alias, &u))
++    if (sysroot)
++	target = FcStrBuildFilename (sysroot, dir, NULL);
++    else
++	target = FcStrdup (dir);
++    if (FcHashTableFind (config->uuid_table, target, &u))
+     {
+ 	uuid_unparse (u, (char *) cache_base);
+ 	strcat ((char *) cache_base, "-" FC_ARCHITECTURE FC_CACHE_SUFFIX);
+ 	FcHashUuidFree (u);
+-	FcStrFree (alias);
++	FcStrFree (target);
+ 	return cache_base;
+     }
+-    FcStrFree (alias);
++    FcStrFree (target);
+     return NULL;
+ }
+ #endif
+@@ -417,6 +439,7 @@ struct _FcCacheSkip {
+     FcCache	    *cache;
+     FcRef	    ref;
+     intptr_t	    size;
++    void	   *allocated;
+     dev_t	    cache_dev;
+     ino_t	    cache_ino;
+     time_t	    cache_mtime;
+@@ -542,6 +565,7 @@ FcCacheInsert (FcCache *cache, struct st
+ 
+     s->cache = cache;
+     s->size = cache->size;
++    s->allocated = NULL;
+     FcRefInit (&s->ref, 1);
+     if (cache_stat)
+     {
+@@ -616,6 +640,7 @@ FcCacheRemoveUnlocked (FcCache *cache)
+     FcCacheSkip	    **update[FC_CACHE_MAX_LEVEL];
+     FcCacheSkip	    *s, **next;
+     int		    i;
++    void            *allocated;
+ 
+     /*
+      * Find links along each chain
+@@ -633,6 +658,15 @@ FcCacheRemoveUnlocked (FcCache *cache)
+ 	*update[i] = s->next[i];
+     while (fcCacheMaxLevel > 0 && fcCacheChains[fcCacheMaxLevel - 1] == NULL)
+ 	fcCacheMaxLevel--;
++
++    allocated = s->allocated;
++    while (allocated)
++    {
++	/* First element in allocated chunk is the free list */
++	next = *(void **)allocated;
++	free (allocated);
++	allocated = next;
++    }
+     free (s);
+ }
+ 
+@@ -702,6 +736,30 @@ FcCacheObjectDereference (void *object)
+     unlock_cache ();
+ }
+ 
++void *
++FcCacheAllocate (FcCache *cache, size_t len)
++{
++    FcCacheSkip	*skip;
++    void *allocated = NULL;
++
++    lock_cache ();
++    skip = FcCacheFindByAddrUnlocked (cache);
++    if (skip)
++    {
++      void *chunk = malloc (sizeof (void *) + len);
++      if (chunk)
++      {
++	  /* First element in allocated chunk is the free list */
++	  *(void **)chunk = skip->allocated;
++	  skip->allocated = chunk;
++	  /* Return the rest */
++	  allocated = ((FcChar8 *)chunk) + sizeof (void *);
++      }
++    }
++    unlock_cache ();
++    return allocated;
++}
++
+ void
+ FcCacheFini (void)
+ {
+@@ -955,7 +1013,6 @@ FcCache *
+ FcDirCacheLoad (const FcChar8 *dir, FcConfig *config, FcChar8 **cache_file)
+ {
+     FcCache *cache = NULL;
+-    const FcChar8 *d;
+ 
+ #ifndef _WIN32
+     FcDirCacheReadUUID ((FcChar8 *) dir, config);
+@@ -965,10 +1022,6 @@ FcDirCacheLoad (const FcChar8 *dir, FcCo
+ 			    &cache, cache_file))
+ 	return NULL;
+ 
+-    d = FcCacheDir (cache);
+-    if (FcStrCmp (dir, d))
+-	FcHashTableAdd (config->alias_table, (FcChar8 *) d, (FcChar8 *) dir);
+-
+     return cache;
+ }
+ 
+diff -pruN fontconfig-2.13.0.orig/src/fccfg.c fontconfig-2.13.0/src/fccfg.c
+--- fontconfig-2.13.0.orig/src/fccfg.c	2018-06-08 18:34:36.546946321 +0900
++++ fontconfig-2.13.0/src/fccfg.c	2018-06-08 18:39:33.079539192 +0900
+@@ -144,12 +144,6 @@ FcConfigCreate (void)
+ 					    FcHashUuidCopy,
+ 					    (FcDestroyFunc) FcStrFree,
+ 					    FcHashUuidFree);
+-    config->alias_table = FcHashTableCreate ((FcHashFunc) FcStrHashIgnoreCase,
+-					     (FcCompareFunc) FcStrCmp,
+-					     FcHashStrCopy,
+-					     FcHashStrCopy,
+-					     (FcDestroyFunc) FcStrFree,
+-					     (FcDestroyFunc) FcStrFree);
+ 
+     FcRefInit (&config->ref, 1);
+ 
+@@ -313,7 +307,6 @@ FcConfigDestroy (FcConfig *config)
+ 	FcStrFree (config->sysRoot);
+ 
+     FcHashTableDestroy (config->uuid_table);
+-    FcHashTableDestroy (config->alias_table);
+ 
+     free (config);
+ }
+@@ -324,11 +317,15 @@ FcConfigDestroy (FcConfig *config)
+ 
+ FcBool
+ FcConfigAddCache (FcConfig *config, FcCache *cache,
+-		  FcSetName set, FcStrSet *dirSet)
++		  FcSetName set, FcStrSet *dirSet, FcChar8 *forDir)
+ {
+     FcFontSet	*fs;
+     intptr_t	*dirs;
+     int		i;
++    FcBool      relocated = FcFalse;
++
++    if (strcmp ((char *)FcCacheDir(cache), (char *)forDir) != 0)
++      relocated = FcTrue;
+ 
+     /*
+      * Add fonts
+@@ -342,23 +339,43 @@ FcConfigAddCache (FcConfig *config, FcCa
+ 	{
+ 	    FcPattern	*font = FcFontSetFont (fs, i);
+ 	    FcChar8	*font_file;
++	    FcChar8	*relocated_font_file = NULL;
+ 
+-	    /*
+-	     * Check to see if font is banned by filename
+-	     */
+ 	    if (FcPatternObjectGetString (font, FC_FILE_OBJECT,
+-					  0, &font_file) == FcResultMatch &&
+-		!FcConfigAcceptFilename (config, font_file))
++					  0, &font_file) == FcResultMatch)
+ 	    {
+-		continue;
++		if (relocated)
++		  {
++		    FcChar8 *slash = FcStrLastSlash (font_file);
++		    relocated_font_file = FcStrBuildFilename (forDir, slash + 1, NULL);
++		    font_file = relocated_font_file;
++		  }
++
++		/*
++		 * Check to see if font is banned by filename
++		 */
++		if (!FcConfigAcceptFilename (config, font_file))
++		{
++		    free (relocated_font_file);
++		    continue;
++		}
+ 	    }
+-		
++
+ 	    /*
+ 	     * Check to see if font is banned by pattern
+ 	     */
+ 	    if (!FcConfigAcceptFont (config, font))
++	    {
++		free (relocated_font_file);
+ 		continue;
+-		
++	    }
++
++	    if (relocated_font_file)
++	    {
++	      font = FcPatternCacheRewriteFile (font, cache, relocated_font_file);
++	      free (relocated_font_file);
++	    }
++
+ 	    if (FcFontSetAdd (config->fonts[set], font))
+ 		nref++;
+ 	}
+@@ -374,18 +391,14 @@ FcConfigAddCache (FcConfig *config, FcCa
+ 	for (i = 0; i < cache->dirs_count; i++)
+ 	{
+ 	    const FcChar8 *dir = FcCacheSubdir (cache, i);
+-	    FcChar8 *alias;
+-	    FcChar8 *d = FcStrDirname (dir);
+ 	    FcChar8 *s = NULL;
+ 
+-	    if (FcHashTableFind (config->alias_table, d, (void **)&alias))
++	    if (relocated)
+ 	    {
+ 		FcChar8 *base = FcStrBasename (dir);
+-		dir = s = FcStrBuildFilename (alias, base, NULL);
+-		FcStrFree (alias);
++		dir = s = FcStrBuildFilename (forDir, base, NULL);
+ 		FcStrFree (base);
+ 	    }
+-	    FcStrFree (d);
+ 	    if (FcConfigAcceptFilename (config, dir))
+ 		FcStrSetAddFilename (dirSet, dir);
+ 	    if (s)
+@@ -413,7 +426,7 @@ FcConfigAddDirList (FcConfig *config, Fc
+ 	cache = FcDirCacheRead (dir, FcFalse, config);
+ 	if (!cache)
+ 	    continue;
+-	FcConfigAddCache (config, cache, set, dirSet);
++	FcConfigAddCache (config, cache, set, dirSet, dir);
+ 	FcDirCacheUnload (cache);
+     }
+     FcStrListDone (dirlist);
+diff -pruN fontconfig-2.13.0.orig/src/fcint.h fontconfig-2.13.0/src/fcint.h
+--- fontconfig-2.13.0.orig/src/fcint.h	2018-02-04 19:20:56.000000000 +0900
++++ fontconfig-2.13.0/src/fcint.h	2018-06-08 18:39:33.080539208 +0900
+@@ -566,7 +566,6 @@ struct _FcConfig {
+     FcStrSet	*availConfigFiles;  /* config files available */
+     FcPtrList	*rulesetList;	    /* List of rulesets being installed */
+     FcHashTable *uuid_table;	    /* UUID table for cachedirs */
+-    FcHashTable *alias_table;	    /* alias table for cachedirs */
+ };
+ 
+ typedef struct _FcFileTime {
+@@ -617,9 +616,13 @@ FcCacheObjectReference (void *object);
+ FcPrivate void
+ FcCacheObjectDereference (void *object);
+ 
++FcPrivate void *
++FcCacheAllocate (FcCache *cache, size_t len);
++
+ FcPrivate void
+ FcCacheFini (void);
+ 
++
+ FcPrivate void
+ FcDirCacheReference (FcCache *cache, int nref);
+ 
+@@ -708,7 +711,7 @@ FcConfigModifiedTime (FcConfig *config);
+ 
+ FcPrivate FcBool
+ FcConfigAddCache (FcConfig *config, FcCache *cache,
+-		  FcSetName set, FcStrSet *dirSet);
++		  FcSetName set, FcStrSet *dirSet, FcChar8 *forDir);
+ 
+ FcPrivate FcRuleSet *
+ FcRuleSetCreate (const FcChar8 *name);
+@@ -1150,6 +1153,9 @@ FcPatternAppend (FcPattern *p, FcPattern
+ FcPrivate int
+ FcPatternPosition (const FcPattern *p, const char *object);
+ 
++FcPrivate FcPattern *
++FcPatternCacheRewriteFile (const FcPattern *pat, FcCache *cache, const FcChar8 *relocated_font_file);
++
+ FcPrivate FcChar32
+ FcStringHash (const FcChar8 *s);
+ 
+diff -pruN fontconfig-2.13.0.orig/src/fclist.c fontconfig-2.13.0/src/fclist.c
+--- fontconfig-2.13.0.orig/src/fclist.c	2017-12-05 21:44:22.000000000 +0900
++++ fontconfig-2.13.0/src/fclist.c	2018-06-08 18:39:33.049538728 +0900
+@@ -448,41 +448,6 @@ FcListAppend (FcListHashTable	*table,
+ 	e = FcPatternObjectFindElt (font, FcObjectFromName (os->objects[o]));
+ 	if (e)
+ 	{
+-	    if (FcRefIsConst (&font->ref) && !strcmp (os->objects[o], FC_FILE))
+-	    {
+-		FcChar8 *dir, *alias;
+-		FcConfig *config = FcConfigGetCurrent (); /* FIXME: this may need to be exported as API? */
+-
+-		for (v = FcPatternEltValues (e); v->value.type != FcTypeString; v = FcValueListNext (v));
+-		if (!v)
+-		    goto bail2;
+-		dir = FcStrDirname (FcValueString (&v->value));
+-		if (FcHashTableFind (config->alias_table, dir, (void **) &alias))
+-		{
+-		    FcChar8 *base = FcStrBasename (FcValueString (&v->value));
+-		    FcChar8 *s = FcStrBuildFilename (alias, base, NULL);
+-		    FcValue vv;
+-
+-		    FcStrFree (alias);
+-		    FcStrFree (base);
+-		    vv.type = FcTypeString;
+-		    vv.u.s = s;
+-		    if (!FcPatternAdd (bucket->pattern,
+-				       os->objects[o],
+-				       FcValueCanonicalize (&vv),
+-				       FcTrue))
+-		    {
+-			FcStrFree (s);
+-			FcStrFree (dir);
+-			goto bail2;
+-		    }
+-		    FcStrFree (s);
+-		    FcStrFree (dir);
+-		    goto bail3;
+-		}
+-		else
+-		    FcStrFree (dir);
+-	    }
+ 	    for (v = FcPatternEltValues(e), idx = 0; v;
+ 		 v = FcValueListNext(v), ++idx)
+ 	    {
+@@ -491,7 +456,6 @@ FcListAppend (FcListHashTable	*table,
+ 				   FcValueCanonicalize(&v->value), defidx != idx))
+ 		    goto bail2;
+ 	    }
+-	  bail3:;
+ 	}
+     }
+     *prev = bucket;
+diff -pruN fontconfig-2.13.0.orig/src/fcmatch.c fontconfig-2.13.0/src/fcmatch.c
+--- fontconfig-2.13.0.orig/src/fcmatch.c	2017-12-23 14:06:22.000000000 +0900
++++ fontconfig-2.13.0/src/fcmatch.c	2018-06-08 18:39:33.050538743 +0900
+@@ -682,43 +682,9 @@ FcFontRenderPrepare (FcConfig	    *confi
+ 	}
+ 	else
+ 	{
+-	    if (FcRefIsConst (&font->ref) && fe->object == FC_FILE_OBJECT)
+-	    {
+-		FcValueListPtr l = FcPatternEltValues (fe);
+-		FcChar8 *dir, *alias;
+-
+-		while (l->value.type != FcTypeString)
+-		    l = FcValueListNext (l);
+-		if (!l)
+-		    goto bail0;
+-		dir = FcStrDirname (FcValueString (&l->value));
+-		if (!config)
+-		    config = FcConfigGetCurrent ();
+-		if (config && FcHashTableFind (config->alias_table, dir, (void **) &alias))
+-		{
+-		    FcChar8 *base = FcStrBasename (FcValueString (&l->value));
+-		    FcChar8 *s = FcStrBuildFilename (alias, base, NULL);
+-		    FcValue v;
+-
+-		    FcStrFree (alias);
+-		    FcStrFree (base);
+-		    v.type = FcTypeString;
+-		    v.u.s = s;
+-		    FcPatternObjectAddWithBinding (new, fe->object,
+-						   FcValueCanonicalize (&v),
+-						   l->binding,
+-						   FcTrue);
+-		    FcStrFree (s);
+-		    FcStrFree (dir);
+-		    goto bail0;
+-		}
+-		else
+-		    FcStrFree (dir);
+-	    }
+ 	    FcPatternObjectListAdd (new, fe->object,
+ 				    FcValueListDuplicate (FcPatternEltValues (fe)),
+ 				    FcTrue);
+-	  bail0:;
+ 	}
+     }
+     for (i = 0; i < pat->num; i++)
+diff -pruN fontconfig-2.13.0.orig/src/fcpat.c fontconfig-2.13.0/src/fcpat.c
+--- fontconfig-2.13.0.orig/src/fcpat.c	2017-12-20 19:20:15.000000000 +0900
++++ fontconfig-2.13.0/src/fcpat.c	2018-06-08 18:39:33.050538743 +0900
+@@ -373,6 +373,71 @@ FcValueListHash (FcValueListPtr l)
+     return hash;
+ }
+ 
++static void *
++FcPatternGetCacheObject (FcPattern *p)
++{
++  /* We use a value to find the cache, instead of the FcPattern object
++   * because the pattern itself may be a cache allocation if we rewrote the path,
++   * so the p may not be in the cached region. */
++  return FcPatternEltValues(&FcPatternElts (p)[0]);
++}
++
++FcPattern *
++FcPatternCacheRewriteFile (const FcPattern *p,
++                           FcCache *cache,
++                           const FcChar8 *relocated_font_file)
++{
++    FcPatternElt *elts = FcPatternElts (p);
++    size_t i,j;
++    FcChar8 *data;
++    FcPattern *new_p;
++    FcPatternElt *new_elts;
++    FcValueList *new_value_list;
++    size_t new_path_len = strlen ((char *)relocated_font_file);
++    FcChar8 *new_path;
++
++    /* Allocate space for the patter, the PatternElt headers and
++     * the FC_FILE FcValueList and path that will be freed with the
++     * cache */
++    data = FcCacheAllocate (cache,
++			    sizeof (FcPattern) +
++			    p->num * sizeof (FcPatternElt) +
++			    sizeof (FcValueList) +
++			    new_path_len + 1);
++
++    new_p = (FcPattern *)data;
++    data += sizeof (FcPattern);
++    new_elts = (FcPatternElt *)(data);
++    data += p->num * sizeof (FcPatternElt);
++    new_value_list = (FcValueList *)data;
++    data += sizeof (FcValueList);
++    new_path = data;
++
++    *new_p = *p;
++    new_p->elts_offset = FcPtrToOffset (new_p, new_elts);
++
++    /* Copy all but the FILE values from the cache */
++    for (i = 0, j = 0; i < p->num; i++)
++    {
++	FcPatternElt *elt = &elts[i];
++	new_elts[j].object = elt->object;
++	if (elt->object != FC_FILE_OBJECT)
++	    new_elts[j++].values = FcPatternEltValues(elt);
++	else
++	    new_elts[j++].values = new_value_list;
++    }
++
++    new_value_list->next = NULL;
++    new_value_list->value.type = FcTypeString;
++    new_value_list->value.u.s = new_path;
++    new_value_list->binding = FcValueBindingWeak;
++
++    /* Add rewritten path at the end */
++    strcpy ((char *)new_path, (char *)relocated_font_file);
++
++    return new_p;
++}
++
+ void
+ FcPatternDestroy (FcPattern *p)
+ {
+@@ -384,10 +449,10 @@ FcPatternDestroy (FcPattern *p)
+ 
+     if (FcRefIsConst (&p->ref))
+     {
+-	FcCacheObjectDereference (p);
++	FcCacheObjectDereference (FcPatternGetCacheObject(p));
+ 	return;
+     }
+-	
++
+     if (FcRefDec (&p->ref) != 1)
+ 	return;
+ 
+@@ -1155,7 +1220,7 @@ FcPatternReference (FcPattern *p)
+     if (!FcRefIsConst (&p->ref))
+ 	FcRefInc (&p->ref);
+     else
+-	FcCacheObjectReference (p);
++	FcCacheObjectReference (FcPatternGetCacheObject(p));
+ }
+ 
+ FcPattern *
+diff -pruN fontconfig-2.13.0.orig/test/run-test.sh fontconfig-2.13.0/test/run-test.sh
+--- fontconfig-2.13.0.orig/test/run-test.sh	2017-12-18 21:25:18.000000000 +0900
++++ fontconfig-2.13.0/test/run-test.sh	2018-06-08 18:39:33.031538449 +0900
+@@ -202,4 +202,29 @@ fi
+ rm -rf $TESTTMPDIR out1 out2 xxx bind-fonts.conf
+ fi
+ 
++dotest "sysroot option"
++prep
++mkdir -p $MyPWD/sysroot/$FONTDIR
++mkdir -p $MyPWD/sysroot/$CACHEDIR
++cp $FONT1 $MyPWD/sysroot/$FONTDIR
++cp $MyPWD/fonts.conf $MyPWD/sysroot/$MyPWD/fonts.conf
++$FCCACHE -y $MyPWD/sysroot
++stat $MyPWD/sysroot/$FONTDIR/.uuid
++if test $? != 0; then
++  echo "*** Test failed: $TEST"
++  exit 1
++fi
++
++dotest "creating uuid-based cache file on sysroot"
++uuid=`cat $MyPWD/sysroot/$FONTDIR/.uuid`
++ls $MyPWD/sysroot/$CACHEDIR/$uuid*
++if [ $? != 0 ]; then
++  echo "*** Test failed: $TEST"
++  echo "No cache for $uuid"
++  ls $MyPWD/sysroot/$CACHEDIR
++  exit 1
++fi
++
++rm -rf $MyPWD/sysroot
++
+ rm -rf $FONTDIR $CACHEFILE $CACHEDIR $FONTCONFIG_FILE out
diff --git a/SOURCES/fontconfig-fix-memleaks.patch b/SOURCES/fontconfig-fix-memleaks.patch
new file mode 100644
index 0000000..9a70e6b
--- /dev/null
+++ b/SOURCES/fontconfig-fix-memleaks.patch
@@ -0,0 +1,40 @@
+From 684c3ce6850c4168e127ea84432e7a9006296ff4 Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Fri, 25 May 2018 13:51:10 +0900
+Subject: [PATCH 1/7] Fix leaks
+
+---
+ src/fcxml.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/src/fcxml.c b/src/fcxml.c
+index 1ee1ba1..c69ee50 100644
+--- a/src/fcxml.c
++++ b/src/fcxml.c
+@@ -2777,6 +2777,11 @@ FcParseAcceptRejectFont (FcConfigParse *parse, FcElement element)
+ 	    {
+ 		FcConfigMessage (parse, FcSevereError, "out of memory");
+ 	    }
++	    else
++	    {
++		if (parse->scanOnly && vstack->u.string)
++		    FcStrFree (vstack->u.string);
++	    }
+ 	    break;
+ 	case FcVStackPattern:
+ 	    if (!parse->scanOnly && !FcConfigPatternsAdd (parse->config,
+@@ -2786,7 +2791,11 @@ FcParseAcceptRejectFont (FcConfigParse *parse, FcElement element)
+ 		FcConfigMessage (parse, FcSevereError, "out of memory");
+ 	    }
+ 	    else
++	    {
++		if (parse->scanOnly && vstack->u.pattern)
++		    FcPatternDestroy (vstack->u.pattern);
+ 		vstack->tag = FcVStackNone;
++	    }
+ 	    break;
+ 	default:
+ 	    FcConfigMessage (parse, FcSevereWarning, "bad font selector");
+-- 
+2.17.1
+
diff --git a/SOURCES/fontconfig-freetype-compat.patch b/SOURCES/fontconfig-freetype-compat.patch
new file mode 100644
index 0000000..c5b7d45
--- /dev/null
+++ b/SOURCES/fontconfig-freetype-compat.patch
@@ -0,0 +1,33 @@
+diff -pruN fontconfig-2.13.0.orig/configure.ac fontconfig-2.13.0/configure.ac
+--- fontconfig-2.13.0.orig/configure.ac	2018-06-08 18:56:53.882676862 +0900
++++ fontconfig-2.13.0/configure.ac	2018-06-08 19:01:14.514726892 +0900
+@@ -319,6 +319,10 @@ fontconfig_save_cflags="$CFLAGS"
+ LIBS="$LIBS $FREETYPE_LIBS"
+ CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
+ AC_CHECK_FUNCS(FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_Get_X11_Font_Format FT_Done_MM_Var)
++AC_CHECK_MEMBERS([TT_OS2.usLowerOpticalPointSize, TT_OS2.usUpperOpticalPointSize], [], [], [[
++#include <ft2build.h>
++#include FT_FREETYPE_H
++#include FT_TRUETYPE_TABLES_H]])
+ 
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ 	#include <ft2build.h>
+diff -pruN fontconfig-2.13.0.orig/src/fcfreetype.c fontconfig-2.13.0/src/fcfreetype.c
+--- fontconfig-2.13.0.orig/src/fcfreetype.c	2018-03-02 13:27:09.000000000 +0900
++++ fontconfig-2.13.0/src/fcfreetype.c	2018-06-08 19:02:17.328703890 +0900
+@@ -1721,6 +1721,7 @@ FcFreeTypeQueryFaceInternal (const FT_Fa
+ 	free (complex_);
+     }
+ 
++#if defined (HAVE_TT_OS2_USUPPEROPTICALPOINTSIZE) && defined (HAVE_TT_OS2_USLOWEROPTICALPOINTSIZE)
+     if (!variable_size && os2 && os2->version >= 0x0005 && os2->version != 0xffff)
+     {
+ 	double lower_size, upper_size;
+@@ -1746,6 +1747,7 @@ FcFreeTypeQueryFaceInternal (const FT_Fa
+ 	    FcRangeDestroy (r);
+ 	}
+     }
++#endif
+ 
+     /*
+      * Type 1: Check for FontInfo dictionary information
diff --git a/SOURCES/fontconfig-implicit-object-for-const-name.patch b/SOURCES/fontconfig-implicit-object-for-const-name.patch
new file mode 100644
index 0000000..8dbde51
--- /dev/null
+++ b/SOURCES/fontconfig-implicit-object-for-const-name.patch
@@ -0,0 +1,31 @@
+From 4699406a68321179b14fae7412f828e2f37a7033 Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Wed, 14 Mar 2018 18:31:30 +0900
+Subject: [PATCH 2/5] Add the value of the constant name to the implicit object
+ in the pattern
+
+For objects which has been changed the object type to FcTypeRange.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=105415
+---
+ src/fcname.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/fcname.c b/src/fcname.c
+index 15fb659..c9320ae 100644
+--- a/src/fcname.c
++++ b/src/fcname.c
+@@ -490,6 +490,10 @@ FcNameParse (const FcChar8 *name)
+ 			if (!FcPatternAddBool (pat, c->object, c->value))
+ 			    goto bail2;
+ 			break;
++		    case FcTypeRange:
++			if (!FcPatternAddInteger (pat, c->object, c->value))
++			    goto bail2;
++			break;
+ 		    default:
+ 			break;
+ 		    }
+-- 
+2.14.3
+
diff --git a/SOURCES/fontconfig-locale.patch b/SOURCES/fontconfig-locale.patch
new file mode 100644
index 0000000..c63a717
--- /dev/null
+++ b/SOURCES/fontconfig-locale.patch
@@ -0,0 +1,274 @@
+From 923b5be626a6e03fbaeee0b5cd6d0246c2f8f36f Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Wed, 14 Mar 2018 12:35:05 +0900
+Subject: [PATCH 1/5] Do not override locale if already set by app
+
+https://bugs.freedesktop.org/show_bug.cgi?id=105492
+---
+ src/fccfg.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/fccfg.c b/src/fccfg.c
+index eb0b76d..e311f17 100644
+--- a/src/fccfg.c
++++ b/src/fccfg.c
+@@ -45,11 +45,16 @@ retry_locale:
+     is_locale_initialized = (intptr_t) fc_atomic_ptr_get (&static_is_locale_initialized);
+     if (!is_locale_initialized)
+     {
++	char *loc;
++
+ 	is_locale_initialized = FcTrue;
+ 	if (!fc_atomic_ptr_cmpexch (&static_is_locale_initialized, NULL,
+ 				    (void *)(intptr_t) is_locale_initialized))
+ 	    goto retry_locale;
+-	setlocale (LC_ALL, "");
++
++	loc = setlocale (LC_ALL, NULL);
++	if (!loc || strcmp (loc, "C") == 0)
++	    setlocale (LC_ALL, "");
+     }
+ retry_config:
+     config = fc_atomic_ptr_get (&_fcConfig);
+-- 
+2.14.3
+
+From 98eaef69af1350e459bf9c175476d3b772968874 Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Thu, 15 Mar 2018 12:17:52 +0900
+Subject: [PATCH 4/5] Leave the locale setting to applications
+
+https://bugs.freedesktop.org/show_bug.cgi?id=105492
+---
+ fc-conflist/fc-conflist.c |  2 ++
+ src/fccfg.c               | 22 ++--------------------
+ 2 files changed, 4 insertions(+), 20 deletions(-)
+
+diff --git a/fc-conflist/fc-conflist.c b/fc-conflist/fc-conflist.c
+index d02273b..5c40a0f 100644
+--- a/fc-conflist/fc-conflist.c
++++ b/fc-conflist/fc-conflist.c
+@@ -38,6 +38,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <locale.h>
+ 
+ #ifdef ENABLE_NLS
+ #include <libintl.h>
+@@ -102,6 +103,7 @@ main (int argc, char **argv)
+ #if HAVE_GETOPT_LONG || HAVE_GETOPT
+     int		c;
+ 
++    setlocale (LC_ALL, "");
+ #if HAVE_GETOPT_LONG
+     while ((c = getopt_long (argc, argv, "Vh", longopts, NULL)) != -1)
+ #else
+diff --git a/src/fccfg.c b/src/fccfg.c
+index e311f17..e35c451 100644
+--- a/src/fccfg.c
++++ b/src/fccfg.c
+@@ -26,7 +26,6 @@
+ 
+ #include "fcint.h"
+ #include <dirent.h>
+-#include <locale.h>
+ #include <sys/types.h>
+ 
+ #if defined (_WIN32) && !defined (R_OK)
+@@ -39,24 +38,7 @@ static FcConfig *
+ FcConfigEnsure (void)
+ {
+     FcConfig	*config;
+-    FcBool	is_locale_initialized;
+-    static void *static_is_locale_initialized;
+-retry_locale:
+-    is_locale_initialized = (intptr_t) fc_atomic_ptr_get (&static_is_locale_initialized);
+-    if (!is_locale_initialized)
+-    {
+-	char *loc;
+-
+-	is_locale_initialized = FcTrue;
+-	if (!fc_atomic_ptr_cmpexch (&static_is_locale_initialized, NULL,
+-				    (void *)(intptr_t) is_locale_initialized))
+-	    goto retry_locale;
+-
+-	loc = setlocale (LC_ALL, NULL);
+-	if (!loc || strcmp (loc, "C") == 0)
+-	    setlocale (LC_ALL, "");
+-    }
+-retry_config:
++retry:
+     config = fc_atomic_ptr_get (&_fcConfig);
+     if (!config)
+     {
+@@ -64,7 +46,7 @@ retry_config:
+ 
+ 	if (!fc_atomic_ptr_cmpexch (&_fcConfig, NULL, config)) {
+ 	    FcConfigDestroy (config);
+-	    goto retry_config;
++	    goto retry;
+ 	}
+     }
+     return config;
+-- 
+2.14.3
+
+From 2938e4d72da40f6bb0d22086c519a9852a820f40 Mon Sep 17 00:00:00 2001
+From: Akira TAGOH <akira@tagoh.org>
+Date: Thu, 15 Mar 2018 12:54:02 +0900
+Subject: [PATCH 5/5] call setlocale
+
+---
+ fc-cache/fc-cache.c     | 2 ++
+ fc-cat/fc-cat.c         | 2 ++
+ fc-list/fc-list.c       | 2 ++
+ fc-match/fc-match.c     | 2 ++
+ fc-pattern/fc-pattern.c | 2 ++
+ fc-query/fc-query.c     | 2 ++
+ fc-scan/fc-scan.c       | 2 ++
+ 7 files changed, 14 insertions(+)
+
+diff --git a/fc-cache/fc-cache.c b/fc-cache/fc-cache.c
+index dc93c19..87e3020 100644
+--- a/fc-cache/fc-cache.c
++++ b/fc-cache/fc-cache.c
+@@ -41,6 +41,7 @@
+ #include <fcntl.h>
+ #include <dirent.h>
+ #include <string.h>
++#include <locale.h>
+ 
+ #if defined (_WIN32)
+ #define STRICT
+@@ -302,6 +303,7 @@ main (int argc, char **argv)
+ #if HAVE_GETOPT_LONG || HAVE_GETOPT
+     int		c;
+ 
++    setlocale (LC_ALL, "");
+ #if HAVE_GETOPT_LONG
+     while ((c = getopt_long (argc, argv, "Efrsy:Vvh", longopts, NULL)) != -1)
+ #else
+diff --git a/fc-cat/fc-cat.c b/fc-cat/fc-cat.c
+index dfe30d7..69611bc 100644
+--- a/fc-cat/fc-cat.c
++++ b/fc-cat/fc-cat.c
+@@ -40,6 +40,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <errno.h>
++#include <locale.h>
+ 
+ #ifdef ENABLE_NLS
+ #include <libintl.h>
+@@ -271,6 +272,7 @@ main (int argc, char **argv)
+ #if HAVE_GETOPT_LONG || HAVE_GETOPT
+     int		c;
+ 
++    setlocale (LC_ALL, "");
+ #if HAVE_GETOPT_LONG
+     while ((c = getopt_long (argc, argv, "Vvrh", longopts, NULL)) != -1)
+ #else
+diff --git a/fc-list/fc-list.c b/fc-list/fc-list.c
+index 5cded50..2039acd 100644
+--- a/fc-list/fc-list.c
++++ b/fc-list/fc-list.c
+@@ -27,6 +27,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <locale.h>
+ #ifdef HAVE_CONFIG_H
+ #include <config.h>
+ #else
+@@ -117,6 +118,7 @@ main (int argc, char **argv)
+ #if HAVE_GETOPT_LONG || HAVE_GETOPT
+     int			c;
+ 
++    setlocale (LC_ALL, "");
+ #if HAVE_GETOPT_LONG
+     while ((c = getopt_long (argc, argv, "vbf:qVh", longopts, NULL)) != -1)
+ #else
+diff --git a/fc-match/fc-match.c b/fc-match/fc-match.c
+index 7902707..dee6147 100644
+--- a/fc-match/fc-match.c
++++ b/fc-match/fc-match.c
+@@ -36,6 +36,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <locale.h>
+ 
+ #ifdef ENABLE_NLS
+ #include <libintl.h>
+@@ -121,6 +122,7 @@ main (int argc, char **argv)
+ #if HAVE_GETOPT_LONG || HAVE_GETOPT
+     int			c;
+ 
++    setlocale (LC_ALL, "");
+ #if HAVE_GETOPT_LONG
+     while ((c = getopt_long (argc, argv, "asvbf:Vh", longopts, NULL)) != -1)
+ #else
+diff --git a/fc-pattern/fc-pattern.c b/fc-pattern/fc-pattern.c
+index f63761c..7989b81 100644
+--- a/fc-pattern/fc-pattern.c
++++ b/fc-pattern/fc-pattern.c
+@@ -36,6 +36,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <locale.h>
+ 
+ #ifdef ENABLE_NLS
+ #include <libintl.h>
+@@ -111,6 +112,7 @@ main (int argc, char **argv)
+ #if HAVE_GETOPT_LONG || HAVE_GETOPT
+     int		c;
+ 
++    setlocale (LC_ALL, "");
+ #if HAVE_GETOPT_LONG
+     while ((c = getopt_long (argc, argv, "cdf:Vh", longopts, NULL)) != -1)
+ #else
+diff --git a/fc-query/fc-query.c b/fc-query/fc-query.c
+index 9da090d..fbffb84 100644
+--- a/fc-query/fc-query.c
++++ b/fc-query/fc-query.c
+@@ -39,6 +39,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <locale.h>
+ 
+ #ifdef ENABLE_NLS
+ #include <libintl.h>
+@@ -115,6 +116,7 @@ main (int argc, char **argv)
+ #if HAVE_GETOPT_LONG || HAVE_GETOPT
+     int		c;
+ 
++    setlocale (LC_ALL, "");
+ #if HAVE_GETOPT_LONG
+     while ((c = getopt_long (argc, argv, "i:bf:Vh", longopts, NULL)) != -1)
+ #else
+diff --git a/fc-scan/fc-scan.c b/fc-scan/fc-scan.c
+index edb967c..9302ac5 100644
+--- a/fc-scan/fc-scan.c
++++ b/fc-scan/fc-scan.c
+@@ -39,6 +39,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <locale.h>
+ 
+ #ifdef ENABLE_NLS
+ #include <libintl.h>
+@@ -110,6 +111,7 @@ main (int argc, char **argv)
+ #if HAVE_GETOPT_LONG || HAVE_GETOPT
+     int		c;
+ 
++    setlocale (LC_ALL, "");
+ #if HAVE_GETOPT_LONG
+     while ((c = getopt_long (argc, argv, "bf:Vh", longopts, NULL)) != -1)
+ #else
+-- 
+2.14.3
+
diff --git a/SOURCES/fontconfig-required-freetype-version.patch b/SOURCES/fontconfig-required-freetype-version.patch
new file mode 100644
index 0000000..6f7aae3
--- /dev/null
+++ b/SOURCES/fontconfig-required-freetype-version.patch
@@ -0,0 +1,14 @@
+diff -pruN fontconfig-2.12.93.orig/configure.ac fontconfig-2.12.93/configure.ac
+--- fontconfig-2.12.93.orig/configure.ac	2018-02-15 22:01:54.000000000 +0900
++++ fontconfig-2.12.93/configure.ac	2018-02-15 22:33:42.353941393 +0900
+@@ -308,8 +308,8 @@ AC_DEFINE_UNQUOTED(USE_ICONV,$use_iconv,
+ # Checks for FreeType
+ #
+ dnl See http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/VERSIONS.TXT for versioning in freetype
+-PKG_CHECK_MODULES(FREETYPE, freetype2 >= 21.0.15)
+-PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES freetype2 >= 21.0.15"
++PKG_CHECK_MODULES(FREETYPE, freetype2 >= 20.0.14)
++PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES freetype2 >= 20.0.14"
+ 
+ AC_SUBST(FREETYPE_LIBS)
+ AC_SUBST(FREETYPE_CFLAGS)
diff --git a/SOURCES/fontconfig-revert-urw-alias.patch b/SOURCES/fontconfig-revert-urw-alias.patch
new file mode 100644
index 0000000..8d34d31
--- /dev/null
+++ b/SOURCES/fontconfig-revert-urw-alias.patch
@@ -0,0 +1,213 @@
+From 2084b76bea78f9a41349de57d76134efd5174d96 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
+Date: Fri, 15 Sep 2017 22:52:52 +0200
+Subject: [PATCH 324/491] build: Remove references to deleted file
+
+Commit cc67d7df17 removed 30-urw-aliases.conf, so don't try to
+install it.
+---
+ conf.d/Makefile.am | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/conf.d/Makefile.am b/conf.d/Makefile.am
+index fd50a5d..ff03fb2 100644
+--- a/conf.d/Makefile.am
++++ b/conf.d/Makefile.am
+@@ -29,7 +29,6 @@ CONF_LINKS = \
+ 	10-hinting-$(PREFERRED_HINTING).conf	\
+ 	10-scale-bitmap-fonts.conf \
+ 	20-unhint-small-vera.conf \
+-	30-urw-aliases.conf \
+ 	30-metric-aliases.conf \
+ 	40-nonlatin.conf \
+ 	45-generic.conf \
+@@ -70,7 +69,6 @@ template_DATA =				\
+ 	11-lcdfilter-light.conf		\
+ 	20-unhint-small-vera.conf	\
+ 	25-unhint-nonlatin.conf		\
+-	30-urw-aliases.conf		\
+ 	30-metric-aliases.conf		\
+ 	40-nonlatin.conf		\
+ 	45-generic.conf			\
+-- 
+2.17.1
+
+From cc67d7df172431cb345ed42c27eb852e2ee65ae2 Mon Sep 17 00:00:00 2001
+From: "David Kaspar [Dee'Kej]" <dkaspar@redhat.com>
+Date: Fri, 1 Sep 2017 11:05:16 +0200
+Subject: [PATCH 323/491] conf.d: Drop aliases for (URW)++ fonts
+
+  They have become a part of (URW)++ upstream release now:
+  https://github.com/ArtifexSoftware/urw-base35-fonts/tree/master/fontconfig
+---
+ conf.d/30-metric-aliases.conf | 29 +++--------------------------
+ conf.d/30-urw-aliases.conf    | 33 ---------------------------------
+ 2 files changed, 3 insertions(+), 59 deletions(-)
+ delete mode 100644 conf.d/30-urw-aliases.conf
+
+diff --git a/conf.d/30-metric-aliases.conf b/conf.d/30-metric-aliases.conf
+index 1f0778d..c755c5e 100644
+--- a/conf.d/30-metric-aliases.conf
++++ b/conf.d/30-metric-aliases.conf
+@@ -44,6 +44,9 @@ but in an order preferring similar designs first.  We do this in three steps:
+ 3) Alias each generic to its specifics.
+    e.g. Arial to Liberation Sans, Arimo, Albany, and Albany AMT
+ 
++NOTE: The (URW)++ fonts mappings of generics to specifics were removed, because
++      upstream now includes them in their release of (URW)++ Core Font Set here:
++      https://github.com/ArtifexSoftware/urw-base35-fonts/tree/master/fontconfig
+ -->
+ 
+ <!-- Map specifics to generics -->
+@@ -308,7 +311,6 @@ but in an order preferring similar designs first.  We do this in three steps:
+ 	  </default>
+ 	</alias>
+ 
+-
+ 	<!-- Microsoft -->
+ 	<alias binding="same">
+ 	  <family>Arimo</family>
+@@ -460,7 +462,6 @@ but in an order preferring similar designs first.  We do this in three steps:
+ 	  </default>
+ 	</alias>
+ 
+-
+ 	<!-- Microsoft -->
+ 	<alias>
+ 	  <family>Arial</family>
+@@ -490,8 +491,6 @@ but in an order preferring similar designs first.  We do this in three steps:
+ 	  </default>
+ 	</alias>
+ 
+-
+-
+ <!-- Map generics to specifics -->
+ 
+ 	<!-- PostScript -->
+@@ -499,8 +498,6 @@ but in an order preferring similar designs first.  We do this in three steps:
+ 	  <family>Helvetica</family>
+ 	  <accept>
+ 	  <family>TeX Gyre Heros</family>
+-	  <family>Nimbus Sans</family>
+-	  <family>Nimbus Sans L</family>
+ 	  </accept>
+ 	</alias>
+ 
+@@ -508,7 +505,6 @@ but in an order preferring similar designs first.  We do this in three steps:
+ 	  <family>Helvetica Narrow</family>
+ 	  <accept>
+ 	  <family>TeX Gyre Heros Cn</family>
+-	  <family>Nimbus Sans Narrow</family>
+ 	  </accept>
+ 	</alias>
+ 
+@@ -516,8 +512,6 @@ but in an order preferring similar designs first.  We do this in three steps:
+ 	  <family>Times</family>
+ 	  <accept>
+ 	  <family>TeX Gyre Termes</family>
+-	  <family>Nimbus Roman</family>
+-	  <family>Nimbus Roman No9 L</family>
+ 	  </accept>
+ 	</alias>
+ 
+@@ -525,9 +519,6 @@ but in an order preferring similar designs first.  We do this in three steps:
+ 	  <family>Courier</family>
+ 	  <accept>
+ 	  <family>TeX Gyre Cursor</family>
+-	  <family>Nimbus Mono PS</family>
+-	  <family>Nimbus Mono</family>
+-	  <family>Nimbus Mono L</family>
+ 	  </accept>
+ 	</alias>
+ 
+@@ -535,8 +526,6 @@ but in an order preferring similar designs first.  We do this in three steps:
+ 	  <family>ITC Avant Garde Gothic</family>
+ 	  <accept>
+ 	  <family>TeX Gyre Adventor</family>
+-	  <family>URW Gothic</family>
+-	  <family>URW Gothic L</family>
+ 	  </accept>
+ 	</alias>
+ 
+@@ -545,9 +534,6 @@ but in an order preferring similar designs first.  We do this in three steps:
+ 	  <accept>
+ 	  <family>Bookman Old Style</family>
+ 	  <family>TeX Gyre Bonum</family>
+-	  <family>URW Bookman</family>
+-	  <family>Bookman URW</family>
+-	  <family>URW Bookman L</family>
+ 	  </accept>
+ 	</alias>
+ 
+@@ -555,9 +541,6 @@ but in an order preferring similar designs first.  We do this in three steps:
+ 	  <family>ITC Zapf Chancery</family>
+ 	  <accept>
+ 	  <family>TeX Gyre Chorus</family>
+-	  <family>Z003</family>
+-	  <family>Chancery URW</family>
+-	  <family>URW Chancery L</family>
+ 	  </accept>
+ 	</alias>
+ 
+@@ -566,9 +549,6 @@ but in an order preferring similar designs first.  We do this in three steps:
+ 	  <accept>
+ 	  <family>Palatino Linotype</family>
+ 	  <family>TeX Gyre Pagella</family>
+-	  <family>P052</family>
+-	  <family>Palladio URW</family>
+-	  <family>URW Palladio L</family>
+ 	  </accept>
+ 	</alias>
+ 
+@@ -577,9 +557,6 @@ but in an order preferring similar designs first.  We do this in three steps:
+ 	  <accept>
+ 	  <family>Century Schoolbook</family>
+ 	  <family>TeX Gyre Schola</family>
+-	  <family>C059</family>
+-	  <family>Century SchoolBook URW</family>
+-	  <family>Century Schoolbook L</family>
+ 	  </accept>
+ 	</alias>
+ 
+diff --git a/conf.d/30-urw-aliases.conf b/conf.d/30-urw-aliases.conf
+deleted file mode 100644
+index cfde071..0000000
+--- a/conf.d/30-urw-aliases.conf
++++ /dev/null
+@@ -1,33 +0,0 @@
+-<?xml version="1.0"?>
+-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+-<fontconfig>
+-<!--
+-  URW provides metric and shape compatible fonts for some Adobe families.
+-  Most of these are handled in 30-metric-aliases.conf.
+-  -->
+-	<alias binding="same">
+-	  <family>Zapf Dingbats</family>
+-	  <accept>
+-	    <family>D050000L</family>
+-	    <family>Dingbats</family>
+-	  </accept>
+-	</alias>
+-	<alias binding="same">
+-	  <family>ITC Zapf Dingbats</family>
+-	  <accept>
+-	    <family>D050000L</family>
+-	    <family>Dingbats</family>
+-	  </accept>
+-	</alias>
+-	<match target="pattern">
+-	  <test name="family" compare="eq" ignore-blanks="true">
+-	    <string>Symbol</string>
+-	  </test>
+-	  <edit name="family" mode="append" binding="same">
+-	    <string>Standard Symbols PS</string>
+-	  </edit>
+-	  <edit name="family" mode="append" binding="same">
+-	    <string>Standard Symbols L</string>
+-	  </edit>
+-	</match>
+-</fontconfig>
+-- 
+2.17.1
+
diff --git a/SOURCES/fontconfig-sleep-less.patch b/SOURCES/fontconfig-sleep-less.patch
new file mode 100644
index 0000000..bd9c58c
--- /dev/null
+++ b/SOURCES/fontconfig-sleep-less.patch
@@ -0,0 +1,12 @@
+diff -pruN fontconfig-2.12.91.orig/fc-cache/fc-cache.c fontconfig-2.12.91/fc-cache/fc-cache.c
+--- fontconfig-2.12.91.orig/fc-cache/fc-cache.c	2017-11-20 21:02:20.000000000 +0900
++++ fontconfig-2.12.91/fc-cache/fc-cache.c	2017-12-14 16:59:19.002003145 +0900
+@@ -413,7 +413,7 @@ main (int argc, char **argv)
+      */
+     /* the resolution of mtime on FAT is 2 seconds */
+     if (changed)
+-	sleep (2);
++	sleep (1);
+     if (verbose)
+ 	printf ("%s: %s\n", argv[0], ret ? _("failed") : _("succeeded"));
+     return ret;
diff --git a/SPECS/fontconfig.spec b/SPECS/fontconfig.spec
new file mode 100644
index 0000000..ffcb02d
--- /dev/null
+++ b/SPECS/fontconfig.spec
@@ -0,0 +1,863 @@
+%global freetype_version 2.8-7
+
+Summary:	Font configuration and customization library
+Name:		fontconfig
+Version:	2.13.0
+Release:	4.3%{?dist}
+# src/ftglue.[ch] is in Public Domain
+# src/fccache.c contains Public Domain code
+# fc-case/CaseFolding.txt is in the UCD
+# otherwise MIT
+License:	MIT and Public Domain and UCD
+Group:		System Environment/Libraries
+Source:		http://fontconfig.org/release/%{name}-%{version}.tar.bz2
+URL:		http://fontconfig.org
+Source1:	25-no-bitmap-fedora.conf
+Source2:	fc-cache
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=140335
+Patch0:		%{name}-sleep-less.patch
+Patch1:		%{name}-required-freetype-version.patch
+Patch2:		%{name}-const-name-in-range.patch
+Patch3:		%{name}-implicit-object-for-const-name.patch
+Patch4:		%{name}-locale.patch
+Patch5:		%{name}-fix-embolden-logic.patch
+Patch6:		%{name}-fix-memleaks.patch
+Patch7:		%{name}-fix-flatpak.patch
+Patch8:		%{name}-fix-doublefree.patch
+Patch9:		%{name}-revert-urw-alias.patch
+Patch10:	%{name}-drop-incompatible-conf.patch
+Patch11:	%{name}-freetype-compat.patch
+
+BuildRequires:	expat-devel
+BuildRequires:	freetype-devel >= %{freetype_version}
+BuildRequires:	fontpackages-devel
+BuildRequires:	libuuid-devel
+BuildRequires:	autoconf automake libtool gettext itstool
+BuildRequires:	gperf
+
+Requires:	fontpackages-filesystem freetype
+Requires(pre):	freetype >= 2.8-7
+Requires(post):	grep coreutils
+Requires:	dejavu-sans-fonts
+
+%description
+Fontconfig is designed to locate fonts within the
+system and select them according to requirements specified by 
+applications.
+
+%package	devel
+Summary:	Font configuration and customization library
+Group:		Development/Libraries
+Requires:	%{name}%{?_isa} = %{version}-%{release}
+Requires:	freetype-devel >= %{freetype_version}
+Requires:	pkgconfig
+Requires:	gettext
+
+%description	devel
+The fontconfig-devel package includes the header files,
+and developer docs for the fontconfig package.
+
+Install fontconfig-devel if you want to develop programs which 
+will use fontconfig.
+
+%package	devel-doc
+Summary:	Development Documentation files for fontconfig library
+Group:		Documentation
+BuildArch:	noarch
+Requires:	%{name}-devel = %{version}-%{release}
+
+%description	devel-doc
+The fontconfig-devel-doc package contains the documentation files
+which is useful for developing applications that uses fontconfig.
+
+%prep
+%setup -q
+%patch0 -p1 -b .sleep-less
+%patch1 -p1 -b .freetype
+%patch2 -p1 -b .const-range
+%patch3 -p1 -b .const
+%patch4 -p1 -b .locale
+%patch5 -p1 -b .embolden
+%patch6 -p1 -b .memleaks
+%patch7 -p1 -b .flatpak
+%patch8 -p1 -b .doublefree
+%patch9 -p1 -b .urw -R
+%patch10 -p1 -b .incompat
+%patch11 -p1 -b .freetype-compat
+
+%build
+# We don't want to rebuild the docs, but we want to install the included ones.
+export HASDOCBOOK=no
+
+autoreconf
+%configure	--with-add-fonts=/usr/share/X11/fonts/Type1,/usr/share/X11/fonts/TTF,/usr/local/share/fonts \
+		--disable-static --with-cache-dir=/usr/lib/fontconfig/cache
+
+make %{?_smp_mflags} V=1
+
+%install
+make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" V=1
+
+find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
+
+install -p -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/fonts/conf.d
+ln -s %{_fontconfig_templatedir}/25-unhint-nonlatin.conf $RPM_BUILD_ROOT%{_fontconfig_confdir}/
+
+# move installed doc files back to build directory to package them
+# in the right place
+mv $RPM_BUILD_ROOT%{_docdir}/fontconfig/* .
+rmdir $RPM_BUILD_ROOT%{_docdir}/fontconfig/
+
+# rename fc-cache binary
+mv $RPM_BUILD_ROOT%{_bindir}/fc-cache $RPM_BUILD_ROOT%{_bindir}/fc-cache-%{__isa_bits}
+
+install -p -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/fc-cache
+
+%find_lang %{name}
+%find_lang %{name}-conf
+cat %{name}-conf.lang >> %{name}.lang
+
+%check
+make check V=1
+
+%post
+/sbin/ldconfig
+
+umask 0022
+
+mkdir -p /usr/lib/fontconfig/cache
+
+[[ -d %{_localstatedir}/cache/fontconfig ]] && rm -rf %{_localstatedir}/cache/fontconfig/* 2> /dev/null || :
+
+# Force regeneration of all fontconfig cache files
+# The check for existance is needed on dual-arch installs (the second
+#  copy of fontconfig might install the binary instead of the first)
+# The HOME setting is to avoid problems if HOME hasn't been reset
+if [ -x /usr/bin/fc-cache ] && /usr/bin/fc-cache --version 2>&1 | grep -q %{version} ; then
+  HOME=/root /usr/bin/fc-cache -f
+fi
+
+%postun -p /sbin/ldconfig
+
+%files -f %{name}.lang
+%doc README AUTHORS COPYING
+%doc fontconfig-user.txt fontconfig-user.html
+%doc %{_fontconfig_confdir}/README
+%{_libdir}/libfontconfig.so.*
+%{_bindir}/fc-cache*
+%{_bindir}/fc-cat
+%{_bindir}/fc-conflist
+%{_bindir}/fc-list
+%{_bindir}/fc-match
+%{_bindir}/fc-pattern
+%{_bindir}/fc-query
+%{_bindir}/fc-scan
+%{_bindir}/fc-validate
+%{_fontconfig_templatedir}/*.conf
+%{_datadir}/xml/fontconfig
+# fonts.conf is not supposed to be modified.
+# If you want to do so, you should use local.conf instead.
+%config %{_fontconfig_masterdir}/fonts.conf
+%config(noreplace) %{_fontconfig_confdir}/*.conf
+%dir /usr/lib/fontconfig/cache
+%{_mandir}/man1/*
+%{_mandir}/man5/*
+
+%files devel
+%{_libdir}/libfontconfig.so
+%{_libdir}/pkgconfig/*
+%{_includedir}/fontconfig
+%{_mandir}/man3/*
+%{_datadir}/gettext/its/fontconfig.its
+%{_datadir}/gettext/its/fontconfig.loc
+
+%files devel-doc
+%doc fontconfig-devel.txt fontconfig-devel
+
+%changelog
+* Fri Jun 08 2018 Akira TAGOH <tagoh@redhat.com> - 2.13.0-4.3
+- Add 30-urw-aliases.conf back.
+
+* Fri Jun 08 2018 Akira TAGOH <tagoh@redhat.com> - 2.13.0-4.2
+- Drop more new syntax in config.
+
+* Fri Jun 08 2018 Akira TAGOH <tagoh@redhat.com> - 2.13.0-4.1
+- Rebase to 2.13.0 (#1576501)
+- Rename fc-cache binary to fc-cache-{32,64} for multilib. (#1568968)
+- backport some fixes related to Flatpak.
+- Drop new syntax in config for compatibility.
+- Requires dejavu-sans-fonts instead of font(:lang=en) (#1484094)
+
+* Fri Feb 24 2017 Akira TAGOH <tagoh@redhat.com> - 2.10.95-11
+- Add Requires: font(:lang=en) (#1403957)
+
+* Fri Sep 23 2016 Akira TAGOH <tagoh@redhat.com> - 2.10.95-10
+- Fix a regression in the previous change. (#1355930)
+
+* Fri Aug  5 2016 Akira TAGOH <tagoh@redhat.com> - 2.10.95-9
+- CVE-2016-5384: Validate offsets in cache files properly. (#1355930)
+
+* Fri Jun 10 2016 Akira TAGOH <tagoh@redhat.com> - 2.10.95-8
+- Update 45-latin.conf to add some hints to fall back for Windows fonts (#1073460)
+
+* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 2.10.95-7
+- Mass rebuild 2014-01-24
+
+* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 2.10.95-6
+- Mass rebuild 2013-12-27
+
+* Tue Oct  8 2013 Akira TAGOH <tagoh@redhat.com> - 2.10.95-5
+- Fix the race condition issue on updating cache (#1011510)
+- Fix crash issue in FcFontSort()
+- Fix an issue not copying all values from the font.
+
+* Fri Sep 13 2013 Akira TAGOH <tagoh@redhat.com> - 2.10.95-4
+- Fix memory leaks in FcFreeTypeQueryFace().
+
+* Mon Sep  2 2013 Akira TAGOH <tagoh@redhat.com> - 2.10.95-3
+- Do not create a directory for migration when no old config file and directory.
+  (#1003495)
+
+* Sat Aug 31 2013 Akira TAGOH <tagoh@redhat.com> - 2.10.95-1
+- Fix a crash issue (#1003069)
+
+* Fri Aug 30 2013 Akira TAGOH <tagoh@redhat.com> - 2.10.94-1
+- New upstream release.
+- migrate the configuration for XDG Base Directory spec automatically (#882267)
+
+* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.10.93-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Mon May 20 2013 Akira TAGOH <tagoh@redhat.com> - 2.10.93-1
+- New upstream release.
+
+* Thu Apr 11 2013 Akira TAGOH <tagoh@redhat.com> - 2.10.92-3
+- Fix a web font issue in firefox. (#946859)
+
+* Mon Apr  1 2013 Akira TAGOH <tagoh@redhat.com> - 2.10.92-2
+- Fix font matching issue. (#929372)
+
+* Fri Mar 29 2013 Akira TAGOH <tagoh@redhat.com> - 2.10.92-1
+- New upstream release.
+
+* Tue Feb 12 2013 Akira TAGOH <tagoh@redhat.com> - 2.10.91-3
+- Improve the spec to meet the latest packaging guidelines (#225759)
+  - add -devel-doc subpackage.
+- Fix a build issue with automake 1.13
+
+* Fri Feb  8 2013 Ville Skyttä <ville.skytta@iki.fi> - 2.10.91-2
+- Own the %%{_datadir}/xml/fontconfig dir.
+- Fix bogus dates in %%changelog.
+
+* Fri Jan 11 2013 Akira TAGOH <tagoh@redhat.com> - 2.10.91-1
+- New upstream release (#894109)
+  - threadsafe
+  - new tool to validate the glyph coverage
+  - add new rule to scale the bitmap font.
+
+* Mon Nov 26 2012 Akira TAGOH <tagoh@redhat.com> - 2.10.2-1
+- New upstream release.
+  - Fix an regression on FcFontMatch with namelang. (#876970)
+
+* Thu Oct 25 2012 Akira TAGOH <tagoh@redhat.com> - 2.10.1-2
+- Update License field (#869614)
+
+* Fri Jul 27 2012 Akira TAGOH <tagoh@redhat.com> - 2.10.1-1
+- New upstream release.
+
+* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.10.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Tue Jul 17 2012 Akira TAGOH <tagoh@redhat.com> - 2.10.0-1
+- New upstream release.
+
+* Mon Jun 25 2012 Akira TAGOH <tagoh@redhat.com> - 2.9.92-1
+- New upstream release.
+
+* Mon Jun 11 2012 Akira TAGOH <tagoh@redhat.com> - 2.9.91-1
+- New upstream release.
+  - docs are generated with the fixed docbook (#826145)
+  - handle whitespace in family name correctly (#468565, #591634)
+  - Updated ne.orth. (#586763)
+
+* Wed May 16 2012 Akira TAGOH <tagoh@redhat.com> - 2.9.0-2
+- Add grep and coreutils to Requires(post). (#821957)
+
+* Fri Mar 23 2012 Akira TAGOH <tagoh@redhat.com>
+- backport patch to make 'result' from FcFontMatch() and FcFontSort()
+  more reliable.
+
+* Wed Mar 21 2012 Akira TAGOH <tagoh@redhat.com> - 2.9.0-1
+- New upstream release (#803559)
+  - Update ks.orth (#790471)
+  - Add brx.orth (#790460)
+  - Update ur.orth (#757985)
+  - No Apple Roman cmap support anymore. should works. (#681808)
+  - Update ne.orth (#586763)
+  - Add a workaround for ZapfDingbats. (#562952, #497648, #468565)
+- clean up the spec file.
+- Add BR: fontpackages-devel.
+- Add R: fontpackages-filesystem.
+
+* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.0-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Tue May 31 2011 Adam Jackson <ajax@redhat.com> 2.8.0-4
+- fontconfig-2.8.0-dingbats.patch: Hack for dingbats font matching. (#468565)
+
+* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Thu Jun 24 2010 Adam Jackson <ajax@redhat.com> 2.8.0-2
+- fontconfig-2.8.0-sleep-less.patch: Make a stupid sleep() in fc-cache
+  slightly less stupid.
+
+* Thu Dec  3 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.8.0-1
+- Update to 2.8.0
+
+* Tue Sep  8 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.7.3-1
+- Update to 2.7.3
+
+* Mon Aug 31 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.7.2-1
+- Update to 2.7.2
+
+* Mon Jul  27 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.7.1-1
+- Update to 2.7.1
+
+* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Wed Jun 24 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.7.0
+- Update to 2.7.0
+
+* Mon Jun  1 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.99.behdad.20090601-1
+- Update to 2.6.99.behdad.20090601
+
+* Fri May  8 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.99.behdad.20090508-1
+- Update to 2.6.99.behdad.20090508
+- Resolves #497984
+
+* Wed Mar 18 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.99.behdad.20090318-1
+- Update to 2.6.99.behdad.20090318
+- Resolves #490888
+
+* Tue Mar 17 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.99.behdad.20090317-1
+- Update to 2.6.99.behdad.20090317
+- Resolves #485685
+
+* Sat Mar 14 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.99.behdad-3
+- New tarball with version fixed in the header
+
+* Fri Mar 13 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.99.behdad-2
+- Previous tarball was broken.  Rebuild with respinned ball.
+
+* Fri Mar 13 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.99.behdad-1
+- Update to 2.6.99.behdad
+
+* Tue Mar 10 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.98-1.gb39c36a
+- Update to 2.6.98-1.gb39c36a
+
+* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.97-5.g945d6a4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Mon Feb 23 2009 Nicolas Mailhot <nim at fedoraproject dot org>
+- 2.6.97-4.g945d6a4
+— global-ization
+
+* Mon Feb 16 2009 Richard Hughes <rhughes@redhat.com> - 2.6.97-3.g945d6a4
+- Correct the rpm provide name to be font(), not Font().
+
+* Sun Feb 15 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.97-2.g945d6a4
+- Another try.
+
+* Sun Feb 15 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.97-1.g945d6a4
+- Update to 2.6.97-1.g945d6a4
+
+* Sun Feb 15 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.96-1.g0b290a6
+- Update to 2.6.96-1.g0b290a6
+
+* Tue Jan 27 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.95-1.git.66.gb162bfb
+- Update to 2.6.95-1.git.66.gb162bfb
+
+* Fri Jan 23 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.94-1.git.65.g628ee83
+- Update to 2.6.94-1.git.65.g628ee83
+
+* Wed Jan 21 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.93-1.git.64.g6aa4dce
+- Update to 2.6.93-1.git.64.g6aa4dce
+
+* Mon Jan 19 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.92-1.git.64.g167bb82
+- Update to 2.6.92-1.git.64.g167bb82
+
+* Mon Jan 19 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.91-1.git.64.g9feaf34
+- Update to 2.6.91-1.git.64.g9feaf34
+
+* Fri Jan 16 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.90-3.git.63.g6bb4b9a
+- Install fc-scan and fc-query
+
+* Fri Jan 16 2009 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.90-2.git.63.g6bb4b9a
+- Update to 2.6.90-1.git.63.g6bb4b9a
+- Remove upstreamed patch
+
+* Mon Oct 20 2008 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.0-3
+- Add fontconfig-2.6.0-indic.patch
+- Resolves: #464470
+
+* Sun Jun 01 2008 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.0-2
+- Fix build.
+
+* Sat May 31 2008 Behdad Esfahbod <besfahbo@redhat.com> - 2.6.0-1
+- Update to 2.6.0.
+
+* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.5.0-2
+- Autorebuild for GCC 4.3
+
+* Wed Nov 14 2007 Behdad Esfahbod <besfahbo@redhat.com> - 2.5.0-1
+- Update to 2.5.0.
+
+* Tue Nov 06 2007 Behdad Esfahbod <besfahbo@redhat.com> - 2.4.92-1
+- Update to 2.4.92.
+- Mark /etc/fonts/conf.d/* as config(noreplace).
+- Remove most of our conf file, all upstreamed except for
+  75-blacklist-fedora.conf that I'm happily dropping.  Who has
+  Hershey fonts these days...
+- ln upstream'ed 25-unhint-nonlatin.conf from conf.avail in conf.d
+- Add 25-no-bitmap-fedora.conf which is the tiny remaining bit
+  of conf that didn't end up upstream.  Can get rid of it in the
+  future, but not just yet.
+
+* Thu Oct 25 2007 Behdad Esfahbod <besfahbo@redhat.com> - 2.4.91-1
+- Update to 2.4.91.
+- Add /usr/local/share/fonts to default config. (#147004)
+- Don't rebuild docs, to fix multilib conflicts. (#313011)
+- Remove docbook and elinks BuildRequires and stuff as we don't
+  rebuild docs.
+
+* Wed Aug 22 2007 Adam Jackson <ajax@redhat.com> - 2.4.2-5
+- Rebuild for PPC toolchain bug
+- Add BuildRequires: gawk
+
+* Sun Jun 17 2007 Matthias Clasen <mclasen@redhat.com> - 2.4.2-4
+- /etc/fonts/conf.d is now owned by filesystem
+
+* Fri May 11 2007 Matthias Clasen <mclasen@redhat.com> - 2.4.2-3
+- Add Liberation fonts to 30-aliases-fedora.conf
+
+* Fri Jan 12 2007 Behdad Esfahbod <besfahbo@redhat.com> - 2.4.2-2
+- Change /usr/share/X11/fonts/OTF to /usr/share/X11/fonts/TTF
+- Resolves: #220809
+
+* Tue Dec  5 2006 Matthias Clasen <mclasen@redhat.com> - 2.4.2-1
+- Update to 2.4.2
+
+* Wed Oct  4 2006 Matthias Clasen <mclasen@redhat.com> - 2.4.1-4
+- Fix a multilib upgrade problem (#208151)
+
+* Sun Oct 01 2006 Jesse Keating <jkeating@redhat.com> - 2.4.1-3
+- rebuilt for unwind info generation, broken in gcc-4.1.1-21
+
+* Fri Sep 22 2006 Behdad Esfahbod <besfahbo@redhat.com> - 2.4.1-2
+- Update 30-aliases-fedora.conf to correctly alias MS and StarOffice
+  fonts. (#207460)
+
+* Fri Sep 15 2006 Behdad Esfahbod <besfahbo@redhat.com> - 2.4.1-1
+- Update to 2.4.1, a public API was dropped from 2.4.0
+- Remove upstreamed patch
+
+* Mon Sep 11 2006 Behdad Esfahbod <besfahbo@redhat.com> - 2.4.0-1
+- Update to 2.4.0
+- Rename/order our configuration stuff to match the new scheme.
+  Breaks expected :-(
+
+* Thu Sep 07 2006 Behdad Esfahbod <besfahbo@redhat.com> - 2.3.97-3
+- Add missing file.  Previous update didn't go through
+
+* Thu Sep 07 2006 Behdad Esfahbod <besfahbo@redhat.com> - 2.3.97-2
+- Add fontconfig-2.3.97-ppc64.patch, for ppc64 arch signature
+
+* Thu Sep 07 2006 Behdad Esfahbod <besfahbo@redhat.com> - 2.3.97-1
+- update to 2.3.97
+- Drop upstreamed patches
+- Regenerate defaultconfig patch
+- Don't touch stamp as it was not ever needed
+
+* Thu Aug 17 2006 Behdad Esfahbod <besfahbo@redhat.com> - 2.3.95-11
+- inclusion of zhong yi font and rearranged font prefer list. (bug# 201300)
+
+* Fri Aug 11 2006 Ray Strode <rstrode@redhat.com> - 2.3.95-10
+- use "%%5x" instead of " %%4x" to support 64k instead of
+  clamping.  Idea from Behdad.
+
+* Fri Aug 11 2006 Ray Strode <rstrode@redhat.com> - 2.3.95-9
+- tweak last patch to give a more reasonable page size
+  value if 64k page size is in effect.
+
+* Fri Aug 11 2006 Ray Strode <rstrode@redhat.com> - 2.3.95-8
+- maybe fix buffer overflow (bug 202152).
+
+* Fri Aug 11 2006 Ray Strode <rstrode@redhat.com> - 2.3.95-7
+- Update configs to provide better openoffice/staroffice
+  compatibility (bug 200723)
+
+* Thu Jul 27 2006 Behdad Esfahbod <besfahbo@redhat.com> - 2.3.95-6
+- Do umask 0022 in post
+- Update configs to reflect addition of new Indic fonts (#200381, #200397)
+
+* Tue Jul 18 2006 Matthias Clasen <mclasen@redhat.com> - 2.3.95-5
+- Plug a small memory leak
+
+* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 2.3.95-4.1.1
+- rebuild
+
+* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 2.3.95-4.1
+- rebuild
+
+* Fri Jun  2 2006 Matthias Clasen <mclasen@redhat.com> - 2.3.95-4
+- Fix the handling of TTF font collections
+
+* Thu May 18 2006 Matthias Clasen <mclasen@redhat.com> - 2.3.95-3
+- Apply a patch by David Turner to speed up cache generation
+
+* Wed Apr 26 2006 Bill Nottingham <notting@redhat.com> - 2.3.95-2
+- fix fonts.conf typo
+
+* Wed Apr 26 2006 Matthias Clasen <mclasen@redhat.com> - 2.3.95-1
+- Update to 2.3.95
+
+* Fri Feb 24 2006 Matthias Clasen <mclasen@redhat.com> - 2.3.94-1
+- Update to 2.3.94
+
+* Sat Feb 11 2006 Matthias Clasen <mclasen@redhat.com> - 2.3.93.cvs20060211-1
+- Newer cvs snapshot
+
+* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 2.3.93.cvs20060208-1.1
+- bump again for double-long bug on ppc(64)
+
+* Wed Feb  8 2006 Matthias Clasen <mclasen@redhat.com> - 2.3.93.cvs20060208-1
+- Newer cvs snapshot
+
+* Tue Feb  7 2006 Matthias Clasen <mclasen@redhat.com> - 2.3.93.cvs20060207-1
+- Newer cvs snapshot
+- Drop upstreamed patches, pick up some new ones
+
+* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 2.3.93.cvs20060131-3.1
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Thu Feb  2 2006 Ray Strode <rstrode@redhat.com> - 2.3.93.cvs20060131-3
+- Move user cache to a subdirectory (bug 160275)
+
+* Thu Feb  2 2006 Matthias Clasen <mclasen@redhat.com> - 2.3.93.cvs20060131-2
+- Accumulated patches
+
+* Tue Jan 31 2006 Matthias Clasen <mclasen@redhat.com> - 2.3.93.cvs20060131-1
+- Newer cvs snapshot
+
+* Tue Jan 24 2006 Matthias Clasen <mclasen@redhat.com> - 2.3.93.cvs20060124-1
+- Newer cvs snapshot
+
+* Tue Jan 17 2006 Ray Strode <rstrode@redhat.com> - 2.3.93-4
+- apply patch from Tim Mayberry to correct aliasing and disable
+  hinting for the two Chinese font names AR PL ShanHeiSun Uni 
+  and AR PL Zenkai Uni
+
+* Tue Jan 10 2006 Bill Nottingham <notting@redhat.com> - 2.3.93-3
+- prereq coreutils for mkdir/touch in %%post
+
+* Wed Dec 21 2005 Carl Worth <cworth@redhat.com> - 2.3.93-2
+- Fix to create /var/cache/fontconfig/stamp in the post install stage.
+
+* Wed Dec 21 2005 Carl Worth <cworth@redhat.com> - 2.3.93-1
+- New upstream version.
+
+* Tue Dec 13 2005 Carl Worth <cworth@redhat.com> - 2.3.92.cvs20051129-3
+- Disable hinting for Lohit Gujarati
+
+* Fri Dec  9 2005 Carl Worth <cworth@redhat.com> - 2.3.92.cvs20051129-2
+- Add two new Chinese font names to the default fonts.conf file:
+    AR PL ShanHeiSun Uni
+    AR PL Zenkai Uni
+
+* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
+- rebuilt
+
+* Tue Nov 29 2005 Matthias Clasen <mclasen@redhat.com> - 2.3.92.cvs20051129-1
+- Update to a newer cvs snapshot
+
+* Sat Nov 19 2005 Matthias Clasen <mclasen@redhat.com> - 2.3.92.cvs20051119-1
+- Update to a newer cvs snapshot
+
+* Wed Nov 16 2005 Bill Nottingham <notting@redhat.com> - 2.3.93-3
+- modular X moved fonts from /usr/X11R6/lib/X11/fonts to
+  /usr/share/X11/fonts, adjust %%configure accordingly and 
+  conflict with older font packages
+
+* Wed Nov  9 2005 Carl Worth <cworth@redhat.com> - 2.3.92-2
+- Remove inadvertent rejection of Luxi Mono from 40-blacklist-fonts.conf.
+  Fixes #172437
+
+* Fri Nov  4 2005 Matthias Clasen <mclasen@redhat.com> - 2.3.92-1
+- Update to 2.3.92
+
+* Mon Oct 31 2005 Matthias Clasen <mclasen@redhat.com> - 2.3.91.cvs20051031-1
+- Update to a newer cvs snapshot
+- Add a patch which should help to understand broken cache problems
+
+* Fri Oct 21 2005 Matthias Clasen <mclasen@redhat.com> - 2.3.91.cvs20051017-2
+- Add new Chinese fonts
+- Fix the 40-blacklist-fonts.conf file to use the documented
+  fonts.conf syntax, and exclude the Hershey fonts by family
+  name.
+
+* Fri Oct 14 2005 Matthias Clasen <mclasen@redhat.com> - 2.3.91.cvs20051017-1
+- Update to the mmap branch of fontconfig
+
+* Fri Jul 22 2005 Kristian Høgsberg <krh@redhat.com> - 2.3.2-1
+- Update to fontconfig-2.3.2.  Drop
+
+	fontconfig-2.1-slighthint.patch,
+	fontconfig-2.2.3-timestamp.patch,
+	fontconfig-2.2.3-names.patch,
+	fontconfig-2.2.3-ta-pa-orth.patch, and
+	fontconfig-2.2.3-timestamp.patch,
+
+  as they are now merged upstream.
+
+- Fold fontconfig-2.2.3-add-sazanami.patch into
+  fontconfig-2.3.2-defaultconfig.patch and split rules to disable CJK
+  hinting out into /etc/fonts/conf.d/50-no-hint-fonts.conf.
+
+- Drop fontconfig-0.0.1.020826.1330-blacklist.patch and use the new
+  rejectfont directive to reject those fonts in 40-blacklist-fonts.conf.
+
+- Add fontconfig-2.3.2-only-parse-conf-files.patch to avoid parsing
+  .rpmsave files.
+
+- Renable s390 documentation now that #97079 has been fixed and add
+  BuildRequires: for docbook-utils and docbook-utils-pdf.
+
+- Drop code to iconv and custom install man pages, upstream does the
+  right thing now.
+
+- Add workaround from hell to make elinks cooperate so we can build
+  txt documentation.
+
+* Tue Apr 19 2005 David Zeuthen <davidz@redhat.com> - 2.2.3-13
+- Add another font family name Sazanami Gothic/Mincho (#148748)
+
+* Fri Mar  4 2005 David Zeuthen <davidz@redhat.com> - 2.2.3-12
+- Rebuild
+
+* Fri Mar  4 2005 David Zeuthen <davidz@redhat.com> - 2.2.3-11
+- Rebuild
+
+* Fri Mar  4 2005 David Zeuthen <davidz@redhat.com> - 2.2.3-10
+- Rebuild
+
+* Fri Mar  4 2005 David Zeuthen <davidz@redhat.com> - 2.2.3-9
+- Disable docs for s390 for now
+
+* Fri Mar  4 2005 David Zeuthen <davidz@redhat.com> - 2.2.3-8
+- Rebuild
+
+* Wed Dec  1 2004 Owen Taylor <otaylor@redhat.com> - 2.2.3-6
+- Sleep a second before the exit of fc-cache to fix problems with fast 
+  serial installs of fonts (#140335)
+- Turn off hinting for Lohit Hindi/Bengali/Punjabi (#139816)
+
+* Tue Oct 19 2004 Owen Taylor <otaylor@redhat.com> - 2.2.3-5
+- Add Lohit fonts for Indic languages (#134492)
+- Add Punjabi converage, fix Tamil coverage
+
+* Wed Sep 22 2004 Owen Taylor <otaylor@redhat.com> - 2.2.3-4
+- Update fonts-hebrew names to include CLM suffix
+
+* Thu Sep  2 2004 Owen Taylor <otaylor@redhat.com> - 2.2.3-3
+- Backport code from head branch of fontconfig CVS to parse names 
+  for postscript fonts (fixes #127500, J. J. Ramsey)
+- Own /usr/share/fonts (#110956, David K. Levine)
+- Add KacstQura to serif/sans-serif/monospace aliases (#101182)
+
+* Mon Aug 16 2004 Owen Taylor <otaylor@redhat.com> - 2.2.3-2
+- Don't run fc-cache if the binary isn't there (#128072, tracked
+  down by Jay Turner)
+
+* Tue Aug  3 2004 Owen Taylor <otaylor@redhat.com> - 2.2.3-1
+- Upgrade to 2.2.3
+- Convert man pages to UTF-8 (#108730, Peter van Egdom)
+- Renable docs on s390
+
+* Mon Jul 26 2004 Owen Taylor <otaylor@redhat.com> - 2.2.1-12
+- Rebuild for RHEL
+- Back freetype required version down to 2.1.4
+
+* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Mon Apr 19 2004 Owen Taylor <otaylor@redhat.com> 2.2.1-10
+- Require recent freetype (#109592, Peter Oliver)
+- Remove fonts.conf timestamp to fix multiarch conflict (#118182)
+- Disable hinting for Mukti Narrow (#120915, Sayamindu Dasgupta)
+
+* Wed Mar 10 2004 Owen Taylor <otaylor@redhat.com> 2.2.1-8.1
+- Rebuild
+
+* Wed Mar 10 2004 Owen Taylor <otaylor@redhat.com> 2.2.1-8.0
+- Add Albany/Cumberland/Thorndale as fallbacks for Microsoft core fonts and 
+  as non-preferred alternatives for Sans/Serif/Monospace
+- Fix FreeType includes for recent FreeType
+
+* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Mon Sep 22 2003 Owen Taylor <otaylor@redhat.com> 2.2.1-6.0
+- Should have been passing --with-add-fonts, not --with-add-dirs to 
+  configure ... caused wrong version of Luxi to be used. (#100862)
+
+* Fri Sep 19 2003 Owen Taylor <otaylor@redhat.com> 2.2.1-5.0
+- Tweak fonts.conf to get right hinting for CJK fonts (#97337)
+
+* Tue Jun 17 2003 Bill Nottingham <notting@redhat.com> 2.2.1-3
+- handle null config->cache correctly
+
+* Thu Jun 12 2003 Owen Taylor <otaylor@redhat.com> 2.2.1-2
+- Update default config to include Hebrew fonts (#90501, Dov Grobgeld)
+
+* Tue Jun 10 2003 Owen Taylor <otaylor@redhat.com> 2.2.1-2
+- As a workaround disable doc builds on s390
+
+* Mon Jun  9 2003 Owen Taylor <otaylor@redhat.com> 2.2.1-1
+- Version 2.2.1
+
+* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Mon Feb 24 2003 Elliot Lee <sopwith@redhat.com>
+- debuginfo rebuild
+
+* Mon Feb 24 2003 Owen Taylor <otaylor@redhat.com> 2.1-8
+- Fix segfault in fc-cache from .dircache patch
+
+* Mon Feb 24 2003 Owen Taylor <otaylor@redhat.com>
+- Back out patch that wrote fonts.conf entries that crash RH-8.0 
+  gnome-terminal, go with patch from fontconfig CVS instead.
+  (#84863)
+
+* Tue Feb 11 2003 Owen Taylor <otaylor@redhat.com>
+- Move fontconfig man page to main package, since it contains non-devel 
+  information (#76189)
+- Look in the OTF subdirectory of /usr/X11R6/lib/fonts as well
+  so we find Syriac fonts (#82627)
+
+* Thu Feb  6 2003 Matt Wilson <msw@redhat.com> 2.1-5
+- modified fontconfig-0.0.1.020626.1517-fontdir.patch to hard code
+  /usr/X11R6/lib/X11/fonts instead of using $(X_FONT_DIR).  This is
+  because on lib64 machines, fonts are not in /usr/X11R6/lib64/....
+
+* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
+- rebuilt
+
+* Wed Jan 15 2003 Owen Taylor <otaylor@redhat.com>
+- Try a different tack when fixing cache problem
+
+* Tue Jan 14 2003 Owen Taylor <otaylor@redhat.com>
+- Try to fix bug where empty cache entries would be found in 
+  ~/.fonts.cache-1 during scanning (#81335)
+
+* Thu Nov 21 2002 Mike A. Harris <mharris@redhat.com> 2.1-1
+- Updated to version 2.1
+- Updated slighthint patch to fontconfig-2.1-slighthint.patch
+- Updated freetype version required to 2.1.2-7
+
+* Mon Sep  2 2002 Owen Taylor <otaylor@redhat.com>
+- Version 2.0
+- Correct capitalization/spacing for ZYSong18030 name (#73272)
+
+* Fri Aug 30 2002 Owen Taylor <otaylor@redhat.com>
+- Blacklist fonts from ghostscript-fonts that don't render correctly
+
+* Mon Aug 26 2002 Owen Taylor <otaylor@redhat.com>
+- Upgrade to fcpackage rc3
+- Fix bug in comparisons for xx_XX language tags
+- Compensate for a minor config file change in rc3
+
+* Wed Aug 21 2002 Owen Taylor <otaylor@redhat.com>
+- Add an explicit PreReq for freetype
+- Move fonts we don't ship to the end of the fonts.conf aliases so
+  installing them doesn't change the look.
+
+* Wed Aug 21 2002 Owen Taylor <otaylor@redhat.com>
+- Memory leak fix when parsing config files
+- Set rh_prefer_bitmaps for .ja fonts to key off of in Xft
+- Fix some groff warnings for fontconfig.man (#72138)
+
+* Thu Aug 15 2002 Owen Taylor <otaylor@redhat.com>
+- Try once more to get the right default Sans-serif font :-(
+- Switch the Sans/Monospace aliases for Korean to Gulim, not Dotum
+
+* Wed Aug 14 2002 Owen Taylor <otaylor@redhat.com>
+- Fix %%post
+
+* Tue Aug 13 2002 Owen Taylor <otaylor@redhat.com>
+- Fix lost Luxi Sans default
+
+* Mon Aug 12 2002 Owen Taylor <otaylor@redhat.com>
+- Upgrade to rc2
+- Turn off hinting for all CJK fonts
+- Fix typo in %%post
+- Remove the custom language tag stuff in favor of Keith's standard 
+  solution.
+
+* Mon Jul 15 2002 Owen Taylor <otaylor@redhat.com>
+- Prefer Luxi Sans to Nimbus Sans again
+
+* Fri Jul 12 2002 Owen Taylor <otaylor@redhat.com>
+- Add FC_HINT_STYLE to FcBaseObjectTypes
+- Switch Chinese fonts to always using Sung-ti / Ming-ti, and never Kai-ti
+- Add ZYSong18030 to aliases (#68428)
+
+* Wed Jul 10 2002 Owen Taylor <otaylor@redhat.com>
+- Fix a typo in the langtag patch (caught by Erik van der Poel)
+
+* Wed Jul  3 2002 Owen Taylor <otaylor@redhat.com>
+- Add FC_HINT_STYLE tag
+
+* Thu Jun 27 2002 Owen Taylor <otaylor@redhat.com>
+- New upstream version, with fix for problems with
+  ghostscript-fonts (Fonts don't work for Qt+CJK,
+  etc.)
+
+* Wed Jun 26 2002 Owen Taylor <otaylor@redhat.com>
+- New upstream version, fixing locale problem
+
+* Mon Jun 24 2002 Owen Taylor <otaylor@redhat.com>
+- Add a hack where we set the "language" fontconfig property based on the locale, then 
+  we conditionalize base on that in the fonts.conf file.
+
+* Sun Jun 23 2002 Owen Taylor <otaylor@redhat.com>
+- New upstream version
+
+* Tue Jun 18 2002 Owen Taylor <otaylor@redhat.com>
+- Fix crash from FcObjectSetAdd
+
+* Tue Jun 11 2002 Owen Taylor <otaylor@redhat.com>
+- make fonts.conf %%config, not %%config(noreplace)
+- Another try at the CJK aliases
+- Add some CJK fonts to the config
+- Prefer Luxi Mono to Nimbus Mono
+
+* Mon Jun 10 2002 Owen Taylor <otaylor@redhat.com>
+- New upstream version
+- Fix matching for bitmap fonts
+
+* Mon Jun  3 2002 Owen Taylor <otaylor@redhat.com>
+- New version, new upstream mega-tarball
+
+* Tue May 28 2002 Owen Taylor <otaylor@redhat.com>
+- Fix problem with FcConfigSort
+
+* Fri May 24 2002 Owen Taylor <otaylor@redhat.com>
+- Initial specfile
+