Split much of the configuration into separate files. Renumber files

Most of the remaining elements in fonts.conf have been moved to separate
files. The numbering scheme for conf.d files has been documented in the
README and the files have been renumbered. Config files have been
validated against the DTD and a few minor errors fixed.
This commit is contained in:
Keith Packard 2006-09-09 21:32:14 -07:00
parent 9596dce93b
commit 6c5619a085
25 changed files with 344 additions and 237 deletions

View File

@ -0,0 +1,11 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Available Gujarti fonts look much better without hinting -->
<match target="font">
<test name="family"><string>Lohit Gujarati</string></test>
<edit name="hinting"><bool>false</bool></edit>
</match>
</fontconfig>

View File

@ -45,7 +45,7 @@
<test name="family"> <test name="family">
<string>Symbol</string> <string>Symbol</string>
</test> </test>
<edit name="family" mode="append" binding="strong"> <edit name="family" mode="append" binding="same">
<string>Standard Symbols L</string> <string>Standard Symbols L</string>
</edit> </edit>
</match> </match>

66
conf.d/40-generic.conf Normal file
View File

@ -0,0 +1,66 @@
<?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>Times New Roman</family>
<family>Times</family>
<family>Nimbus Roman No9 L</family>
<family>Luxi Serif</family>
<family>Kochi Mincho</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
<family> 明朝</family>
<family>Baekmuk Batang</family>
<family>FreeSerif</family>
<family>MgOpen Canonica</family>
<default><family>serif</family></default>
</alias>
<!--
Sans-serif faces
-->
<alias>
<family>Bitstream Vera Sans</family>
<family>DejaVu Sans</family>
<family>Helvetica</family>
<family>Arial</family>
<family>Verdana</family>
<family>Albany AMT</family>
<family>Nimbus Sans L</family>
<family>Luxi Sans</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>AR PL KaitiM Big5</family>
<family> ゴシック</family>
<family>Baekmuk Dotum</family>
<family>SimSun</family>
<family>FreeSans</family>
<family>MgOpen Modata</family>
<default><family>sans-serif</family></default>
</alias>
<!--
Monospace faces
-->
<alias>
<family>Bitstream Vera Sans Mono</family>
<family>DejaVu Sans Mono</family>
<family>Courier</family>
<family>Courier New</family>
<family>Andale Mono</family>
<family>Luxi Mono</family>
<family>Cumberland AMT</family>
<family>Nimbus Mono L</family>
<family>NSimSun</family>
<family>FreeMono</family>
<default><family>monospace</family></default>
</alias>
</fontconfig>

21
conf.d/49-sansserif.conf Normal file
View File

@ -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>

View File

@ -1,5 +0,0 @@
<!-- Available Gujarti fonts look much better without hinting -->
<match target="font">
<test name="family"><string>Lohit Gujarati</string></test>
<edit name="hinting"><bool>false</bool></edit>
</match>

42
conf.d/60-latin.conf Normal file
View File

@ -0,0 +1,42 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>serif</family>
<prefer>
<family>Bitstream Vera Serif</family>
<family>DejaVu 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>Bitstream Vera Sans</family>
<family>DejaVu Sans</family>
<family>Verdana</family>
<family>Arial</family>
<family>Albany AMT</family>
<family>Luxi Sans</family>
<family>Nimbus Sans L</family>
<family>Helvetica</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Bitstream Vera Sans Mono</family>
<family>DejaVu Sans Mono</family>
<family>Andale Mono</family>
<family>Courier New</family>
<family>Cumberland AMT</family>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>
<family>Courier</family>
</prefer>
</alias>
</fontconfig>

38
conf.d/65-nonlatin.conf Normal file
View File

@ -0,0 +1,38 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>serif</family>
<prefer>
<family>Frank Ruehl</family>
<family>MgOpen Canonica</family>
<family>Kochi Mincho</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
<family> 明朝</family>
<family>Baekmuk Batang</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Nachlieli</family>
<family>MgOpen Modata</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>AR PL KaitiM Big5</family>
<family> ゴシック</family>
<family>Baekmuk Dotum</family>
<family>SimSun</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Miriam Mono</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>Baekmuk Dotum</family>
</prefer>
</alias>
</fontconfig>

24
conf.d/69-unifont.conf Normal file
View File

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>serif</family>
<prefer>
<family>FreeSerif</family>
<family>Code2000</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>FreeSans</family>
<family>Arial Unicode MS</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>FreeMono</family>
</prefer>
</alias>
</fontconfig>

64
conf.d/90-synthetic.conf Normal file
View File

@ -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>

View File

@ -22,35 +22,48 @@
# PERFORMANCE OF THIS SOFTWARE. # PERFORMANCE OF THIS SOFTWARE.
CONF_FILES = \ CONF_FILES = \
10-urw-aliases.conf \ README \
15-amt-aliases.conf \ 10-autohint.conf \
10-no-sub-pixel.conf \
10-sub-pixel-bgr.conf \
10-sub-pixel-rgb.conf \
10-sub-pixel-vbgr.conf \
10-sub-pixel-vrgb.conf \
10-unhinted.conf \
20-fix-globaladvance.conf \ 20-fix-globaladvance.conf \
30-unhint-small-vera.conf \ 20-lohit-gujarati.conf \
20-unhint-small-vera.conf \
30-amt-aliases.conf \
30-urw-aliases.conf \
40-generic.conf \
49-sansserif.conf \
50-user.conf \ 50-user.conf \
51-local.conf \ 51-local.conf \
60-LohitGujarati.conf \ 60-latin.conf \
60-delicious.conf \ 65-fonts-persian.conf \
60-fonts-persian.conf \ 65-nonlatin.conf \
70-no-sub-pixel.conf \ 69-unifont.conf \
70-sub-pixel-bgr.conf \ 70-no-bitmaps.conf \
70-sub-pixel-rgb.conf \ 70-yes-bitmaps.conf \
70-sub-pixel-vbgr.conf \ 80-delicious.conf \
70-sub-pixel-vrgb.conf \ 90-synthetic.conf
73-autohint.conf \
73-unhinted.conf \
76-no-bitmaps.conf \
76-yes-bitmaps.conf
CONF_LINKS = \ CONF_LINKS = \
10-urw-aliases.conf \
15-amt-aliases.conf \
20-fix-globaladvance.conf \ 20-fix-globaladvance.conf \
30-unhint-small-vera.conf \ 20-lohit-gujarati.conf \
20-unhint-small-vera.conf \
30-amt-aliases.conf \
30-urw-aliases.conf \
40-generic.conf \
49-sansserif.conf \
50-user.conf \ 50-user.conf \
51-local.conf \ 51-local.conf \
60-LohitGujarati.conf \ 60-latin.conf \
60-delicious.conf \ 65-fonts-persian.conf \
60-fonts-persian.conf 65-nonlatin.conf \
69-unifont.conf \
80-delicious.conf \
90-synthetic.conf
EXTRA_DIST = $(CONF_FILES) EXTRA_DIST = $(CONF_FILES)

View File

@ -1,8 +1,48 @@
conf.d/README conf.d/README
Each file in this directory is a fontconfig configuration file. Fontconfig Each file in this directory is a fontconfig configuration file. Fontconfig
scans this directory, loading all files of the form [0-9][0-9]*, so if you scans this directory, loading all files of the form [0-9][0-9]*. These files
want to use any of these options, link them to a name of that form. E.g. are normally installed in ../conf.avail and then symlinked here, allowing
them to be easily installed and then enabled/disabled by adjusting the
symlinks.
$ ln -s no-bitmaps.conf 10no-bitmaps.conf 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)
10-autohint.conf
10-no-sub-pixel.conf
10-sub-pixel-bgr.conf
10-sub-pixel-rgb.conf
10-sub-pixel-vbgr.conf
10-sub-pixel-vrgb.conf
10-unhinted.conf
20 through 29 font rendering options
20-fix-globaladvance.conf
20-lohit-gujarati.conf
20-unhint-small-vera.conf
30 through 39 family substitution
30-urw-aliases.conf
30-amt-aliases.conf
40 through 49 generic identification, map family->generic
40-generic-id.conf
49-sansserif.conf
50 through 59 alternate config file loading
50-user.conf Load ~/.fonts.conf
51-local.conf Load local.conf
60 through 69 generic aliases
60-latin.conf
65-fonts-persian.conf
65-nonlatin.conf
69-unifont.conf
70 through 79 select font (adjust which fonts are available)
70-no-bitmaps.conf
70-yes-bitmaps.conf
80 through 89 match target="scan" (modify scanned patterns)
80-delicious.conf
90 through 98 font synthesis
90-synthetic.conf

View File

@ -68,218 +68,11 @@
</edit> </edit>
</match> </match>
<!--
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>Times New Roman</family>
<family>Thorndale AMT</family>
<family>Times</family>
<family>Nimbus Roman No9 L</family>
<family>Luxi Serif</family>
<family>Kochi Mincho</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
<family> 明朝</family>
<family>Baekmuk Batang</family>
<family>FreeSerif</family>
<family>MgOpen Canonica</family>
<default><family>serif</family></default>
</alias>
<!--
Sans-serif faces
-->
<alias>
<family>Bitstream Vera Sans</family>
<family>DejaVu Sans</family>
<family>Helvetica</family>
<family>Arial</family>
<family>Verdana</family>
<family>Albany AMT</family>
<family>Nimbus Sans L</family>
<family>Luxi Sans</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>AR PL KaitiM Big5</family>
<family> ゴシック</family>
<family>Baekmuk Dotum</family>
<family>SimSun</family>
<family>FreeSans</family>
<family>MgOpen Modata</family>
<default><family>sans-serif</family></default>
</alias>
<!--
Monospace faces
-->
<alias>
<family>Bitstream Vera Sans Mono</family>
<family>DejaVu Sans Mono</family>
<family>Courier</family>
<family>Courier New</family>
<family>Andale Mono</family>
<family>Luxi Mono</family>
<family>Cumberland AMT</family>
<family>Nimbus Mono L</family>
<family>NSimSun</family>
<family>FreeMono</family>
<default><family>monospace</family></default>
</alias>
<!--
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>
<!-- <!--
Load local system customization file Load local system customization file
--> -->
<include ignore_missing="yes">conf.d</include> <include ignore_missing="yes">conf.d</include>
<!--
Provide required aliases for standard names
-->
<alias>
<family>serif</family>
<prefer>
<family>Bitstream Vera Serif</family>
<family>DejaVu Serif</family>
<family>Times New Roman</family>
<family>Thorndale AMT</family>
<family>Luxi Serif</family>
<family>Nimbus Roman No9 L</family>
<family>Times</family>
<family>Frank Ruehl</family>
<family>MgOpen Canonica</family>
<family>Kochi Mincho</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
<family> 明朝</family>
<family>Baekmuk Batang</family>
<family>FreeSerif</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Bitstream Vera Sans</family>
<family>DejaVu Sans</family>
<family>Verdana</family>
<family>Arial</family>
<family>Albany AMT</family>
<family>Luxi Sans</family>
<family>Nimbus Sans L</family>
<family>Helvetica</family>
<family>Nachlieli</family>
<family>MgOpen Modata</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>AR PL KaitiM Big5</family>
<family> ゴシック</family>
<family>Baekmuk Dotum</family>
<family>SimSun</family>
<family>FreeSans</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Bitstream Vera Sans Mono</family>
<family>DejaVu Sans Mono</family>
<family>Andale Mono</family>
<family>Courier New</family>
<family>Cumberland AMT</family>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>
<family>Courier</family>
<family>Miriam Mono</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>Baekmuk Dotum</family>
<family>FreeMono</family>
</prefer>
</alias>
<!--
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>
<config> <config>
<!-- <!--
These are the default Unicode chars that are expected to be blank These are the default Unicode chars that are expected to be blank