]> Frank Brehm's Git Trees - config/bruni/etc.git/commitdiff
committing changes in /etc after emerge run
authorfrank <frank@bruni.home.brehm-online.com>
Sun, 15 Jan 2012 22:52:17 +0000 (23:52 +0100)
committerFrank Brehm <root@bruni.home.brehm-online.com>
Sun, 15 Jan 2012 22:52:17 +0000 (23:52 +0100)
Package changes:
+media-libs/fontconfig-2.8.0-r1

47 files changed:
.etckeeper
env.d/37fontconfig [new file with mode: 0644]
fonts/conf.avail/10-autohint.conf [new file with mode: 0644]
fonts/conf.avail/10-no-sub-pixel.conf [new file with mode: 0644]
fonts/conf.avail/10-sub-pixel-bgr.conf [new file with mode: 0644]
fonts/conf.avail/10-sub-pixel-rgb.conf [new file with mode: 0644]
fonts/conf.avail/10-sub-pixel-vbgr.conf [new file with mode: 0644]
fonts/conf.avail/10-sub-pixel-vrgb.conf [new file with mode: 0644]
fonts/conf.avail/10-unhinted.conf [new file with mode: 0644]
fonts/conf.avail/20-fix-globaladvance.conf [new file with mode: 0644]
fonts/conf.avail/20-unhint-small-vera.conf [new file with mode: 0644]
fonts/conf.avail/25-unhint-nonlatin.conf [new file with mode: 0644]
fonts/conf.avail/30-metric-aliases.conf [new file with mode: 0644]
fonts/conf.avail/30-urw-aliases.conf [new file with mode: 0644]
fonts/conf.avail/40-nonlatin.conf [new file with mode: 0644]
fonts/conf.avail/45-latin.conf [new file with mode: 0644]
fonts/conf.avail/49-sansserif.conf [new file with mode: 0644]
fonts/conf.avail/50-user.conf [new file with mode: 0644]
fonts/conf.avail/51-local.conf [new file with mode: 0644]
fonts/conf.avail/60-latin.conf [new file with mode: 0644]
fonts/conf.avail/65-fonts-persian.conf [new file with mode: 0644]
fonts/conf.avail/65-khmer.conf [new file with mode: 0644]
fonts/conf.avail/65-nonlatin.conf [new file with mode: 0644]
fonts/conf.avail/69-unifont.conf [new file with mode: 0644]
fonts/conf.avail/70-no-bitmaps.conf [new file with mode: 0644]
fonts/conf.avail/70-yes-bitmaps.conf [new file with mode: 0644]
fonts/conf.avail/80-delicious.conf [new file with mode: 0644]
fonts/conf.avail/90-synthetic.conf [new file with mode: 0644]
fonts/conf.d/20-fix-globaladvance.conf [new symlink]
fonts/conf.d/20-unhint-small-vera.conf [new symlink]
fonts/conf.d/30-metric-aliases.conf [new symlink]
fonts/conf.d/30-urw-aliases.conf [new symlink]
fonts/conf.d/40-nonlatin.conf [new symlink]
fonts/conf.d/45-latin.conf [new symlink]
fonts/conf.d/49-sansserif.conf [new symlink]
fonts/conf.d/50-user.conf [new symlink]
fonts/conf.d/51-local.conf [new symlink]
fonts/conf.d/60-latin.conf [new symlink]
fonts/conf.d/65-fonts-persian.conf [new symlink]
fonts/conf.d/65-nonlatin.conf [new symlink]
fonts/conf.d/69-unifont.conf [new symlink]
fonts/conf.d/80-delicious.conf [new symlink]
fonts/conf.d/90-synthetic.conf [new symlink]
fonts/conf.d/README [new file with mode: 0644]
fonts/fonts.conf [new file with mode: 0644]
fonts/fonts.dtd [new file with mode: 0644]
sandbox.d/37fontconfig [new file with mode: 0644]

index 19f3d8faf642a33e0e85335612e39d598136b407..793480110e358af538cb931fb920f2586208c392 100755 (executable)
@@ -106,6 +106,7 @@ maybe chmod 0644 './env.d/04multilib'
 maybe chmod 0644 './env.d/05binutils'
 maybe chmod 0644 './env.d/05gcc-x86_64-pc-linux-gnu'
 maybe chmod 0644 './env.d/09sandbox'
+maybe chmod 0644 './env.d/37fontconfig'
 maybe chmod 0644 './env.d/50ncurses'
 maybe chmod 0644 './env.d/70less'
 maybe chmod 0644 './env.d/98ca-certificates'
@@ -169,6 +170,38 @@ maybe chmod 0644 './etckeeper/update-ignore.d/README'
 maybe chmod 0755 './etckeeper/vcs.d'
 maybe chmod 0755 './etckeeper/vcs.d/50vcs-cmd'
 maybe chmod 0644 './filesystems'
+maybe chmod 0755 './fonts'
+maybe chmod 0755 './fonts/conf.avail'
+maybe chmod 0644 './fonts/conf.avail/10-autohint.conf'
+maybe chmod 0644 './fonts/conf.avail/10-no-sub-pixel.conf'
+maybe chmod 0644 './fonts/conf.avail/10-sub-pixel-bgr.conf'
+maybe chmod 0644 './fonts/conf.avail/10-sub-pixel-rgb.conf'
+maybe chmod 0644 './fonts/conf.avail/10-sub-pixel-vbgr.conf'
+maybe chmod 0644 './fonts/conf.avail/10-sub-pixel-vrgb.conf'
+maybe chmod 0644 './fonts/conf.avail/10-unhinted.conf'
+maybe chmod 0644 './fonts/conf.avail/20-fix-globaladvance.conf'
+maybe chmod 0644 './fonts/conf.avail/20-unhint-small-vera.conf'
+maybe chmod 0644 './fonts/conf.avail/25-unhint-nonlatin.conf'
+maybe chmod 0644 './fonts/conf.avail/30-metric-aliases.conf'
+maybe chmod 0644 './fonts/conf.avail/30-urw-aliases.conf'
+maybe chmod 0644 './fonts/conf.avail/40-nonlatin.conf'
+maybe chmod 0644 './fonts/conf.avail/45-latin.conf'
+maybe chmod 0644 './fonts/conf.avail/49-sansserif.conf'
+maybe chmod 0644 './fonts/conf.avail/50-user.conf'
+maybe chmod 0644 './fonts/conf.avail/51-local.conf'
+maybe chmod 0644 './fonts/conf.avail/60-latin.conf'
+maybe chmod 0644 './fonts/conf.avail/65-fonts-persian.conf'
+maybe chmod 0644 './fonts/conf.avail/65-khmer.conf'
+maybe chmod 0644 './fonts/conf.avail/65-nonlatin.conf'
+maybe chmod 0644 './fonts/conf.avail/69-unifont.conf'
+maybe chmod 0644 './fonts/conf.avail/70-no-bitmaps.conf'
+maybe chmod 0644 './fonts/conf.avail/70-yes-bitmaps.conf'
+maybe chmod 0644 './fonts/conf.avail/80-delicious.conf'
+maybe chmod 0644 './fonts/conf.avail/90-synthetic.conf'
+maybe chmod 0755 './fonts/conf.d'
+maybe chmod 0644 './fonts/conf.d/README'
+maybe chmod 0644 './fonts/fonts.conf'
+maybe chmod 0644 './fonts/fonts.dtd'
 maybe chmod 0644 './fstab'
 maybe chmod 0644 './gai.conf'
 maybe chmod 0644 './gentoo-release'
@@ -388,6 +421,7 @@ maybe chmod 0644 './sandbox.conf'
 maybe chmod 0755 './sandbox.d'
 maybe chmod 0644 './sandbox.d/00default'
 maybe chmod 0644 './sandbox.d/10openssl'
+maybe chmod 0644 './sandbox.d/37fontconfig'
 maybe chmod 0644 './screenrc'
 maybe chmod 0600 './securetty'
 maybe chmod 0755 './security'
diff --git a/env.d/37fontconfig b/env.d/37fontconfig
new file mode 100644 (file)
index 0000000..c52433b
--- /dev/null
@@ -0,0 +1 @@
+CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"
diff --git a/fonts/conf.avail/10-autohint.conf b/fonts/conf.avail/10-autohint.conf
new file mode 100644 (file)
index 0000000..c597bf4
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--  Use the Autohinter --> 
+  <match target="font">
+    <edit name="autohint" mode="assign"><bool>true</bool></edit>
+  </match>
+</fontconfig>
diff --git a/fonts/conf.avail/10-no-sub-pixel.conf b/fonts/conf.avail/10-no-sub-pixel.conf
new file mode 100644 (file)
index 0000000..87ada4e
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--  Enable sub-pixel rendering --> 
+  <match target="font">
+    <edit name="rgba" mode="assign"><const>none</const></edit>
+  </match>
+</fontconfig>
diff --git a/fonts/conf.avail/10-sub-pixel-bgr.conf b/fonts/conf.avail/10-sub-pixel-bgr.conf
new file mode 100644 (file)
index 0000000..e1f64fd
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--  Enable sub-pixel rendering --> 
+  <match target="font">
+    <edit name="rgba" mode="assign"><const>bgr</const></edit>
+  </match>
+</fontconfig>
diff --git a/fonts/conf.avail/10-sub-pixel-rgb.conf b/fonts/conf.avail/10-sub-pixel-rgb.conf
new file mode 100644 (file)
index 0000000..2b49fe3
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--  Enable sub-pixel rendering --> 
+  <match target="font">
+    <edit name="rgba" mode="assign"><const>rgb</const></edit>
+  </match>
+</fontconfig>
diff --git a/fonts/conf.avail/10-sub-pixel-vbgr.conf b/fonts/conf.avail/10-sub-pixel-vbgr.conf
new file mode 100644 (file)
index 0000000..5947650
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--  Enable sub-pixel rendering --> 
+  <match target="font">
+    <edit name="rgba" mode="assign"><const>vbgr</const></edit>
+  </match>
+</fontconfig>
diff --git a/fonts/conf.avail/10-sub-pixel-vrgb.conf b/fonts/conf.avail/10-sub-pixel-vrgb.conf
new file mode 100644 (file)
index 0000000..84481bd
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--  Enable sub-pixel rendering --> 
+  <match target="font">
+    <edit name="rgba" mode="assign"><const>vrgb</const></edit>
+  </match>
+</fontconfig>
diff --git a/fonts/conf.avail/10-unhinted.conf b/fonts/conf.avail/10-unhinted.conf
new file mode 100644 (file)
index 0000000..025ae2a
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--  Disable hinting --> 
+  <match target="font">
+    <edit name="hinting" mode="assign"><bool>false</bool></edit>
+  </match>
+</fontconfig>
diff --git a/fonts/conf.avail/20-fix-globaladvance.conf b/fonts/conf.avail/20-fix-globaladvance.conf
new file mode 100644 (file)
index 0000000..2a9c063
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--
+  Some Asian fonts misadvertise themselves as monospaced when
+  in fact they are dual-spaced (half and full).  This makes
+  FreeType very confused as it forces all widths to match.
+  Undo this magic by disabling the width forcing code -->
+       <match target="font">
+               <test name="family"><string>GulimChe</string></test>
+               <edit name="globaladvance"><bool>false</bool></edit>
+       </match>
+
+       <match target="font">
+               <test name="family"><string>DotumChe</string></test>
+               <edit name="globaladvance"><bool>false</bool></edit>
+       </match>
+
+       <match target="font">
+               <test name="family"><string>BatangChe</string></test>
+               <edit name="globaladvance"><bool>false</bool></edit>
+       </match>
+
+       <match target="font">
+               <test name="family"><string>GungsuhChe</string></test>
+               <edit name="globaladvance"><bool>false</bool></edit>
+       </match>
+</fontconfig>
diff --git a/fonts/conf.avail/20-unhint-small-vera.conf b/fonts/conf.avail/20-unhint-small-vera.conf
new file mode 100644 (file)
index 0000000..c4ebee9
--- /dev/null
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!-- 
+       The Bitstream Vera fonts have GASP entries suggesting that hinting be
+       disabled below 8 ppem, but FreeType ignores those, preferring to use
+       the data found in the instructed hints.  The initial Vera release
+       didn't include the right instructions in the 'prep' table. Fix this
+       by disabling hinting manually at smaller sizes (< 8ppem)
+ -->
+
+       <match target="font">
+               <test name="family">
+                       <string>Bitstream Vera Sans</string>
+               </test>
+               <test name="pixelsize" compare="less">
+                       <double>7.5</double>
+               </test>
+               <edit name="hinting">
+                       <bool>false</bool>
+               </edit>
+       </match>
+
+       <match target="font">
+               <test name="family">
+                       <string>Bitstream Vera Serif</string>
+               </test>
+               <test name="pixelsize" compare="less">
+                       <double>7.5</double>
+               </test>
+               <edit name="hinting">
+                       <bool>false</bool>
+               </edit>
+       </match>
+
+       <match target="font">
+               <test name="family">
+                       <string>Bitstream Vera Sans Mono</string>
+               </test>
+               <test name="pixelsize" compare="less">
+                       <double>7.5</double>
+               </test>
+               <edit name="hinting">
+                       <bool>false</bool>
+               </edit>
+       </match>
+
+</fontconfig>
diff --git a/fonts/conf.avail/25-unhint-nonlatin.conf b/fonts/conf.avail/25-unhint-nonlatin.conf
new file mode 100644 (file)
index 0000000..ffb70c6
--- /dev/null
@@ -0,0 +1,128 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+<!-- We can't hint CJK fonts well, so turn off hinting for CJK fonts. -->
+
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>Kochi Mincho</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>Kochi Gothic</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>Sazanami Mincho</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>Sazanami Gothic</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>Baekmuk Batang</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>Baekmuk Dotum</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>Baekmuk Gulim</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>Baekmuk Headline</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>AR PL Mingti2L Big5</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>AR PL ShanHeiSun Uni</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>AR PL KaitiM Big5</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>AR PL ZenKai Uni</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>AR PL SungtiL GB</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>AR PL KaitiM GB</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+       <match target="font">
+               <test name="family" compare="eq">
+                       <string>ZYSong18030</string>
+               </test>
+               <edit name="hinting" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+
+</fontconfig>
diff --git a/fonts/conf.avail/30-metric-aliases.conf b/fonts/conf.avail/30-metric-aliases.conf
new file mode 100644 (file)
index 0000000..702a495
--- /dev/null
@@ -0,0 +1,211 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+       <!-- Alias similar/metric-compatible families from various sources:
+
+               PostScript fonts:
+                       Helvetica
+                       Times
+                       Courier
+               URW fonts:
+                       Nimbus Sans L
+                       Nimbus Roman No9 L
+                       Nimbus Mono L
+
+               Microsoft fonts:
+                       Arial
+                       Times New Roman
+                       Courier New
+               Liberation fonts:
+                       Liberation Sans
+                       Liberation Serif
+                       Liberation Mono
+               StarOffice fonts:
+                       Albany
+                       Thorndale
+                       Cumberland
+               AMT fonts:
+                       Albany AMT
+                       Thorndale AMT
+                       Cumberland AMT
+
+            Of these, URW fonts are design compatible with PostScrict fonts,
+            and the Liberation, StarOffice, and AMT ones are compatible with
+            Microsoft fonts.
+
+            We want for each of them to fallback to any of these
+            available, but in an order preferring similar designs
+            first.  We do this in three steps:
+
+               1) Alias each specific to it's generic family.
+                  eg. Liberation Sans to Arial
+
+               2) Weak alias each generic to the other generic of its family.
+                  eg. Arial to Helvetica
+
+               3) Alias each generic to its specifics.
+                  eg. Arial to Liberation Sans, Albany, and Albany AMT
+       -->
+
+<!-- Map specifics to generics -->
+
+       <!-- PostScript -->
+       <alias binding="same">
+         <family>Nimbus Sans L</family>
+         <default>
+         <family>Helvetica</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
+         <family>Nimbus Roman No9 L</family>
+         <default>
+         <family>Times</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
+         <family>Nimbus Mono L</family>
+         <default>
+         <family>Courier</family>
+         </default>
+       </alias>
+
+
+       <!-- Microsoft -->
+       <alias binding="same">
+         <family>Liberation Sans</family>
+         <family>Albany</family>
+         <family>Albany AMT</family>
+         <default>
+         <family>Arial</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
+         <family>Liberation Serif</family>
+         <family>Thorndale</family>
+         <family>Thorndale AMT</family>
+         <default>
+         <family>Times New Roman</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
+         <family>Liberation Mono</family>
+         <family>Cumberland</family>
+         <family>Cumberland AMT</family>
+         <default>
+         <family>Courier New</family>
+         </default>
+       </alias>
+
+
+
+<!-- Accept the other group as fallback -->
+
+
+       <!-- PostScript -->
+       <alias>
+         <family>Helvetica</family>
+         <default>
+         <family>Arial</family>
+         </default>
+       </alias>
+
+       <alias>
+         <family>Times</family>
+         <default>
+         <family>Times New Roman</family>
+         </default>
+       </alias>
+
+       <alias>
+         <family>Courier</family>
+         <default>
+         <family>Courier New</family>
+         </default>
+       </alias>
+
+
+       <!-- Microsoft -->
+       <alias>
+         <family>Arial</family>
+         <default>
+         <family>Helvetica</family>
+         </default>
+       </alias>
+
+       <alias>
+         <family>Times New Roman</family>
+         <default>
+         <family>Times</family>
+         </default>
+       </alias>
+
+       <alias>
+         <family>Courier New</family>
+         <default>
+         <family>Courier</family>
+         </default>
+       </alias>
+
+
+
+<!-- Map generics to specifics -->
+
+
+       <!-- PostScript -->
+       <alias binding="same">
+         <family>Helvetica</family>
+         <accept>
+         <family>Nimbus Sans L</family>
+         </accept>
+       </alias>
+
+       <alias binding="same">
+         <family>Times</family>
+         <accept>
+         <family>Nimbus Roman No9 L</family>
+         </accept>
+       </alias>
+
+       <alias binding="same">
+         <family>Courier</family>
+         <accept>
+         <family>Nimbus Mono L</family>
+         </accept>
+       </alias>
+
+
+       <!-- Microsoft -->
+       <alias binding="same">
+         <family>Arial</family>
+         <accept>
+         <family>Liberation Sans</family>
+         <family>Albany</family>
+         <family>Albany AMT</family>
+         </accept>
+       </alias>
+
+       <alias binding="same">
+         <family>Times New Roman</family>
+         <accept>
+         <family>Liberation Serif</family>
+         <family>Thorndale</family>
+         <family>Thorndale AMT</family>
+         </accept>
+       </alias>
+
+       <alias binding="same">
+         <family>Courier New</family>
+         <accept>
+         <family>Liberation Mono</family>
+         <family>Cumberland</family>
+         <family>Cumberland AMT</family>
+         </accept>
+       </alias>
+
+
+</fontconfig>
diff --git a/fonts/conf.avail/30-urw-aliases.conf b/fonts/conf.avail/30-urw-aliases.conf
new file mode 100644 (file)
index 0000000..8d2b04b
--- /dev/null
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--
+  URW provides metric and shape compatible fonts for some Adobe families.
+  Helvetica, Courier, and Times are handled in 30-metric-aliases.conf.
+  -->
+       <alias binding="same">
+         <family>Avant Garde</family>
+         <accept><family>URW Gothic L</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Bookman</family>
+         <accept><family>URW Bookman L</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>New Century Schoolbook</family>
+         <accept><family>Century Schoolbook L</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Palatino</family>
+         <accept><family>URW Palladio L</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Zapf Chancery</family>
+         <accept><family>URW Chancery L</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Zapf Dingbats</family>
+         <accept><family>Dingbats</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>ZapfDingbats</family>
+         <accept><family>Dingbats</family></accept>
+       </alias>
+       <match target="pattern">
+         <test name="family">
+           <string>Symbol</string>
+         </test>
+         <edit name="family" mode="append" binding="same">
+           <string>Standard Symbols L</string>
+         </edit>
+       </match>
+</fontconfig>
diff --git a/fonts/conf.avail/40-nonlatin.conf b/fonts/conf.avail/40-nonlatin.conf
new file mode 100644 (file)
index 0000000..a875db0
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--
+  Mark common families with their generics so we'll get
+  something reasonable
+-->
+
+<!--
+  Serif faces
+ -->
+       <alias>
+               <family>Nazli</family>
+               <family>Lotoos</family>
+               <family>Mitra</family>
+               <family>Ferdosi</family>
+               <family>Badr</family>
+               <family>Zar</family>
+               <family>Titr</family>
+               <family>Jadid</family>
+               <family>Kochi Mincho</family>
+               <family>AR PL SungtiL GB</family>
+               <family>AR PL Mingti2L Big5</family>
+               <family>MS 明朝</family>
+               <family>UnBatang</family>
+               <family>Baekmuk Batang</family>
+               <family>MgOpen Canonica</family>
+               <family>Sazanami Mincho</family>
+               <family>AR PL ZenKai Uni</family>
+               <family>ZYSong18030</family>
+               <family>FreeSerif</family>
+               <default><family>serif</family></default>
+       </alias>
+<!--
+  Sans-serif faces
+ -->
+       <alias>
+               <family>Arshia</family>
+               <family>Elham</family>
+               <family>Farnaz</family>
+               <family>Nasim</family>
+               <family>Sina</family>
+               <family>Roya</family>
+               <family>Koodak</family>
+               <family>Terafik</family>
+               <family>Kochi Gothic</family>
+               <family>AR PL KaitiM GB</family>
+               <family>AR PL KaitiM Big5</family>
+               <family>MS ゴシック</family>
+               <family>UnDotum</family>
+               <family>Baekmuk Dotum</family>
+               <family>SimSun</family>
+               <family>MgOpen Modata</family>
+               <family>Sazanami Gothic</family>
+               <family>AR PL ShanHeiSun Uni</family>
+               <family>ZYSong18030</family>
+               <family>FreeSans</family>
+               <default><family>sans-serif</family></default>
+       </alias>
+<!--
+  Monospace faces
+ -->
+       <alias>
+               <family>NSimSun</family>
+               <family>ZYSong18030</family>
+               <family>FreeMono</family>
+               <default><family>monospace</family></default>
+       </alias>
+
+<!--
+  Fantasy faces
+ -->
+       <alias>
+               <family>Homa</family>
+               <family>Kamran</family>
+               <family>Fantezi</family>
+               <family>Tabassom</family>
+               <default><family>fantasy</family></default>
+       </alias>
+
+<!--
+  Cursive faces
+ -->
+       <alias>
+               <family>IranNastaliq</family>
+               <family>Nafees Nastaleeq</family>
+               <default><family>cursive</family></default>
+       </alias>
+
+</fontconfig>
diff --git a/fonts/conf.avail/45-latin.conf b/fonts/conf.avail/45-latin.conf
new file mode 100644 (file)
index 0000000..7e41264
--- /dev/null
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--
+  Mark common families with their generics so we'll get
+  something reasonable
+-->
+
+<!--
+  Serif faces
+ -->
+       <alias>
+               <family>Bitstream Vera Serif</family>
+               <family>DejaVu Serif</family>
+               <family>Liberation Serif</family>
+               <family>Times New Roman</family>
+               <family>Times</family>
+               <family>Nimbus Roman No9 L</family>
+               <family>Luxi Serif</family>
+               <family>Thorndale AMT</family>
+               <family>Thorndale</family>
+               <default><family>serif</family></default>
+       </alias>
+<!--
+  Sans-serif faces
+ -->
+       <alias>
+               <family>Bitstream Vera Sans</family>
+               <family>DejaVu Sans</family>
+               <family>Liberation Sans</family>
+               <family>Arial</family>
+               <family>Helvetica</family>
+               <family>Verdana</family>
+               <family>Albany AMT</family>
+               <family>Albany</family>
+               <family>Nimbus Sans L</family>
+               <family>Luxi Sans</family>
+               <default><family>sans-serif</family></default>
+       </alias>
+<!--
+  Monospace faces
+ -->
+       <alias>
+               <family>Bitstream Vera Sans Mono</family>
+               <family>DejaVu Sans Mono</family>
+               <family>Liberation Mono</family>
+               <family>Inconsolata</family>
+               <family>Courier New</family>
+               <family>Courier</family>
+               <family>Andale Mono</family>
+               <family>Luxi Mono</family>
+               <family>Cumberland AMT</family>
+               <family>Cumberland</family>
+               <family>Nimbus Mono L</family>
+               <default><family>monospace</family></default>
+       </alias>
+<!--
+  Fantasy faces
+ -->
+       <alias>
+               <family>Impact</family>
+               <family>Copperplate Gothic Std</family>
+               <family>Cooper Std</family>
+               <family>Bauhaus Std</family>
+               <default><family>fantasy</family></default>
+       </alias>
+<!--
+  Cursive faces
+  -->
+       <alias>
+               <family>ITC Zapf Chancery Std</family>
+               <family>Zapfino</family>
+               <family>Comic Sans MS</family>
+               <default><family>cursive</family></default>
+       </alias>
+
+</fontconfig>
diff --git a/fonts/conf.avail/49-sansserif.conf b/fonts/conf.avail/49-sansserif.conf
new file mode 100644 (file)
index 0000000..c6209a7
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--
+  If the font still has no generic name, add sans-serif
+ -->
+       <match target="pattern">
+               <test qual="all" name="family" compare="not_eq">
+                       <string>sans-serif</string>
+               </test>
+               <test qual="all" name="family" compare="not_eq">
+                       <string>serif</string>
+               </test>
+               <test qual="all" name="family" compare="not_eq">
+                       <string>monospace</string>
+               </test>
+               <edit name="family" mode="append_last">
+                       <string>sans-serif</string>
+               </edit>
+       </match>
+</fontconfig>
diff --git a/fonts/conf.avail/50-user.conf b/fonts/conf.avail/50-user.conf
new file mode 100644 (file)
index 0000000..3f89012
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+       <!-- Load per-user customization file -->
+       <include ignore_missing="yes">~/.fonts.conf.d</include>
+       <include ignore_missing="yes">~/.fonts.conf</include>
+</fontconfig>
diff --git a/fonts/conf.avail/51-local.conf b/fonts/conf.avail/51-local.conf
new file mode 100644 (file)
index 0000000..ca9fbe1
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+       <!-- Load local system customization file -->
+       <include ignore_missing="yes">local.conf</include>
+</fontconfig>
diff --git a/fonts/conf.avail/60-latin.conf b/fonts/conf.avail/60-latin.conf
new file mode 100644 (file)
index 0000000..dc1205f
--- /dev/null
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+       <alias>
+               <family>serif</family>
+               <prefer>
+                       <family>DejaVu Serif</family>
+                       <family>Bitstream Vera Serif</family>
+                       <family>Times New Roman</family>
+                       <family>Thorndale AMT</family>
+                       <family>Luxi Serif</family>
+                       <family>Nimbus Roman No9 L</family>
+                       <family>Times</family>
+               </prefer>
+       </alias>
+       <alias>
+               <family>sans-serif</family>
+               <prefer>
+                       <family>DejaVu Sans</family>
+                       <family>Bitstream Vera Sans</family>
+                       <family>Luxi Sans</family>
+                       <family>Nimbus Sans L</family>
+                       <family>Arial</family>
+                       <family>Albany AMT</family>
+                       <family>Helvetica</family>
+                       <family>Verdana</family>
+                       <family>Lucida Sans Unicode</family>
+                       <family>BPG Glaho International</family> <!-- lat,cyr,arab,geor -->
+                       <family>Tahoma</family> <!-- lat,cyr,greek,heb,arab,thai -->
+               </prefer>
+       </alias>
+       <alias>
+               <family>monospace</family>
+               <prefer>
+                       <family>DejaVu Sans Mono</family>
+                       <family>Bitstream Vera Sans Mono</family>
+                       <family>Inconsolata</family>
+                       <family>Luxi Mono</family>
+                       <family>Nimbus Mono L</family>
+                       <family>Andale Mono</family>
+                       <family>Courier New</family>
+                       <family>Cumberland AMT</family>
+                       <family>Courier</family>
+               </prefer>
+       </alias>
+<!--
+  Fantasy faces
+ -->
+       <alias>
+               <family>fantasy</family>
+               <prefer>
+                       <family>Impact</family>
+                       <family>Copperplate Gothic Std</family>
+                       <family>Cooper Std</family>
+                       <family>Bauhaus Std</family>
+               </prefer>
+       </alias>
+<!--
+  Cursive faces
+  -->
+       <alias>
+               <family>cursive</family>
+               <prefer>
+                       <family>ITC Zapf Chancery Std</family>
+                       <family>Zapfino</family>
+                       <family>Comic Sans MS</family>
+               </prefer>
+       </alias>
+
+</fontconfig>
diff --git a/fonts/conf.avail/65-fonts-persian.conf b/fonts/conf.avail/65-fonts-persian.conf
new file mode 100644 (file)
index 0000000..0033675
--- /dev/null
@@ -0,0 +1,419 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!--
+  fonts-persian.conf
+  To configure Persian fonts from The FarsiWeb Project.
+
+  Copyright (C) 2005  Sharif FarsiWeb, Inc. <license@farsiweb.info>
+
+  Permission to use, copy, modify, distribute, and sell this software and its
+  documentation for any purpose is hereby granted without fee, provided that
+  the above copyright notice appear in all copies and that both that
+  copyright notice and this permission notice appear in supporting
+  documentation, and that the name of Sharif FarsiWeb, Inc. not be used in
+  advertising or publicity pertaining to distribution of the software without
+  specific, written prior permission.  Sharif FarsiWeb, Inc. makes no
+  representations about the suitability of this software for any purpose.  It
+  is provided "as is" without express or implied warranty.
+
+  SHARIF FARSIWEB, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+  EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+  PERFORMANCE OF THIS SOFTWARE.
+
+  ChangeLog:
+    2005-04-03  Behdad Esfahbod:  Initial revision.
+    2005-10-09  Behdad Esfahbod:  Turned off back-slant and Tahoma sections.
+    2005-11-30  Behdad Esfahbod:  Set Titr susbtitution size to 24 points.
+    2008       Behdad Esfahbod:  Cleanup.  Add fantasy and cursive.
+  -->
+<fontconfig>
+
+
+<!-- Deprecated fonts are discouraged -->
+
+       <!-- Nesf[2] is officially deprecated and has problematic tables -->
+       <alias binding="same">
+         <family>Nesf</family>
+         <accept><family>Nesf2</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Nesf2</family>
+         <accept><family>Persian_sansserif_default</family></accept>
+       </alias>
+
+<!-- Name changes and spelling variant aliases -->
+
+       <alias binding="same">
+         <family>Nazanin</family>
+         <accept><family>Nazli</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Lotus</family>
+         <accept><family>Lotoos</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Yaqut</family>
+         <accept><family>Yaghoot</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Yaghut</family>
+         <accept><family>Yaghoot</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Traffic</family>
+         <accept><family>Terafik</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Ferdowsi</family>
+         <accept><family>Ferdosi</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Fantezy</family>
+         <accept><family>Fantezi</family></accept>
+       </alias>
+
+
+<!-- Classify fonts. -->
+
+       <!-- Persian_title class -->
+       <alias binding="same">
+         <family>Jadid</family>
+         <accept><family>Persian_title</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Titr</family>
+         <accept><family>Persian_title</family></accept>
+       </alias>
+
+       <!-- Persian_fantasy class -->
+       <alias binding="same">
+         <family>Kamran</family>
+         <accept>
+         <family>Persian_fantasy</family>
+         <family>Homa</family>
+         </accept>
+       </alias>
+       <alias binding="same">
+         <family>Homa</family>
+         <accept>
+         <family>Persian_fantasy</family>
+         <family>Kamran</family>
+         </accept>
+       </alias>
+       <alias binding="same">
+         <family>Fantezi</family>
+         <accept><family>Persian_fantasy</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Tabassom</family>
+         <accept><family>Persian_fantasy</family></accept>
+       </alias>
+
+       <!-- Persian_square class -->
+       <alias binding="same">
+         <family>Arshia</family>
+         <accept><family>Persian_square</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Nasim</family>
+         <accept><family>Persian_square</family></accept>
+       </alias>
+       <alias binding="same">
+         <family>Elham</family>
+         <accept>
+         <family>Persian_square</family>
+         <family>Farnaz</family>
+         </accept>
+       </alias>
+       <alias binding="same">
+         <family>Farnaz</family>
+         <accept>
+         <family>Persian_square</family>
+         <family>Elham</family>
+         </accept>
+       </alias>
+       <alias binding="same">
+         <family>Sina</family>
+         <accept><family>Persian_square</family></accept>
+       </alias>
+
+<!-- Font ordering per class -->
+
+       <!-- Persian_title class -->
+       <alias binding="same">
+         <family>Persian_title</family>
+         <accept>
+         <family>Titr</family>
+         <family>Jadid</family>
+         <family>Persian_serif</family>
+         </accept>
+       </alias>
+
+       <!-- Persian_fantasy class -->
+       <alias binding="same">
+         <family>Persian_fantasy</family>
+         <accept>
+         <family>Homa</family>
+         <family>Kamran</family>
+         <family>Fantezi</family>
+         <family>Tabassom</family>
+         <family>Persian_square</family>
+         </accept>
+       </alias>
+
+       <!-- Persian_square class -->
+       <alias binding="same">
+         <family>Persian_square</family>
+         <accept>
+         <family>Arshia</family>
+         <family>Elham</family>
+         <family>Farnaz</family>
+         <family>Nasim</family>
+         <family>Sina</family>
+         <family>Persian_serif</family>
+         </accept>
+       </alias>
+
+<!-- Register the fonts that we actually do have -->
+
+       <match target="scan">
+               <test name="family">
+                       <string>Elham</string>
+               </test>
+               <edit name="foundry">
+                       <string>farsiweb</string>
+               </edit>
+       </match>
+
+       <match target="scan">
+               <test name="family">
+                       <string>Homa</string>
+               </test>
+               <edit name="foundry">
+                       <string>farsiweb</string>
+               </edit>
+       </match>
+
+       <match target="scan">
+               <test name="family">
+                       <string>Koodak</string>
+               </test>
+               <edit name="foundry">
+                       <string>farsiweb</string>
+               </edit>
+       </match>
+
+       <match target="scan">
+               <test name="family">
+                       <string>Nazli</string>
+               </test>
+               <edit name="foundry">
+                       <string>farsiweb</string>
+               </edit>
+       </match>
+
+       <match target="scan">
+               <test name="family">
+                       <string>Roya</string>
+               </test>
+               <edit name="foundry">
+                       <string>farsiweb</string>
+               </edit>
+       </match>
+
+       <match target="scan">
+               <test name="family">
+                       <string>Terafik</string>
+               </test>
+               <edit name="foundry">
+                       <string>farsiweb</string>
+               </edit>
+       </match>
+
+       <match target="scan">
+               <test name="family">
+                       <string>Titr</string>
+               </test>
+               <edit name="foundry">
+                       <string>farsiweb</string>
+               </edit>
+       </match>
+
+
+<!-- Our fonts should oblique to the other side (TURNED-OFF) -->
+
+       <match target="font">
+               <test name="foundry">
+                       <!--string>farsiweb</string-->
+                       <string>TURNED-OFF</string>
+               </test>
+               <test name="foundry">
+                       <string>farsiweb</string>
+               </test>
+               <!-- check to see if the font is roman -->
+               <test name="slant">
+                       <const>roman</const>
+               </test>
+               <!-- check to see if the pattern requested non-roman -->
+               <test target="pattern" name="slant" compare="not_eq">
+                       <const>roman</const>
+               </test>
+               <!-- multiply the matrix to slant the font -->
+               <edit name="matrix" mode="assign">
+                       <times>
+                               <name>matrix</name>
+                               <matrix><double>1</double><double>-0.2</double>
+                                       <double>0</double><double>1</double>
+                               </matrix>
+                       </times>
+               </edit>
+               <!-- pretend the font is oblique now -->
+               <edit name="slant" mode="assign">
+                       <const>oblique</const>
+               </edit>
+       </match>
+
+
+<!--
+  We can't hint our fonts well, so turn off hinting.
+  Moreover, the bitmaps we have designed (well, they
+  have designed), suck, so disable them too.
+  -->
+
+       <match target="font">
+               <test name="foundry">
+                       <string>farsiweb</string>
+               </test>
+               <edit name="autohint">
+                       <bool>false</bool>
+               </edit>
+               <edit name="hinting">
+                       <bool>false</bool>
+               </edit>
+               <edit name="embeddedbitmap">
+                       <bool>false</bool>
+               </edit>
+       </match>
+
+
+<!-- Alias our fonts to common families -->
+
+       <!-- Persian serif fonts -->
+       <alias>
+               <family>serif</family>
+               <accept>
+                       <family>Nazli</family>
+                       <family>Lotoos</family>
+                       <family>Mitra</family>
+                       <family>Ferdosi</family>
+                       <family>Badr</family>
+                       <family>Zar</family>
+               </accept>
+       </alias>
+
+       <!-- Persian sans-serif fonts -->
+       <alias>
+               <family>sans-serif</family>
+               <accept>
+                       <family>Roya</family>
+                       <family>Koodak</family>
+                       <family>Terafik</family>
+               </accept>
+       </alias>
+
+       <!-- Persian monospace fonts -->
+       <alias>
+               <family>monospace</family>
+               <accept>
+                       <!-- Not really monospace -->
+                       <family>Terafik</family>
+               </accept>
+       </alias>
+
+       <!-- Persian fantasy fonts -->
+       <alias>
+               <family>fantasy</family>
+               <accept>
+                       <family>Homa</family>
+                       <family>Kamran</family>
+                       <family>Fantezi</family>
+                       <family>Tabassom</family>
+               </accept>
+       </alias>
+
+       <!-- Persian (and Urdu) Nastaliq/cursive fonts -->
+       <alias>
+               <family>cursive</family>
+               <accept>
+                       <family>IranNastaliq</family>
+                       <family>Nafees Nastaleeq</family>
+               </accept>
+       </alias>
+
+<!-- Use Titr in titles -->
+
+       <!-- Both serif... -->
+       <match>
+               <test name="family">
+                       <string>serif</string>
+               </test>
+               <test name="weight" compare="more_eq">
+                       <int>200</int>
+               </test>
+               <test name="size" compare="more_eq">
+                       <double>24</double>
+               </test>
+               <edit name="family" mode="prepend">
+                       <string>Titr</string>
+               </edit>
+       </match>
+
+       <!-- and sans-serif. -->
+       <match>
+               <test name="family">
+                       <string>sans-serif</string>
+               </test>
+               <test name="weight" compare="more_eq">
+                       <int>200</int>
+               </test>
+               <test name="size" compare="more_eq">
+                       <double>24</double>
+               </test>
+               <edit name="family" mode="prepend">
+                       <string>Titr</string>
+               </edit>
+       </match>
+
+       <!-- and more. -->
+       <match>
+               <test name="family">
+                       <string>Persian_sansserif_default</string>
+               </test>
+               <test name="weight" compare="more_eq">
+                       <int>200</int>
+               </test>
+               <test name="size" compare="more_eq">
+                       <double>24</double>
+               </test>
+               <edit name="family" mode="prepend" binding="same">
+                       <string>Titr</string>
+               </edit>
+       </match>
+
+
+<!-- Default substituted for deprecated sans-serif fonts -->
+
+       <match>
+               <test name="family">
+                       <string>Persian_sansserif_default</string>
+               </test>
+               <edit name="family" mode="assign" binding="same">
+                       <string>Roya</string>
+               </edit>
+       </match>
+
+</fontconfig>
diff --git a/fonts/conf.avail/65-khmer.conf b/fonts/conf.avail/65-khmer.conf
new file mode 100644 (file)
index 0000000..f9d06f2
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+       <alias>
+               <family>serif</family>
+               <prefer>
+                       <family>Khmer OS"</family>
+               </prefer>
+       </alias>
+       <alias>
+               <family>sans-serif</family>
+               <prefer>
+                       <family>Khmer OS"</family>
+               </prefer>
+       </alias>
+</fontconfig>
diff --git a/fonts/conf.avail/65-nonlatin.conf b/fonts/conf.avail/65-nonlatin.conf
new file mode 100644 (file)
index 0000000..53ac064
--- /dev/null
@@ -0,0 +1,195 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+       <alias>
+               <family>serif</family>
+               <prefer>
+                       <family>Artsounk</family> <!-- armenian -->
+                       <family>BPG UTF8 M</family> <!-- georgian -->
+                       <family>Kinnari</family> <!-- thai -->
+                       <family>Norasi</family> <!-- thai -->
+                       <family>Frank Ruehl</family> <!-- hebrew -->
+                       <family>Dror</family>  <!-- hebrew -->
+                       <family>JG LaoTimes</family>  <!-- lao -->
+                       <family>Saysettha Unicode</family>  <!-- lao -->
+                       <family>Pigiarniq</family> <!-- canadian syllabics -->
+                       <family>B Davat</family> <!-- arabic (fa) -->
+                       <family>B Compset</family>  <!-- arabic (fa) -->
+                       <family>Kacst-Qr</family> <!-- arabic (ar) -->
+                       <family>Urdu Nastaliq Unicode</family> <!-- arabic (ur) -->
+                       <family>Raghindi</family> <!-- devanagari -->
+                       <family>Mukti Narrow</family> <!-- bengali -->
+                       <family>malayalam</family> <!-- malayalam -->
+                       <family>Sampige</family> <!-- kannada -->
+                       <family>padmaa</family> <!-- gujarati -->
+                       <family>Hapax Berbère</family> <!-- tifinagh -->
+                       <family>MS Gothic</family> <!-- han (ja) -->
+                       <family>UmePlus P Gothic</family> <!-- han (ja) -->
+                       <family>SimSun</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>PMingLiu</family> <!-- han (zh-tw) -->
+                       <family>WenQuanYi Zen Hei</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>AR PL ShanHeiSun Uni</family> <!-- han (ja,zh-cn,zh-tw) -->
+                       <family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>HanyiSong</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>MgOpen Canonica</family>
+                       <family>Sazanami Mincho</family>
+                       <family>IPAMonaMincho</family>
+                       <family>IPAMincho</family>
+                       <family>Kochi Mincho</family>
+                       <family>AR PL SungtiL GB</family>
+                       <family>AR PL Mingti2L Big5</family>
+                       <family>AR PL Zenkai Uni</family>
+                       <family>MS 明朝</family>
+                       <family>ZYSong18030</family>
+                       <family>UnBatang</family>
+                       <family>Baekmuk Batang</family>
+                       <family>KacstQura</family>
+                       <family>Frank Ruehl CLM</family>
+                       <family>Lohit Bengali</family>
+                       <family>Lohit Gujarati</family>
+                       <family>Lohit Hindi</family>
+                       <family>Lohit Marathi</family>
+                       <family>Lohit Maithili</family>
+                       <family>Lohit Kashmiri</family>
+                       <family>Lohit Konkani</family>
+                       <family>Lohit Nepali</family>
+                       <family>Lohit Sindhi</family>
+                       <family>Lohit Punjabi</family>
+                       <family>Lohit Tamil</family>
+                       <family>Meera</family>
+                       <family>Lohit Malayalam</family>
+                       <family>Lohit Kannada</family>
+                       <family>Lohit Telugu</family>
+                       <family>Lohit Oriya</family>
+                       <family>LKLUG</family>
+               </prefer>
+       </alias>
+       <alias>
+               <family>sans-serif</family>
+               <prefer>
+                       <family>Nachlieli</family> <!-- hebrew -->
+                       <family>Lucida Sans Unicode</family>
+                       <family>Yudit Unicode</family>
+                       <family>Kerkis</family> <!-- greek -->
+                       <family>ArmNet Helvetica</family> <!-- armenian -->
+                       <family>Artsounk</family> <!-- armenian -->
+                       <family>BPG UTF8 M</family> <!-- georgian -->
+                       <family>Waree</family> <!-- thai -->
+                       <family>Loma</family> <!-- thai -->
+                       <family>Garuda</family> <!-- thai -->
+                       <family>Umpush</family> <!-- thai -->
+                       <family>Saysettha Unicode</family> <!-- lao? -->
+                       <family>JG Lao Old Arial</family> <!-- lao -->
+                       <family>GF Zemen Unicode</family> <!-- ethiopic -->
+                       <family>Pigiarniq</family> <!-- canadian syllabics -->
+                       <family>B Davat</family> <!-- arabic (fa) -->
+                       <family>B Compset</family> <!-- arabic (fa) -->
+                       <family>Kacst-Qr</family> <!-- arabic (ar) -->
+                       <family>Urdu Nastaliq Unicode</family> <!-- arabic (ur) -->
+                       <family>Raghindi</family> <!-- devanagari -->
+                       <family>Mukti Narrow</family> <!-- bengali -->
+                       <family>malayalam</family> <!-- malayalam -->
+                       <family>Sampige</family> <!-- kannada -->
+                       <family>padmaa</family> <!-- gujarati -->
+                       <family>Hapax Berbère</family> <!-- tifinagh -->
+                       <family>MS Gothic</family> <!-- han (ja) -->
+                       <family>UmePlus P Gothic</family> <!-- han (ja) -->
+                       <!-- chinese fonts are actually serifed -->
+                       <family>SimSun</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>PMingLiu</family> <!-- han (zh-tw) -->
+                       <family>WenQuanYi Zen Hei</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>AR PL ShanHeiSun Uni</family> <!--han (ja,zh-cn,zh-tw) -->
+                       <family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>MgOpen Modata</family>
+                       <family>VL Gothic</family>
+                       <family>IPAMonaGothic</family>
+                       <family>IPAGothic</family>
+                       <family>Sazanami Gothic</family>
+                       <family>Kochi Gothic</family>
+                       <family>AR PL KaitiM GB</family>
+                       <family>AR PL KaitiM Big5</family>
+                       <family>AR PL ShanHeiSun Uni</family>
+                       <family>AR PL SungtiL GB</family>
+                       <family>AR PL Mingti2L Big5</family>
+                       <family>MS ゴシック</family>
+                       <family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>TSCu_Paranar</family> <!-- tamil -->
+                       <family>UnDotum</family>
+                       <family>Baekmuk Dotum</family>
+                       <family>Baekmuk Gulim</family>
+                       <family>KacstQura</family>
+                       <family>Lohit Bengali</family>
+                       <family>Lohit Gujarati</family>
+                       <family>Lohit Hindi</family>
+                       <family>Lohit Marathi</family>
+                       <family>Lohit Maithili</family>
+                       <family>Lohit Kashmiri</family>
+                       <family>Lohit Konkani</family>
+                       <family>Lohit Nepali</family>
+                       <family>Lohit Sindhi</family>
+                       <family>Lohit Punjabi</family>
+                       <family>Lohit Tamil</family>
+                       <family>Meera</family>
+                       <family>Lohit Malayalam</family>
+                       <family>Lohit Kannada</family>
+                       <family>Lohit Telugu</family>
+                       <family>Lohit Oriya</family>
+                       <family>LKLUG</family>
+               </prefer>
+       </alias>
+       <alias>
+               <family>monospace</family>
+               <prefer>
+                       <family>Miriam Mono</family> <!-- hebrew -->
+                       <family>VL Gothic</family>
+                       <family>IPAMonaGothic</family>
+                       <family>IPAGothic</family>
+                       <family>Sazanami Gothic</family>
+                       <family>Kochi Gothic</family>
+                       <family>AR PL KaitiM GB</family>
+                       <family>MS Gothic</family> <!-- han (ja) -->
+                       <family>UmePlus Gothic</family> <!-- han (ja) -->
+                       <family>NSimSun</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>MingLiu</family> <!-- han (zh-tw) -->
+                       <family>AR PL ShanHeiSun Uni</family> <!-- han (ja,zh-cn,zh-tw) -->
+                       <family>AR PL New Sung Mono</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>HanyiSong</family> <!-- han (zh-cn) -->
+                       <family>AR PL SungtiL GB</family>
+                       <family>AR PL Mingti2L Big5</family>
+                       <family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
+                       <family>UnBatang</family>
+                       <family>UnDotum</family>
+                       <family>Baekmuk Batang</family> <!-- hangul -->
+                       <family>Baekmuk Dotum</family>
+                       <family>Baekmuk Gulim</family>
+                       <family>TlwgTypo</family> <!-- thai -->
+                       <family>TlwgTypist</family> <!-- thai -->
+                       <family>TlwgTypewriter</family> <!-- thai -->
+                       <family>TlwgMono</family> <!-- thai -->
+                       <family>Hasida</family> <!-- hebrew -->
+                       <family>Mitra Mono</family> <!-- bengali -->
+                       <family>GF Zemen Unicode</family> <!-- ethiopic -->
+                       <family>Hapax Berbère</family> <!-- tifinagh -->
+                       <family>Lohit Bengali</family>
+                       <family>Lohit Gujarati</family>
+                       <family>Lohit Hindi</family>
+                       <family>Lohit Marathi</family>
+                       <family>Lohit Maithili</family>
+                       <family>Lohit Kashmiri</family>
+                       <family>Lohit Konkani</family>
+                       <family>Lohit Nepali</family>
+                       <family>Lohit Sindhi</family>
+                       <family>Lohit Punjabi</family>
+                       <family>Lohit Tamil</family>
+                       <family>Meera</family>
+                       <family>Lohit Malayalam</family>
+                       <family>Lohit Kannada</family>
+                       <family>Lohit Telugu</family>
+                       <family>Lohit Oriya</family>
+                       <family>LKLUG</family>
+               </prefer>
+       </alias>
+</fontconfig>
diff --git a/fonts/conf.avail/69-unifont.conf b/fonts/conf.avail/69-unifont.conf
new file mode 100644 (file)
index 0000000..177dec5
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+       <alias>
+               <family>serif</family>
+               <prefer>
+                       <family>FreeSerif</family>
+                       <family>Code2000</family>
+                       <family>Code2001</family> <!-- plane1 and beyond -->
+               </prefer>
+       </alias>
+       <alias>
+               <family>sans-serif</family>
+               <prefer>
+                       <family>FreeSans</family>
+                       <family>Arial Unicode MS</family>
+                       <family>Arial Unicode</family>
+                       <family>Code2000</family> <!-- almost everything; serif actually -->
+                       <family>Code2001</family> <!-- plane1 and beyond -->
+               </prefer>
+       </alias>
+       <alias>
+               <family>monospace</family>
+               <prefer>
+                       <family>FreeMono</family>
+               </prefer>
+       </alias>
+</fontconfig>
diff --git a/fonts/conf.avail/70-no-bitmaps.conf b/fonts/conf.avail/70-no-bitmaps.conf
new file mode 100644 (file)
index 0000000..6b506e8
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!-- Reject bitmap fonts -->
+ <selectfont>
+  <rejectfont>
+   <pattern>
+     <patelt name="scalable"><bool>false</bool></patelt>
+   </pattern>
+  </rejectfont>
+ </selectfont>
+</fontconfig>
diff --git a/fonts/conf.avail/70-yes-bitmaps.conf b/fonts/conf.avail/70-yes-bitmaps.conf
new file mode 100644 (file)
index 0000000..c153aeb
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!-- Accept bitmap fonts -->
+ <selectfont>
+  <acceptfont>
+   <pattern>
+     <patelt name="scalable"><bool>false</bool></patelt>
+   </pattern>
+  </acceptfont>
+ </selectfont>
+</fontconfig>
diff --git a/fonts/conf.avail/80-delicious.conf b/fonts/conf.avail/80-delicious.conf
new file mode 100644 (file)
index 0000000..728f50c
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!-- Fix-ups for Delicious family -->
+
+<!-- Delicious 'heavy' variant says its Medium weight -->
+<match target="scan">
+       <test name="family">
+               <string>Delicious</string>
+       </test>
+       <test name="style">
+               <string>Heavy</string>
+       </test>
+       <edit name="weight">
+               <const>heavy</const>
+       </edit>
+</match>
+
+</fontconfig>
diff --git a/fonts/conf.avail/90-synthetic.conf b/fonts/conf.avail/90-synthetic.conf
new file mode 100644 (file)
index 0000000..b8d1e85
--- /dev/null
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!-- 
+ Artificial oblique for fonts without an italic or oblique version
+ -->
+       <match target="font">
+               <!-- check to see if the font is roman -->
+               <test name="slant">
+                       <const>roman</const>
+               </test>
+               <!-- check to see if the pattern requested non-roman -->
+               <test target="pattern" name="slant" compare="not_eq">
+                       <const>roman</const>
+               </test>
+               <!-- multiply the matrix to slant the font -->
+               <edit name="matrix" mode="assign">
+                       <times>
+                               <name>matrix</name>
+                               <matrix><double>1</double><double>0.2</double>
+                                       <double>0</double><double>1</double>
+                               </matrix>
+                       </times>
+               </edit>
+               <!-- pretend the font is oblique now -->
+               <edit name="slant" mode="assign">
+                       <const>oblique</const>
+               </edit>
+               <!-- and disable embedded bitmaps for artificial oblique -->
+               <edit name="embeddedbitmap" mode="assign">
+                       <bool>false</bool>
+               </edit>
+       </match>
+
+<!--
+ Synthetic emboldening for fonts that do not have bold face available
+ -->
+
+       <match target="font">
+               <!-- check to see if the font is just regular -->
+               <test name="weight" compare="less_eq">
+                       <const>medium</const>
+               </test>
+               <!-- check to see if the pattern requests bold -->
+               <test target="pattern" name="weight" compare="more">
+                       <const>medium</const>
+               </test>
+               <!--
+                 set the embolden flag
+                 needed for applications using cairo, e.g. gucharmap, gedit, ...
+               -->
+               <edit name="embolden" mode="assign">
+                       <bool>true</bool>
+               </edit>
+               <!--
+                set weight to bold
+                needed for applications using Xft directly, e.g. Firefox, ...
+               -->
+               <edit name="weight" mode="assign">
+                       <const>bold</const>
+               </edit>
+       </match>
+</fontconfig>
diff --git a/fonts/conf.d/20-fix-globaladvance.conf b/fonts/conf.d/20-fix-globaladvance.conf
new file mode 120000 (symlink)
index 0000000..8fec131
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/20-fix-globaladvance.conf
\ No newline at end of file
diff --git a/fonts/conf.d/20-unhint-small-vera.conf b/fonts/conf.d/20-unhint-small-vera.conf
new file mode 120000 (symlink)
index 0000000..56c5b8f
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/20-unhint-small-vera.conf
\ No newline at end of file
diff --git a/fonts/conf.d/30-metric-aliases.conf b/fonts/conf.d/30-metric-aliases.conf
new file mode 120000 (symlink)
index 0000000..6809157
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/30-metric-aliases.conf
\ No newline at end of file
diff --git a/fonts/conf.d/30-urw-aliases.conf b/fonts/conf.d/30-urw-aliases.conf
new file mode 120000 (symlink)
index 0000000..227e03d
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/30-urw-aliases.conf
\ No newline at end of file
diff --git a/fonts/conf.d/40-nonlatin.conf b/fonts/conf.d/40-nonlatin.conf
new file mode 120000 (symlink)
index 0000000..efb8230
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/40-nonlatin.conf
\ No newline at end of file
diff --git a/fonts/conf.d/45-latin.conf b/fonts/conf.d/45-latin.conf
new file mode 120000 (symlink)
index 0000000..c400905
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/45-latin.conf
\ No newline at end of file
diff --git a/fonts/conf.d/49-sansserif.conf b/fonts/conf.d/49-sansserif.conf
new file mode 120000 (symlink)
index 0000000..0262faa
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/49-sansserif.conf
\ No newline at end of file
diff --git a/fonts/conf.d/50-user.conf b/fonts/conf.d/50-user.conf
new file mode 120000 (symlink)
index 0000000..967e33e
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/50-user.conf
\ No newline at end of file
diff --git a/fonts/conf.d/51-local.conf b/fonts/conf.d/51-local.conf
new file mode 120000 (symlink)
index 0000000..58fc313
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/51-local.conf
\ No newline at end of file
diff --git a/fonts/conf.d/60-latin.conf b/fonts/conf.d/60-latin.conf
new file mode 120000 (symlink)
index 0000000..4827df3
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/60-latin.conf
\ No newline at end of file
diff --git a/fonts/conf.d/65-fonts-persian.conf b/fonts/conf.d/65-fonts-persian.conf
new file mode 120000 (symlink)
index 0000000..7f72bfe
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/65-fonts-persian.conf
\ No newline at end of file
diff --git a/fonts/conf.d/65-nonlatin.conf b/fonts/conf.d/65-nonlatin.conf
new file mode 120000 (symlink)
index 0000000..d99e17a
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/65-nonlatin.conf
\ No newline at end of file
diff --git a/fonts/conf.d/69-unifont.conf b/fonts/conf.d/69-unifont.conf
new file mode 120000 (symlink)
index 0000000..7ba1b65
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/69-unifont.conf
\ No newline at end of file
diff --git a/fonts/conf.d/80-delicious.conf b/fonts/conf.d/80-delicious.conf
new file mode 120000 (symlink)
index 0000000..22d6770
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/80-delicious.conf
\ No newline at end of file
diff --git a/fonts/conf.d/90-synthetic.conf b/fonts/conf.d/90-synthetic.conf
new file mode 120000 (symlink)
index 0000000..a25f312
--- /dev/null
@@ -0,0 +1 @@
+../conf.avail/90-synthetic.conf
\ No newline at end of file
diff --git a/fonts/conf.d/README b/fonts/conf.d/README
new file mode 100644 (file)
index 0000000..c2fb52c
--- /dev/null
@@ -0,0 +1,23 @@
+conf.d/README
+
+Each file in this directory is a fontconfig configuration file.  Fontconfig
+scans this directory, loading all files of the form [0-9][0-9]*.conf.
+These files are normally installed in ../conf.avail and then symlinked here,
+allowing them to be easily installed and then enabled/disabled by adjusting
+the symlinks.
+
+The files are loaded in numeric order, the structure of the configuration
+has led to the following conventions in usage:
+
+ Files begining with:  Contain:
+ 00 through 09         Font directories
+ 10 through 19         system rendering defaults (AA, etc)
+ 20 through 29         font rendering options
+ 30 through 39         family substitution
+ 40 through 49         generic identification, map family->generic
+ 50 through 59         alternate config file loading
+ 60 through 69         generic aliases, map generic->family
+ 70 through 79         select font (adjust which fonts are available)
+ 80 through 89         match target="scan" (modify scanned patterns)
+ 90 through 99         font synthesis
diff --git a/fonts/fonts.conf b/fonts/fonts.conf
new file mode 100644 (file)
index 0000000..059259a
--- /dev/null
@@ -0,0 +1,151 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/fonts.conf file to configure system font access -->
+<fontconfig>
+
+<!--
+       DO NOT EDIT THIS FILE.
+       IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
+       LOCAL CHANGES BELONG IN 'local.conf'.
+
+       The intent of this standard configuration file is to be adequate for
+       most environments.  If you have a reasonably normal environment and
+       have found problems with this configuration, they are probably
+       things that others will also want fixed.  Please submit any
+       problems to the fontconfig bugzilla system located at fontconfig.org
+
+       Note that the normal 'make install' procedure for fontconfig is to
+       replace any existing fonts.conf file with the new version.  Place
+       any local customizations in local.conf which this file references.
+
+       Keith Packard
+-->
+
+<!-- Font directory list -->
+
+       <dir>/usr/share/fonts</dir>
+       <dir>/usr/local/share/fonts</dir>
+       <dir>~/.fonts</dir>
+
+<!--
+  Accept deprecated 'mono' alias, replacing it with 'monospace'
+-->
+       <match target="pattern">
+               <test qual="any" name="family">
+                       <string>mono</string>
+               </test>
+               <edit name="family" mode="assign">
+                       <string>monospace</string>
+               </edit>
+       </match>
+
+<!--
+  Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
+-->
+       <match target="pattern">
+               <test qual="any" name="family">
+                       <string>sans serif</string>
+               </test>
+               <edit name="family" mode="assign">
+                       <string>sans-serif</string>
+               </edit>
+       </match>
+
+<!--
+  Accept deprecated 'sans' alias, replacing it with 'sans-serif'
+-->
+       <match target="pattern">
+               <test qual="any" name="family">
+                       <string>sans</string>
+               </test>
+               <edit name="family" mode="assign">
+                       <string>sans-serif</string>
+               </edit>
+       </match>
+
+<!--
+  Load local system customization file
+-->
+       <include ignore_missing="yes">conf.d</include>
+
+<!-- Font cache directory list -->
+
+       <cachedir>/var/cache/fontconfig</cachedir>
+       <cachedir>~/.fontconfig</cachedir>
+
+       <config>
+<!--
+  These are the default Unicode chars that are expected to be blank
+  in fonts.  All other blank chars are assumed to be broken and
+  won't appear in the resulting charsets
+ -->
+               <blank>
+                       <int>0x0020</int>       <!-- SPACE -->
+                       <int>0x00A0</int>       <!-- NO-BREAK SPACE -->
+                       <int>0x00AD</int>       <!-- SOFT HYPHEN -->
+                       <int>0x034F</int>       <!-- COMBINING GRAPHEME JOINER -->
+                       <int>0x0600</int>       <!-- ARABIC NUMBER SIGN -->
+                       <int>0x0601</int>       <!-- ARABIC SIGN SANAH -->
+                       <int>0x0602</int>       <!-- ARABIC FOOTNOTE MARKER -->
+                       <int>0x0603</int>       <!-- ARABIC SIGN SAFHA -->
+                       <int>0x06DD</int>       <!-- ARABIC END OF AYAH -->
+                       <int>0x070F</int>       <!-- SYRIAC ABBREVIATION MARK -->
+                       <int>0x115F</int>       <!-- HANGUL CHOSEONG FILLER -->
+                       <int>0x1160</int>       <!-- HANGUL JUNGSEONG FILLER -->
+                       <int>0x1680</int>       <!-- OGHAM SPACE MARK -->
+                       <int>0x17B4</int>       <!-- KHMER VOWEL INHERENT AQ -->
+                       <int>0x17B5</int>       <!-- KHMER VOWEL INHERENT AA -->
+                       <int>0x180E</int>       <!-- MONGOLIAN VOWEL SEPARATOR -->
+                       <int>0x2000</int>       <!-- EN QUAD -->
+                       <int>0x2001</int>       <!-- EM QUAD -->
+                       <int>0x2002</int>       <!-- EN SPACE -->
+                       <int>0x2003</int>       <!-- EM SPACE -->
+                       <int>0x2004</int>       <!-- THREE-PER-EM SPACE -->
+                       <int>0x2005</int>       <!-- FOUR-PER-EM SPACE -->
+                       <int>0x2006</int>       <!-- SIX-PER-EM SPACE -->
+                       <int>0x2007</int>       <!-- FIGURE SPACE -->
+                       <int>0x2008</int>       <!-- PUNCTUATION SPACE -->
+                       <int>0x2009</int>       <!-- THIN SPACE -->
+                       <int>0x200A</int>       <!-- HAIR SPACE -->
+                       <int>0x200B</int>       <!-- ZERO WIDTH SPACE -->
+                       <int>0x200C</int>       <!-- ZERO WIDTH NON-JOINER -->
+                       <int>0x200D</int>       <!-- ZERO WIDTH JOINER -->
+                       <int>0x200E</int>       <!-- LEFT-TO-RIGHT MARK -->
+                       <int>0x200F</int>       <!-- RIGHT-TO-LEFT MARK -->
+                       <int>0x2028</int>       <!-- LINE SEPARATOR -->
+                       <int>0x2029</int>       <!-- PARAGRAPH SEPARATOR -->
+                       <int>0x202A</int>       <!-- LEFT-TO-RIGHT EMBEDDING -->
+                       <int>0x202B</int>       <!-- RIGHT-TO-LEFT EMBEDDING -->
+                       <int>0x202C</int>       <!-- POP DIRECTIONAL FORMATTING -->
+                       <int>0x202D</int>       <!-- LEFT-TO-RIGHT OVERRIDE -->
+                       <int>0x202E</int>       <!-- RIGHT-TO-LEFT OVERRIDE -->
+                       <int>0x202F</int>       <!-- NARROW NO-BREAK SPACE -->
+                       <int>0x205F</int>       <!-- MEDIUM MATHEMATICAL SPACE -->
+                       <int>0x2060</int>       <!-- WORD JOINER -->
+                       <int>0x2061</int>       <!-- FUNCTION APPLICATION -->
+                       <int>0x2062</int>       <!-- INVISIBLE TIMES -->
+                       <int>0x2063</int>       <!-- INVISIBLE SEPARATOR -->
+                       <int>0x206A</int>       <!-- INHIBIT SYMMETRIC SWAPPING -->
+                       <int>0x206B</int>       <!-- ACTIVATE SYMMETRIC SWAPPING -->
+                       <int>0x206C</int>       <!-- INHIBIT ARABIC FORM SHAPING -->
+                       <int>0x206D</int>       <!-- ACTIVATE ARABIC FORM SHAPING -->
+                       <int>0x206E</int>       <!-- NATIONAL DIGIT SHAPES -->
+                       <int>0x206F</int>       <!-- NOMINAL DIGIT SHAPES -->
+                       <int>0x2800</int>       <!-- BRAILLE PATTERN BLANK -->
+                       <int>0x3000</int>       <!-- IDEOGRAPHIC SPACE -->
+                       <int>0x3164</int>       <!-- HANGUL FILLER -->
+                       <int>0xFEFF</int>       <!-- ZERO WIDTH NO-BREAK SPACE -->
+                       <int>0xFFA0</int>       <!-- HALFWIDTH HANGUL FILLER -->
+                       <int>0xFFF9</int>       <!-- INTERLINEAR ANNOTATION ANCHOR -->
+                       <int>0xFFFA</int>       <!-- INTERLINEAR ANNOTATION SEPARATOR -->
+                       <int>0xFFFB</int>       <!-- INTERLINEAR ANNOTATION TERMINATOR -->
+               </blank>
+<!--
+  Rescan configuration every 30 seconds when FcFontSetList is called
+ -->
+               <rescan>
+                       <int>30</int>
+               </rescan>
+       </config>
+
+</fontconfig>
diff --git a/fonts/fonts.dtd b/fonts/fonts.dtd
new file mode 100644 (file)
index 0000000..cbdfdab
--- /dev/null
@@ -0,0 +1,224 @@
+<!-- This is the Document Type Definition for font configuration files -->
+<!ELEMENT fontconfig (dir | 
+                     cache | 
+                     cachedir |
+                     include | 
+                     config |
+                     selectfont |
+                     match | 
+                     alias)* >
+
+<!-- 
+    Add a directory that provides fonts
+-->
+<!ELEMENT dir (#PCDATA)>
+<!ATTLIST dir xml:space (default|preserve) 'preserve'>
+
+<!--
+    Define the per-user file that holds cache font information.
+
+    If the filename begins with '~', it is replaced with the users
+    home directory path.
+-->
+<!ELEMENT cache (#PCDATA)>
+<!ATTLIST cache xml:space (default|preserve) 'preserve'>
+
+<!--
+    Add a directory that is searched for font cache files.
+    These hold per-directory cache data and are searched in
+    order for each directory. When writing cache files, the first
+    directory which allows the cache file to be created is used.
+
+    A leading '~' in a directory name is replaced with the users
+    home directory path.
+-->
+<!ELEMENT cachedir (#PCDATA)>
+<!ATTLIST cachedir xml:space (default|preserve) 'preserve'>
+
+<!--
+    Reference another configuration file; note that this
+    is another complete font configuration file and not
+    just a file included by the XML parser.
+
+    Set 'ignore_missing' to 'yes' if errors are to be ignored.
+
+    If the filename begins with '~', it is replaced with the users
+    home directory path.
+-->
+<!ELEMENT include (#PCDATA)>
+<!ATTLIST include
+         ignore_missing    (no|yes)            "no"
+         xml:space         (default|preserve)  "preserve">
+
+<!--
+    Global library configuration data
+ -->
+<!ELEMENT config (blank|rescan)*>
+
+<!--
+    Specify the set of Unicode encoding values which
+    represent glyphs that are allowed to contain no
+    data.  With this list, fontconfig can examine
+    fonts for broken glyphs and eliminate them from
+    the set of valid Unicode chars.  This idea
+    was borrowed from Mozilla
+ -->
+<!ELEMENT blank (int)*>
+
+<!--
+    Aliases are just a special case for multiple match elements
+
+    They are syntactically equivalent to:
+
+    <match>
+       <test name="family">
+           <string value=[family]/>
+       </test>
+       <edit name="family" mode="prepend">
+           <string value=[prefer]/>
+           ...
+       </edit>
+       <edit name="family" mode="append">
+           <string value=[accept]/>
+           ...
+       </edit>
+       <edit name="family" mode="append_last">
+           <string value=[default]/>
+           ...
+       </edit>
+    </match>
+-->
+<!--
+    Periodically rescan the font configuration and
+    directories to synch internal state with filesystem
+ -->
+<!ELEMENT rescan (int)>
+
+<!--
+    Edit list of available fonts at startup/reload time
+ -->
+<!ELEMENT selectfont (rejectfont | acceptfont)* >
+
+<!ELEMENT rejectfont (glob | pattern)*>
+
+<!ELEMENT acceptfont (glob | pattern)*>
+
+<!ELEMENT glob (#PCDATA)>
+
+<!ELEMENT pattern (patelt)*>
+
+<!ENTITY % constant 'int|double|string|matrix|bool|charset|const'>
+
+<!ELEMENT patelt (%constant;)*>
+<!ATTLIST patelt
+         name CDATA    #REQUIRED>
+
+<!ELEMENT alias (family*, prefer?, accept?, default?)>
+<!ATTLIST alias
+         binding (weak|strong|same) "weak">
+<!ELEMENT prefer (family)*>
+<!ELEMENT accept (family)*>
+<!ELEMENT default (family)*>
+<!ELEMENT family (#PCDATA)>
+<!ATTLIST family xml:space (default|preserve) 'preserve'>
+
+<!ENTITY % expr 'int|double|string|matrix|bool|charset
+               |name|const
+               |or|and|eq|not_eq|less|less_eq|more|more_eq|contains|not_contains
+               |plus|minus|times|divide|not|if|floor|ceil|round|trunc'>
+
+<!--
+    Match and edit patterns.
+
+    If 'target' is 'pattern', execute the match before selecting a font.
+    if 'target' is 'font', execute the match on the result of a font
+    selection.
+-->
+<!ELEMENT match (test*, edit*)>
+<!ATTLIST match
+         target (pattern|font|scan) "pattern">
+
+<!--
+    Match a field in a pattern
+
+    if 'qual' is 'any', then the match succeeds if any value in the field matches.
+    if 'qual' is 'all', then the match succeeds only if all values match.
+    if 'qual' is 'first', then the match succeeds only if the first value matches.
+    if 'qual' is 'not_first', then the match succeeds only if any value other than
+       the first matches.
+    For match elements with target=font, if test 'target' is 'pattern',
+    then the test is applied to the pattern used in matching rather than
+    to the resulting font.
+
+    Match elements with target=scan are applied as fonts are scanned.
+    They edit the pattern generated from the scanned font and affect
+    what the fontconfig database contains.
+-->
+<!ELEMENT test (%expr;)*>
+<!ATTLIST test 
+         qual (any|all|first|not_first)    "any"
+         name CDATA        #REQUIRED
+         target (pattern|font|default)         "default"
+         compare (eq|not_eq|less|less_eq|more|more_eq|contains|not_contains)   "eq">
+
+<!--
+    Edit a field in a pattern
+
+    The enclosed values are used together to edit the list of values
+    associated with 'name'.
+
+    If 'name' matches one of those used in a test element for this match element:
+       if 'mode' is 'assign', replace the matched value.
+       if 'mode' is 'assign_replace', replace all of the values
+       if 'mode' is 'prepend', insert before the matched value
+       if 'mode' is 'append', insert after the matched value
+       if 'mode' is 'prepend_first', insert before all of the values
+       if 'mode' is 'append_last', insert after all of the values
+    If 'name' doesn't match any of those used in a test element:
+       if 'mode' is 'assign' or 'assign_replace, replace all of the values
+       if 'mode' is 'prepend' or 'prepend_first', insert before all of the values
+       if 'mode' is 'append' or 'append_last', insert after all of the values
+-->
+<!ELEMENT edit (%expr;)*>
+<!ATTLIST edit
+         name CDATA        #REQUIRED
+         mode (assign|assign_replace|prepend|append|prepend_first|append_last) "assign"
+         binding (weak|strong|same) "weak">
+
+<!--
+    Elements of expressions follow
+-->
+<!ELEMENT int (#PCDATA)>
+<!ATTLIST int xml:space (default|preserve) 'preserve'>
+<!ELEMENT double (#PCDATA)>
+<!ATTLIST double xml:space (default|preserve) 'preserve'>
+<!ELEMENT string (#PCDATA)>
+<!ATTLIST string xml:space (default|preserve) 'preserve'>
+<!ELEMENT matrix (double,double,double,double)>
+<!ELEMENT bool (#PCDATA)>
+<!ELEMENT charset (#PCDATA)>
+<!ATTLIST charset xml:space (default|preserve) 'preserve'>
+<!ELEMENT name (#PCDATA)>
+<!ATTLIST name xml:space (default|preserve) 'preserve'>
+<!ELEMENT const (#PCDATA)>
+<!ATTLIST const xml:space (default|preserve) 'preserve'>
+<!ELEMENT or (%expr;)*>
+<!ELEMENT and (%expr;)*>
+<!ELEMENT eq ((%expr;), (%expr;))>
+<!ELEMENT not_eq ((%expr;), (%expr;))>
+<!ELEMENT less ((%expr;), (%expr;))>
+<!ELEMENT less_eq ((%expr;), (%expr;))>
+<!ELEMENT more ((%expr;), (%expr;))>
+<!ELEMENT more_eq ((%expr;), (%expr;))>
+<!ELEMENT contains ((%expr;), (%expr;))>
+<!ELEMENT not_contains ((%expr;), (%expr;))>
+<!ELEMENT plus (%expr;)*>
+<!ELEMENT minus (%expr;)*>
+<!ELEMENT times (%expr;)*>
+<!ELEMENT divide (%expr;)*>
+<!ELEMENT not (%expr;)>
+<!ELEMENT if ((%expr;), (%expr;), (%expr;))>
+<!ELEMENT floor (%expr;)>
+<!ELEMENT ceil (%expr;)>
+<!ELEMENT round (%expr;)>
+<!ELEMENT trunc (%expr;)>
diff --git a/sandbox.d/37fontconfig b/sandbox.d/37fontconfig
new file mode 100644 (file)
index 0000000..056c8d5
--- /dev/null
@@ -0,0 +1 @@
+SANDBOX_PREDICT="/var/cache/fontconfig"