#2 fix DTD ID & registration to make xmllint --loaddtd --valid --nonet work by default
Merged 4 years ago by tagoh. Opened 4 years ago by nim.
rpms/ nim/fontconfig xmllint  into  master

@@ -0,0 +1,490 @@ 

+ diff -uNr fontconfig-2.13.92.orig/conf.d/05-reset-dirs-sample.conf fontconfig-2.13.92/conf.d/05-reset-dirs-sample.conf

+ --- fontconfig-2.13.92.orig/conf.d/05-reset-dirs-sample.conf	2019-05-08 10:22:25.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/05-reset-dirs-sample.conf	2020-03-28 15:53:41.792757065 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">

+  <fontconfig>

+    <description>Re-define fonts dirs sample</description>

+  

+ diff -uNr fontconfig-2.13.92.orig/conf.d/09-autohint-if-no-hinting.conf fontconfig-2.13.92/conf.d/09-autohint-if-no-hinting.conf

+ --- fontconfig-2.13.92.orig/conf.d/09-autohint-if-no-hinting.conf	2019-07-30 13:03:27.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/09-autohint-if-no-hinting.conf	2020-03-28 15:53:41.764757635 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/10-autohint.conf fontconfig-2.13.92/conf.d/10-autohint.conf

+ --- fontconfig-2.13.92.orig/conf.d/10-autohint.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/10-autohint.conf	2020-03-28 15:53:41.829756312 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/10-hinting-full.conf fontconfig-2.13.92/conf.d/10-hinting-full.conf

+ --- fontconfig-2.13.92.orig/conf.d/10-hinting-full.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/10-hinting-full.conf	2020-03-28 15:53:41.714758653 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/10-hinting-medium.conf fontconfig-2.13.92/conf.d/10-hinting-medium.conf

+ --- fontconfig-2.13.92.orig/conf.d/10-hinting-medium.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/10-hinting-medium.conf	2020-03-28 15:53:41.809756719 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/10-hinting-none.conf fontconfig-2.13.92/conf.d/10-hinting-none.conf

+ --- fontconfig-2.13.92.orig/conf.d/10-hinting-none.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/10-hinting-none.conf	2020-03-28 15:53:41.796756984 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/10-hinting-slight.conf fontconfig-2.13.92/conf.d/10-hinting-slight.conf

+ --- fontconfig-2.13.92.orig/conf.d/10-hinting-slight.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/10-hinting-slight.conf	2020-03-28 15:53:41.760757717 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/10-no-sub-pixel.conf fontconfig-2.13.92/conf.d/10-no-sub-pixel.conf

+ --- fontconfig-2.13.92.orig/conf.d/10-no-sub-pixel.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/10-no-sub-pixel.conf	2020-03-28 15:53:41.743758063 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/10-scale-bitmap-fonts.conf fontconfig-2.13.92/conf.d/10-scale-bitmap-fonts.conf

+ --- fontconfig-2.13.92.orig/conf.d/10-scale-bitmap-fonts.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/10-scale-bitmap-fonts.conf	2020-03-28 15:53:41.727758389 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/10-sub-pixel-bgr.conf fontconfig-2.13.92/conf.d/10-sub-pixel-bgr.conf

+ --- fontconfig-2.13.92.orig/conf.d/10-sub-pixel-bgr.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/10-sub-pixel-bgr.conf	2020-03-28 15:53:41.841756068 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/10-sub-pixel-rgb.conf fontconfig-2.13.92/conf.d/10-sub-pixel-rgb.conf

+ --- fontconfig-2.13.92.orig/conf.d/10-sub-pixel-rgb.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/10-sub-pixel-rgb.conf	2020-03-28 15:53:41.723758470 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/10-sub-pixel-vbgr.conf fontconfig-2.13.92/conf.d/10-sub-pixel-vbgr.conf

+ --- fontconfig-2.13.92.orig/conf.d/10-sub-pixel-vbgr.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/10-sub-pixel-vbgr.conf	2020-03-28 15:53:41.772757472 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/10-sub-pixel-vrgb.conf fontconfig-2.13.92/conf.d/10-sub-pixel-vrgb.conf

+ --- fontconfig-2.13.92.orig/conf.d/10-sub-pixel-vrgb.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/10-sub-pixel-vrgb.conf	2020-03-28 15:53:41.706758816 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/10-unhinted.conf fontconfig-2.13.92/conf.d/10-unhinted.conf

+ --- fontconfig-2.13.92.orig/conf.d/10-unhinted.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/10-unhinted.conf	2020-03-28 15:53:41.739758145 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/11-lcdfilter-default.conf fontconfig-2.13.92/conf.d/11-lcdfilter-default.conf

+ --- fontconfig-2.13.92.orig/conf.d/11-lcdfilter-default.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/11-lcdfilter-default.conf	2020-03-28 15:53:41.731758307 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/11-lcdfilter-legacy.conf fontconfig-2.13.92/conf.d/11-lcdfilter-legacy.conf

+ --- fontconfig-2.13.92.orig/conf.d/11-lcdfilter-legacy.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/11-lcdfilter-legacy.conf	2020-03-28 15:53:41.837756149 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/11-lcdfilter-light.conf fontconfig-2.13.92/conf.d/11-lcdfilter-light.conf

+ --- fontconfig-2.13.92.orig/conf.d/11-lcdfilter-light.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/11-lcdfilter-light.conf	2020-03-28 15:53:41.768757554 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/20-unhint-small-vera.conf fontconfig-2.13.92/conf.d/20-unhint-small-vera.conf

+ --- fontconfig-2.13.92.orig/conf.d/20-unhint-small-vera.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/20-unhint-small-vera.conf	2020-03-28 15:53:41.784757228 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/25-unhint-nonlatin.conf fontconfig-2.13.92/conf.d/25-unhint-nonlatin.conf

+ --- fontconfig-2.13.92.orig/conf.d/25-unhint-nonlatin.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/25-unhint-nonlatin.conf	2020-03-28 15:53:41.817756556 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/30-metric-aliases.conf fontconfig-2.13.92/conf.d/30-metric-aliases.conf

+ --- fontconfig-2.13.92.orig/conf.d/30-metric-aliases.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/30-metric-aliases.conf	2020-03-28 15:53:41.718758572 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/40-nonlatin.conf fontconfig-2.13.92/conf.d/40-nonlatin.conf

+ --- fontconfig-2.13.92.orig/conf.d/40-nonlatin.conf	2019-05-08 10:22:25.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/40-nonlatin.conf	2020-03-28 15:53:41.735758226 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/45-generic.conf fontconfig-2.13.92/conf.d/45-generic.conf

+ --- fontconfig-2.13.92.orig/conf.d/45-generic.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/45-generic.conf	2020-03-28 15:53:41.833756231 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/45-latin.conf fontconfig-2.13.92/conf.d/45-latin.conf

+ --- fontconfig-2.13.92.orig/conf.d/45-latin.conf	2019-05-08 10:22:25.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/45-latin.conf	2020-03-28 15:53:41.756757798 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/49-sansserif.conf fontconfig-2.13.92/conf.d/49-sansserif.conf

+ --- fontconfig-2.13.92.orig/conf.d/49-sansserif.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/49-sansserif.conf	2020-03-28 15:53:41.845755987 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/50-user.conf fontconfig-2.13.92/conf.d/50-user.conf

+ --- fontconfig-2.13.92.orig/conf.d/50-user.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/50-user.conf	2020-03-28 15:53:41.710758735 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/51-local.conf fontconfig-2.13.92/conf.d/51-local.conf

+ --- fontconfig-2.13.92.orig/conf.d/51-local.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/51-local.conf	2020-03-28 15:53:41.805756801 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/60-generic.conf fontconfig-2.13.92/conf.d/60-generic.conf

+ --- fontconfig-2.13.92.orig/conf.d/60-generic.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/60-generic.conf	2020-03-28 15:53:41.702758898 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/60-latin.conf fontconfig-2.13.92/conf.d/60-latin.conf

+ --- fontconfig-2.13.92.orig/conf.d/60-latin.conf	2019-05-08 10:22:25.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/60-latin.conf	2020-03-28 15:53:41.752757880 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/65-fonts-persian.conf fontconfig-2.13.92/conf.d/65-fonts-persian.conf

+ --- fontconfig-2.13.92.orig/conf.d/65-fonts-persian.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/65-fonts-persian.conf	2020-03-28 15:53:41.748757961 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">

+  <!--

+    fonts-persian.conf

+    To configure Persian fonts from The FarsiWeb Project.

+ diff -uNr fontconfig-2.13.92.orig/conf.d/65-khmer.conf fontconfig-2.13.92/conf.d/65-khmer.conf

+ --- fontconfig-2.13.92.orig/conf.d/65-khmer.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/65-khmer.conf	2020-03-28 15:53:41.813756638 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/65-nonlatin.conf fontconfig-2.13.92/conf.d/65-nonlatin.conf

+ --- fontconfig-2.13.92.orig/conf.d/65-nonlatin.conf	2019-05-08 10:22:25.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/65-nonlatin.conf	2020-03-28 15:53:41.825756394 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/69-unifont.conf fontconfig-2.13.92/conf.d/69-unifont.conf

+ --- fontconfig-2.13.92.orig/conf.d/69-unifont.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/69-unifont.conf	2020-03-28 15:53:41.821756475 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/70-no-bitmaps.conf fontconfig-2.13.92/conf.d/70-no-bitmaps.conf

+ --- fontconfig-2.13.92.orig/conf.d/70-no-bitmaps.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/70-no-bitmaps.conf	2020-03-28 15:53:41.788757147 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/70-yes-bitmaps.conf fontconfig-2.13.92/conf.d/70-yes-bitmaps.conf

+ --- fontconfig-2.13.92.orig/conf.d/70-yes-bitmaps.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/70-yes-bitmaps.conf	2020-03-28 15:53:41.780757310 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/80-delicious.conf fontconfig-2.13.92/conf.d/80-delicious.conf

+ --- fontconfig-2.13.92.orig/conf.d/80-delicious.conf	2018-06-05 12:36:38.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/80-delicious.conf	2020-03-28 15:53:41.800756903 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/conf.d/90-synthetic.conf fontconfig-2.13.92/conf.d/90-synthetic.conf

+ --- fontconfig-2.13.92.orig/conf.d/90-synthetic.conf	2018-07-19 05:14:39.000000000 +0200

+ +++ fontconfig-2.13.92/conf.d/90-synthetic.conf	2020-03-28 15:53:41.776757391 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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)]"/>

+ diff -uNr fontconfig-2.13.92.orig/doc/fontconfig-user.html fontconfig-2.13.92/doc/fontconfig-user.html

+ --- fontconfig-2.13.92.orig/doc/fontconfig-user.html	2019-08-09 13:12:38.000000000 +0200

+ +++ fontconfig-2.13.92/doc/fontconfig-user.html	2020-03-28 15:53:41.694759061 +0100

+ @@ -422,7 +422,7 @@

+  ><PRE

+  CLASS="PROGRAMLISTING"

+  >	&#60;?xml version="1.0"?&#62;

+ -	&#60;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&#62;

+ +	&#60;!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"&#62;

+  	&#60;fontconfig&#62;

+  	...

+  	&#60;/fontconfig&#62;

+ @@ -1240,7 +1240,7 @@

+  ><PRE

+  CLASS="PROGRAMLISTING"

+  >&#60;?xml version="1.0"?&#62;

+ -&#60;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&#62;

+ +&#60;!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"&#62;

+  &#60;!-- /etc/fonts/fonts.conf file to configure system font access --&#62;

+  &#60;fontconfig&#62;

+  &#60;!-- 

+ @@ -1367,7 +1367,7 @@

+  ><PRE

+  CLASS="PROGRAMLISTING"

+  >&#60;?xml version="1.0"?&#62;

+ -&#60;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&#62;

+ +&#60;!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"&#62;

+  &#60;!-- $XDG_CONFIG_HOME/fontconfig/fonts.conf for per-user font configuration --&#62;

+  &#60;fontconfig&#62;

+  

+ diff -uNr fontconfig-2.13.92.orig/doc/fontconfig-user.sgml fontconfig-2.13.92/doc/fontconfig-user.sgml

+ --- fontconfig-2.13.92.orig/doc/fontconfig-user.sgml	2018-11-15 13:20:50.000000000 +0100

+ +++ fontconfig-2.13.92/doc/fontconfig-user.sgml	2020-03-28 15:53:41.680759345 +0100

+ @@ -300,7 +300,7 @@

+  following structure:

+      <programlisting>

+  	&lt;?xml version="1.0"?&gt;

+ -	&lt;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&gt;

+ +	&lt;!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"&gt;

+  	&lt;fontconfig&gt;

+  	...

+  	&lt;/fontconfig&gt;

+ @@ -573,7 +573,7 @@

+      </para>

+      <programlisting>

+  &lt;?xml version="1.0"?&gt;

+ -&lt;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&gt;

+ +&lt;!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"&gt;

+  &lt;!-- &confdir;/fonts.conf file to configure system font access --&gt;

+  &lt;fontconfig&gt;

+  &lt;!-- 

+ @@ -684,7 +684,7 @@

+      </para>

+      <programlisting>

+  &lt;?xml version="1.0"?&gt;

+ -&lt;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&gt;

+ +&lt;!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"&gt;

+  &lt;!-- $XDG_CONFIG_HOME/fontconfig/fonts.conf for per-user font configuration --&gt;

+  &lt;fontconfig&gt;

+  

+ diff -uNr fontconfig-2.13.92.orig/doc/fontconfig-user.txt fontconfig-2.13.92/doc/fontconfig-user.txt

+ --- fontconfig-2.13.92.orig/doc/fontconfig-user.txt	2019-08-09 13:12:20.000000000 +0200

+ +++ fontconfig-2.13.92/doc/fontconfig-user.txt	2020-03-28 15:53:41.689759162 +0100

+ @@ -261,7 +261,7 @@

+     following structure:

+  

+             <?xml version="1.0"?>

+ -           <!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +           <!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">

+             <fontconfig>

+             ...

+             </fontconfig>

+ @@ -573,7 +573,7 @@

+     This is an example of a system-wide configuration file

+  

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">

+  <!-- /etc/fonts/fonts.conf file to configure system font access -->

+  <fontconfig>

+  <!--

+ @@ -683,7 +683,7 @@

+     $XDG_CONFIG_HOME/fontconfig/fonts.conf

+  

+   <?xml version="1.0"?>

+ - <!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ + <!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">

+   <!-- $XDG_CONFIG_HOME/fontconfig/fonts.conf for per-user font configuration -->

+   <fontconfig>

+  

+ diff -uNr fontconfig-2.13.92.orig/doc/fonts-conf.5 fontconfig-2.13.92/doc/fonts-conf.5

+ --- fontconfig-2.13.92.orig/doc/fonts-conf.5	2019-08-09 13:12:20.000000000 +0200

+ +++ fontconfig-2.13.92/doc/fonts-conf.5	2020-03-28 15:53:41.685759244 +0100

+ @@ -264,7 +264,7 @@

+  .sp

+  .nf

+  	<?xml version="1.0"?>

+ -	<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +	<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">

+  	<fontconfig>

+  \&...

+  	</fontconfig>

+ @@ -554,7 +554,7 @@

+  .sp

+  .nf

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">

+  <!-- /etc/fonts/fonts.conf file to configure system font access -->

+  <fontconfig>

+  <!-- 

+ @@ -666,7 +666,7 @@

+  .sp

+  .nf

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">

+  <!-- $XDG_CONFIG_HOME/fontconfig/fonts.conf for per-user font configuration -->

+  <fontconfig>

+  

+ diff -uNr fontconfig-2.13.92.orig/fonts.conf.in fontconfig-2.13.92/fonts.conf.in

+ --- fontconfig-2.13.92.orig/fonts.conf.in	2019-05-08 10:22:25.000000000 +0200

+ +++ fontconfig-2.13.92/fonts.conf.in	2020-03-28 15:53:41.698758979 +0100

+ @@ -1,5 +1,5 @@

+  <?xml version="1.0"?>

+ -<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

+ +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig: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">

@@ -0,0 +1,26 @@ 

+ From a4aa66a858f1ecd375c5efe5916398281f73f794 Mon Sep 17 00:00:00 2001

+ From: Jan Tojnar <jtojnar@gmail.com>

+ Date: Wed, 20 Nov 2019 02:13:58 +0000

+ Subject: [PATCH] Correct reset-dirs in DTD

+ 

+ Empty elements need to be declared as such in well-formed DTDs.

+ ---

+  fonts.dtd | 2 +-

+  1 file changed, 1 insertion(+), 1 deletion(-)

+ 

+ diff --git a/fonts.dtd b/fonts.dtd

+ index f8c9f2c..40ecb4e 100644

+ --- a/fonts.dtd

+ +++ b/fonts.dtd

+ @@ -124,7 +124,7 @@

+  <!--

+      Reset the list of fonts directories

+  -->

+ -<!ELEMENT reset-dirs >

+ +<!ELEMENT reset-dirs EMPTY>

+  

+  <!--

+      Periodically rescan the font configuration and

+ -- 

+ 2.24.1

+ 

file modified
+25 -2
@@ -5,7 +5,7 @@ 

  Summary:	Font configuration and customization library

  Name:		fontconfig

  Version:	2.13.92

- Release:	8%{?dist}

+ Release:	9%{?dist}

  # src/ftglue.[ch] is in Public Domain

  # src/fccache.c contains Public Domain code

  # fc-case/CaseFolding.txt is in the UCD
@@ -28,6 +28,8 @@ 

  Patch7:		%{name}-mt.patch

  Patch8:		%{name}-fix-test.patch

  Patch9:		%{name}-fix-assertion.patch

+ Patch10:  %{name}-fix-dtd.patch

+ Patch11:  %{name}-fix-dtd-id.patch

  

  BuildRequires:	expat-devel

  BuildRequires:	freetype-devel >= %{freetype_version}
@@ -35,7 +37,11 @@ 

  BuildRequires:	autoconf automake libtool gettext

  BuildRequires:	gperf

  

- Requires:	fontpackages-filesystem freetype

+ Requires:	fonts-filesystem freetype

+ # Register DTD system-wide to make validation work by default

+ # (used by fonts-rpm-macros)

+ Requires(pre):    xml-common libxml2

+ Requires(postun): xml-common libxml2

  PreReq:		freetype >= 2.9.1-6

  Requires(post):	grep coreutils

  Requires:	font(:lang=en)
@@ -132,6 +138,19 @@ 

  %transfiletriggerpostun -- /usr/share/fonts /usr/share/X11/fonts/Type1 /usr/share/X11/fonts/TTF /usr/local/share/fonts

  HOME=/root /usr/bin/fc-cache -s

  

+ %posttrans

+ if [ -e %{_sysconfdir}/xml/catalog ]; then

+   %{_bindir}/xmlcatalog --noout --add system \

+                         "urn:fontconfig:fonts.dtd" \

+                         "file://%{_datadir}/xml/fontconfig/fonts.dtd" \

+                         %{_sysconfdir}/xml/catalog

+ fi

+ 

+ %postun

+ if [ $1 == 0 ] && [ -e %{_sysconfdir}/xml/catalog ]; then

+   %{_bindir}/xmlcatalog --noout --del "urn:fontconfig:fonts.dtd"

+ fi

+ 

  %files -f %{name}.lang

  %doc README AUTHORS

  %doc fontconfig-user.txt fontconfig-user.html
@@ -169,6 +188,10 @@ 

  %doc fontconfig-devel.txt fontconfig-devel

  

  %changelog

+ * Sat Mar 28 2020 Nicolas Mailhot <nim@fedoraproject.org> - 2.13.92-9

+ - Fix DTD declaration and registration so users and Fedora automation can

+   easily validate new configuration files

+ 

  * Mon Mar 23 2020 Akira TAGOH <tagoh@redhat.com> - 2.13.92-8

  - Fix assertion in FcCacheFini() again.

    Resolves: rhbz#1815684

fix DTD ID & registration to make xmllint --loaddtd --valid --nonet work by default

This is a requisite to validate all conf files by default at packaging stage, as seen in
https://pagure.io/fork/nim/fonts-rpm-macros/tree/xmllint
and
https://copr.fedorainfracloud.org/coprs/nim/fonts-rpm-macros/build/1322727/

Thanks. hmm, just wondering if we should switch the XML parser from expat to libxml2? if there are any way to avoid having libxml2 deps, that would be nice though.

I’ve no opinion on libxml2 vs expat as an xml library, but the tooling in libxml2 is clearly superior.

So, given than expat is unlikely to grow now the tools libxml has been shipping for ages (xmlcatalog, xmllint), certainly it would be a better long-term dependency.

expat’s xmlwf is clearly not up to xmllint; no idea what could replace xmlcatalog expat-side

 $ xmllint --loaddtd --valid --nonet  /usr/share/fontconfig/conf.avail/60-ms-studio-karmilla-fonts.conf >/dev/null
/usr/share/fontconfig/conf.avail/60-ms-studio-karmilla-fonts.conf:20: element familly: validity error : No declaration for element familly
    <familly>Karmilla</familly>
                               ^
/usr/share/fontconfig/conf.avail/60-ms-studio-karmilla-fonts.conf:25: element alias: validity error : Element alias content does not follow the DTD, expecting (test? , family* , prefer? , accept? , default?), got (familly accept )

$ xmlwf -p /usr/share/fontconfig/conf.avail/60-ms-studio-karmilla-fonts.conf
/usr/share/fontconfig/conf.avail/urn:fontconfig:fonts.dtd: No such file or directory
/usr/share/fontconfig/conf.avail/60-ms-studio-karmilla-fonts.conf:2:54: error in processing external entity reference

Well, yes, I understand that. that would be really nice though, my concern is this introduces extra and duplicate deps which isn't needed at the runtime.

Also, given we are going to switch XML parser in fontconfig to libxml2, there might be possible issue in performance and/or footprint. we could try in rawhide first but for another option, just wonder if we should make a sub-package for fonts.dtd and make it optional for those who don't want to install extra packages? although libxml2 is installed by default in most variants.

Any comments?

Back when xml was new and exciting benchmarks put expat and libxml2 in the same ballpark performance-wise (as long as you were not doing stupid stuff like comparing streaming SAX mode with non streaming mode).

As you noted libxml2 is a requirement of many Fedora bits (it is, after all, the @rh-sponsored xml stack).

You can certainly put the validation bits in a subpackage. That will work just as well for packaging automation. However, that will remove the syntax linter from most user systems (so, keeping the fontconfig config is user unfriendly status quo)

Anyway I’d like it to hit rawhide in one form or another, so I can push a version of fonts-rpm-macros that validates config files by default in F33, and shake out eventual bugs before F33 starts graduating to stable (I will push changes that make use of rpm 4.16 enhancements at the same time).

Pull-Request has been merged by tagoh

4 years ago

Ok, I activated the validation in fonts-rpm-macros and rebuild a large part of the packages that use it. The validation works fine in koji. Thanks a lot

https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/TRHOGZTBNGDKRF2M76G4WNUYUPEFZSRD/

if existing fontconfig files contains ../fonts.conf as DTD id then it will be changed to urn:fontconfig:fonts.dtd or ../urn:fontconfig:fonts.dtd?
Please clarify.

It needs to be changed to urn:fontconfig:fonts.dtd

The whole point of the urn notation is that it is not a path, relative or absolute. It’s an opaque identifier.

That means that once you switched a fontconfig file to it you can deploy it anywhere, in /etc, /usr/share, ~/.fonts ~/.config/fonts and the DTD reference stays valid regardless of where the DTD has been installed on the system.

Thanks @nim for your quick reply.