Keith Packard
2006-Sep-09 21:32 UTC
[Fontconfig] fontconfig: Branch ''master'' - 4 commits
Makefile.am | 2 conf.d/20-lohit-gujarati.conf | 11 ++ conf.d/30-urw-aliases.conf | 2 conf.d/40-generic.conf | 66 +++++++++++++ conf.d/49-sansserif.conf | 21 ++++ conf.d/60-LohitGujarati.conf | 5 - conf.d/60-latin.conf | 42 ++++++++ conf.d/65-nonlatin.conf | 38 +++++++ conf.d/69-unifont.conf | 24 ++++ conf.d/90-synthetic.conf | 64 ++++++++++++ conf.d/Makefile.am | 55 ++++++----- conf.d/README | 46 ++++++++- fonts.conf.in | 207 ------------------------------------------ fonts.dtd | 7 - src/fcxml.c | 10 +- 15 files changed, 358 insertions(+), 242 deletions(-) New commits: diff-tree 6c5619a08575943f75d2341e1a4931ec5faf716b (from 9596dce93b751c01770da175d208d78aeaf6ae00) Author: Keith Packard <keithp@neko.keithp.com> Date: Sat Sep 9 21:32:14 2006 -0700 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. diff --git a/conf.d/10-autohint.conf b/conf.d/10-autohint.conf new file mode 100644 index 0000000..5406f4e --- /dev/null +++ b/conf.d/10-autohint.conf @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- debian/autohint.conf --> +<fontconfig> +<!-- Use the Autohinter --> + <match target="font"> + <edit name="autohint" mode="assign"><bool>true</bool></edit> + </match> +</fontconfig> diff --git a/conf.d/10-no-sub-pixel.conf b/conf.d/10-no-sub-pixel.conf new file mode 100644 index 0000000..5d64a0b --- /dev/null +++ b/conf.d/10-no-sub-pixel.conf @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- conf.d/sub-pixel.conf --> +<fontconfig> +<!-- Enable sub-pixel rendering --> + <match target="font"> + <edit name="rgba" mode="assign"><const>none</const></edit> + </match> +</fontconfig> diff --git a/conf.d/10-sub-pixel-bgr.conf b/conf.d/10-sub-pixel-bgr.conf new file mode 100644 index 0000000..2aba95e --- /dev/null +++ b/conf.d/10-sub-pixel-bgr.conf @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- conf.d/sub-pixel.conf --> +<fontconfig> +<!-- Enable sub-pixel rendering --> + <match target="font"> + <edit name="rgba" mode="assign"><const>bgr</const></edit> + </match> +</fontconfig> diff --git a/conf.d/10-sub-pixel-rgb.conf b/conf.d/10-sub-pixel-rgb.conf new file mode 100644 index 0000000..c4e8a42 --- /dev/null +++ b/conf.d/10-sub-pixel-rgb.conf @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- conf.d/sub-pixel.conf --> +<fontconfig> +<!-- Enable sub-pixel rendering --> + <match target="font"> + <edit name="rgba" mode="assign"><const>rgb</const></edit> + </match> +</fontconfig> diff --git a/conf.d/10-sub-pixel-vbgr.conf b/conf.d/10-sub-pixel-vbgr.conf new file mode 100644 index 0000000..0cdad2a --- /dev/null +++ b/conf.d/10-sub-pixel-vbgr.conf @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- conf.d/sub-pixel.conf --> +<fontconfig> +<!-- Enable sub-pixel rendering --> + <match target="font"> + <edit name="rgba" mode="assign"><const>vbgr</const></edit> + </match> +</fontconfig> diff --git a/conf.d/10-sub-pixel-vrgb.conf b/conf.d/10-sub-pixel-vrgb.conf new file mode 100644 index 0000000..60239e0 --- /dev/null +++ b/conf.d/10-sub-pixel-vrgb.conf @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- conf.d/sub-pixel.conf --> +<fontconfig> +<!-- Enable sub-pixel rendering --> + <match target="font"> + <edit name="rgba" mode="assign"><const>vrgb</const></edit> + </match> +</fontconfig> diff --git a/conf.d/10-unhinted.conf b/conf.d/10-unhinted.conf new file mode 100644 index 0000000..fb0b375 --- /dev/null +++ b/conf.d/10-unhinted.conf @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- debian/unhinted.conf --> +<fontconfig> +<!-- Disable hinting --> + <match target="font"> + <edit name="hinting" mode="assign"><bool>false</bool></edit> + </match> +</fontconfig> diff --git a/conf.d/10-urw-aliases.conf b/conf.d/10-urw-aliases.conf deleted file mode 100644 index 10e6ce9..0000000 --- a/conf.d/10-urw-aliases.conf +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<!-- conf.d/sub-pixel.conf --> -<fontconfig> -<!-- - URW provides metric and shape compatible fonts for these 10 Adobe families. - --> - <alias> - <family>Avant Garde</family> - <accept><family>URW Gothic L</family></accept> - </alias> - <alias> - <family>Bookman</family> - <accept><family>URW Bookman L</family></accept> - </alias> - <alias> - <family>Courier</family> - <accept><family>Nimbus Mono L</family></accept> - </alias> - <alias> - <family>Helvetica</family> - <accept><family>Nimbus Sans L</family></accept> - </alias> - <alias> - <family>New Century Schoolbook</family> - <accept><family>Century Schoolbook L</family></accept> - </alias> - <alias> - <family>Palatino</family> - <accept><family>URW Palladio L</family></accept> - </alias> - <alias> - <family>Times</family> - <accept><family>Nimbus Roman No9 L</family></accept> - </alias> - <alias> - <family>Zapf Chancery</family> - <accept><family>URW Chancery L</family></accept> - </alias> - <alias> - <family>Zapf Dingbats</family> - <accept><family>Dingbats</family></accept> - </alias> - <match target="pattern"> - <test name="family"> - <string>Symbol</string> - </test> - <edit name="family" mode="append" binding="strong"> - <string>Standard Symbols L</string> - </edit> - </match> -</fontconfig> diff --git a/conf.d/15-amt-aliases.conf b/conf.d/15-amt-aliases.conf deleted file mode 100644 index d6df67e..0000000 --- a/conf.d/15-amt-aliases.conf +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<!-- conf.d/sub-pixel.conf --> -<fontconfig> -<!-- - AMT provides metric and shape compatible fonts for these three web font - families. - --> - <alias> - <family>Times New Roman</family> - <accept><family>Thorndale AMT</family></accept> - </alias> - <alias> - <family>Arial</family> - <accept><family>Albany AMT</family></accept> - </alias> - <alias> - <family>Courier New</family> - <accept><family>Cumberland AMT</family></accept> - </alias> -</fontconfig> diff --git a/conf.d/20-lohit-gujarati.conf b/conf.d/20-lohit-gujarati.conf new file mode 100644 index 0000000..1c29d0d --- /dev/null +++ b/conf.d/20-lohit-gujarati.conf @@ -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> diff --git a/conf.d/20-unhint-small-vera.conf b/conf.d/20-unhint-small-vera.conf new file mode 100644 index 0000000..3078119 --- /dev/null +++ b/conf.d/20-unhint-small-vera.conf @@ -0,0 +1,49 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- conf.d/sub-pixel.conf --> +<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/conf.d/30-amt-aliases.conf b/conf.d/30-amt-aliases.conf new file mode 100644 index 0000000..d6df67e --- /dev/null +++ b/conf.d/30-amt-aliases.conf @@ -0,0 +1,21 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- conf.d/sub-pixel.conf --> +<fontconfig> +<!-- + AMT provides metric and shape compatible fonts for these three web font + families. + --> + <alias> + <family>Times New Roman</family> + <accept><family>Thorndale AMT</family></accept> + </alias> + <alias> + <family>Arial</family> + <accept><family>Albany AMT</family></accept> + </alias> + <alias> + <family>Courier New</family> + <accept><family>Cumberland AMT</family></accept> + </alias> +</fontconfig> diff --git a/conf.d/30-unhint-small-vera.conf b/conf.d/30-unhint-small-vera.conf deleted file mode 100644 index 3078119..0000000 --- a/conf.d/30-unhint-small-vera.conf +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<!-- conf.d/sub-pixel.conf --> -<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/conf.d/30-urw-aliases.conf b/conf.d/30-urw-aliases.conf new file mode 100644 index 0000000..cf90dd5 --- /dev/null +++ b/conf.d/30-urw-aliases.conf @@ -0,0 +1,52 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- conf.d/sub-pixel.conf --> +<fontconfig> +<!-- + URW provides metric and shape compatible fonts for these 10 Adobe families. + --> + <alias> + <family>Avant Garde</family> + <accept><family>URW Gothic L</family></accept> + </alias> + <alias> + <family>Bookman</family> + <accept><family>URW Bookman L</family></accept> + </alias> + <alias> + <family>Courier</family> + <accept><family>Nimbus Mono L</family></accept> + </alias> + <alias> + <family>Helvetica</family> + <accept><family>Nimbus Sans L</family></accept> + </alias> + <alias> + <family>New Century Schoolbook</family> + <accept><family>Century Schoolbook L</family></accept> + </alias> + <alias> + <family>Palatino</family> + <accept><family>URW Palladio L</family></accept> + </alias> + <alias> + <family>Times</family> + <accept><family>Nimbus Roman No9 L</family></accept> + </alias> + <alias> + <family>Zapf Chancery</family> + <accept><family>URW Chancery L</family></accept> + </alias> + <alias> + <family>Zapf Dingbats</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/conf.d/40-generic.conf b/conf.d/40-generic.conf new file mode 100644 index 0000000..84e85e4 --- /dev/null +++ b/conf.d/40-generic.conf @@ -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>MS 明朝</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>MS ゴシック</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> diff --git a/conf.d/49-sansserif.conf b/conf.d/49-sansserif.conf new file mode 100644 index 0000000..c6209a7 --- /dev/null +++ b/conf.d/49-sansserif.conf @@ -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/conf.d/60-LohitGujarati.conf b/conf.d/60-LohitGujarati.conf deleted file mode 100644 index eb51f86..0000000 --- a/conf.d/60-LohitGujarati.conf +++ /dev/null @@ -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> \ No newline at end of file diff --git a/conf.d/60-delicious.conf b/conf.d/60-delicious.conf deleted file mode 100644 index 701429b..0000000 --- a/conf.d/60-delicious.conf +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<!-- /etc/fonts/conf.d/60-delicious.conf --> -<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/conf.d/60-fonts-persian.conf b/conf.d/60-fonts-persian.conf deleted file mode 100644 index e30c4d9..0000000 --- a/conf.d/60-fonts-persian.conf +++ /dev/null @@ -1,539 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<!-- /etc/fonts/conf.d/10-fonts-persian.conf --> -<!-- - 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 KEITH PACKARD 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. - - Todo: - Add generic font "fantasy". Add some fonts into that category. - Maybe add a "cursive" generic font. - --> -<fontconfig> - - -<!-- - We don''t want weak bindings. So got to use the syntactical expansion - of alias tag to do binding=same :(. Please support that in alias. - --> - - -<!-- Deprecated fonts are discouraged --> - - <!-- Nesf[2] is officially deprecated and has problematic tables --> - <match> - <test name="family"> - <string>Nesf</string> - </test> - <edit name="family" mode="assign" binding="same"> - <string>Nesf2</string> - </edit> - </match> - <match> - <test name="family"> - <string>Nesf2</string> - </test> - <edit name="family" mode="assign" binding="same"> - <string>Persian_sansserif_default</string> - </edit> - </match> - - <!-- Tahoma looks awful (TURNED-OFF) --> - <!--match> - <test name="family"> - <string>Tahoma</string> - </test> - <edit name="family" mode="prepend" binding="same"> - <string>Persian_sansserif_default</string> - </edit> - </match--> - -<!-- Name changes and spelling variant aliases --> - - <!-- Changed due to trademark problems --> - <match> - <test name="family"> - <string>Nazanin</string> - </test> - <edit name="family" mode="assign" binding="same"> - <string>Nazli</string> - </edit> - </match> - <match> - <test name="family"> - <string>Lotus</string> - </test> - <edit name="family" mode="assign" binding="same"> - <string>Lotoos</string> - </edit> - </match> - - <!-- Changed due to transcription orthography --> - <match> - <test name="family"> - <string>Yaqut</string> - </test> - <edit name="family" mode="assign" binding="same"> - <string>Yaghoot</string> - </edit> - </match> - <match> - <test name="family"> - <string>Yagut</string> - </test> - <edit name="family" mode="assign" binding="same"> - <string>Yaghoot</string> - </edit> - </match> - <match> - <test name="family"> - <string>Yaghut</string> - </test> - <edit name="family" mode="assign" binding="same"> - <string>Yaghoot</string> - </edit> - </match> - <match> - <test name="family"> - <string>Traffic</string> - </test> - <edit name="family" mode="assign" binding="same"> - <string>Terafik</string> - </edit> - </match> - <match> - <test name="family"> - <string>Ferdowsi</string> - </test> - <edit name="family" mode="assign" binding="same"> - <string>Ferdosi</string> - </edit> - </match> - <match> - <test name="family"> - <string>Fantezy</string> - </test> - <edit name="family" mode="assign" binding="same"> - <string>Fantezi</string> - </edit> - </match> - - -<!-- Classify fonts. --> - - <!-- Persian_title class --> - <match> - <test name="family"> - <string>Jadid</string> - </test> - <edit name="family" mode="append" binding="same"> - <string>Persian_title</string> - </edit> - </match> - <match> - <test name="family"> - <string>Titr</string> - </test> - <edit name="family" mode="append" binding="same"> - <string>Persian_title</string> - </edit> - </match> - - <!-- Persian_fantasy class --> - <match> - <test name="family"> - <string>Kamran</string> - </test> - <edit name="family" mode="append" binding="same"> - <string>Homa</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Persian_fantasy</string> - </edit> - </match> - <match> - <test name="family"> - <string>Homa</string> - </test> - <edit name="family" mode="append" binding="same"> - <string>Kamran</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Persian_fantasy</string> - </edit> - </match> - <match> - <test name="family"> - <string>Fantezi</string> - </test> - <edit name="family" mode="append" binding="same"> - <string>Persian_fantasy</string> - </edit> - </match> - <match> - <test name="family"> - <string>Tabassom</string> - </test> - <edit name="family" mode="append" binding="same"> - <string>Persian_fantasy</string> - </edit> - </match> - - <!-- Persian_square class --> - <match> - <test name="family"> - <string>Arshia</string> - </test> - <edit name="family" mode="append" binding="same"> - <string>Persian_square</string> - </edit> - </match> - <match> - <test name="family"> - <string>Nasim</string> - </test> - <edit name="family" mode="append" binding="same"> - <string>Persian_square</string> - </edit> - </match> - <match> - <test name="family"> - <string>Elham</string> - </test> - <edit name="family" mode="append" binding="same"> - <string>Farnaz</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Persian_square</string> - </edit> - </match> - <match> - <test name="family"> - <string>Farnaz</string> - </test> - <edit name="family" mode="append" binding="same"> - <string>Elham</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Persian_square</string> - </edit> - </match> - <match> - <test name="family"> - <string>Sina</string> - </test> - <edit name="family" mode="append" binding="same"> - <string>Persian_square</string> - </edit> - </match> - -<!-- Font ordering per class --> - - <!-- Persian_title class --> - <match> - <test name="family"> - <string>Persian_title</string> - </test> - <edit name="family" mode="append" binding="same"> - <string>Persian_serif</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Jadid</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Titr</string> - </edit> - </match> - - <!-- Persian_fantasy class --> - <match> - <test name="family"> - <string>Persian_fantasy</string> - </test> - <edit name="family" mode="append" binding="same"> - <string>Persian_square</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Tabassom</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Fantezi</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Kamran</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Homa</string> - </edit> - </match> - - <!-- Persian_square class --> - <match> - <test name="family"> - <string>Persian_square</string> - </test> - <edit name="family" mode="append" binding="same"> - <string>Persian_serif</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Sina</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Nasim</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Farnaz</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Elham</string> - </edit> - <edit name="family" mode="append" binding="same"> - <string>Arshia</string> - </edit> - </match> - -<!-- Register the fonts that we actually do have --> - - <match target="font"> - <test name="family"> - <string>Elham</string> - </test> - <edit name="foundry"> - <string>farsiweb</string> - </edit> - </match> - - <match target="font"> - <test name="family"> - <string>Homa</string> - </test> - <edit name="foundry"> - <string>farsiweb</string> - </edit> - </match> - - <match target="font"> - <test name="family"> - <string>Koodak</string> - </test> - <edit name="foundry"> - <string>farsiweb</string> - </edit> - </match> - - <match target="font"> - <test name="family"> - <string>Nazli</string> - </test> - <edit name="foundry"> - <string>farsiweb</string> - </edit> - </match> - - <match target="font"> - <test name="family"> - <string>Roya</string> - </test> - <edit name="foundry"> - <string>farsiweb</string> - </edit> - </match> - - <match target="font"> - <test name="family"> - <string>Terafik</string> - </test> - <edit name="foundry"> - <string>farsiweb</string> - </edit> - </match> - - <match target="font"> - <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> - - -<!-- 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/conf.d/60-latin.conf b/conf.d/60-latin.conf new file mode 100644 index 0000000..06cdd7e --- /dev/null +++ b/conf.d/60-latin.conf @@ -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> diff --git a/conf.d/65-fonts-persian.conf b/conf.d/65-fonts-persian.conf new file mode 100644 index 0000000..e30c4d9 --- /dev/null +++ b/conf.d/65-fonts-persian.conf @@ -0,0 +1,539 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- /etc/fonts/conf.d/10-fonts-persian.conf --> +<!-- + 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 KEITH PACKARD 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. + + Todo: + Add generic font "fantasy". Add some fonts into that category. + Maybe add a "cursive" generic font. + --> +<fontconfig> + + +<!-- + We don''t want weak bindings. So got to use the syntactical expansion + of alias tag to do binding=same :(. Please support that in alias. + --> + + +<!-- Deprecated fonts are discouraged --> + + <!-- Nesf[2] is officially deprecated and has problematic tables --> + <match> + <test name="family"> + <string>Nesf</string> + </test> + <edit name="family" mode="assign" binding="same"> + <string>Nesf2</string> + </edit> + </match> + <match> + <test name="family"> + <string>Nesf2</string> + </test> + <edit name="family" mode="assign" binding="same"> + <string>Persian_sansserif_default</string> + </edit> + </match> + + <!-- Tahoma looks awful (TURNED-OFF) --> + <!--match> + <test name="family"> + <string>Tahoma</string> + </test> + <edit name="family" mode="prepend" binding="same"> + <string>Persian_sansserif_default</string> + </edit> + </match--> + +<!-- Name changes and spelling variant aliases --> + + <!-- Changed due to trademark problems --> + <match> + <test name="family"> + <string>Nazanin</string> + </test> + <edit name="family" mode="assign" binding="same"> + <string>Nazli</string> + </edit> + </match> + <match> + <test name="family"> + <string>Lotus</string> + </test> + <edit name="family" mode="assign" binding="same"> + <string>Lotoos</string> + </edit> + </match> + + <!-- Changed due to transcription orthography --> + <match> + <test name="family"> + <string>Yaqut</string> + </test> + <edit name="family" mode="assign" binding="same"> + <string>Yaghoot</string> + </edit> + </match> + <match> + <test name="family"> + <string>Yagut</string> + </test> + <edit name="family" mode="assign" binding="same"> + <string>Yaghoot</string> + </edit> + </match> + <match> + <test name="family"> + <string>Yaghut</string> + </test> + <edit name="family" mode="assign" binding="same"> + <string>Yaghoot</string> + </edit> + </match> + <match> + <test name="family"> + <string>Traffic</string> + </test> + <edit name="family" mode="assign" binding="same"> + <string>Terafik</string> + </edit> + </match> + <match> + <test name="family"> + <string>Ferdowsi</string> + </test> + <edit name="family" mode="assign" binding="same"> + <string>Ferdosi</string> + </edit> + </match> + <match> + <test name="family"> + <string>Fantezy</string> + </test> + <edit name="family" mode="assign" binding="same"> + <string>Fantezi</string> + </edit> + </match> + + +<!-- Classify fonts. --> + + <!-- Persian_title class --> + <match> + <test name="family"> + <string>Jadid</string> + </test> + <edit name="family" mode="append" binding="same"> + <string>Persian_title</string> + </edit> + </match> + <match> + <test name="family"> + <string>Titr</string> + </test> + <edit name="family" mode="append" binding="same"> + <string>Persian_title</string> + </edit> + </match> + + <!-- Persian_fantasy class --> + <match> + <test name="family"> + <string>Kamran</string> + </test> + <edit name="family" mode="append" binding="same"> + <string>Homa</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Persian_fantasy</string> + </edit> + </match> + <match> + <test name="family"> + <string>Homa</string> + </test> + <edit name="family" mode="append" binding="same"> + <string>Kamran</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Persian_fantasy</string> + </edit> + </match> + <match> + <test name="family"> + <string>Fantezi</string> + </test> + <edit name="family" mode="append" binding="same"> + <string>Persian_fantasy</string> + </edit> + </match> + <match> + <test name="family"> + <string>Tabassom</string> + </test> + <edit name="family" mode="append" binding="same"> + <string>Persian_fantasy</string> + </edit> + </match> + + <!-- Persian_square class --> + <match> + <test name="family"> + <string>Arshia</string> + </test> + <edit name="family" mode="append" binding="same"> + <string>Persian_square</string> + </edit> + </match> + <match> + <test name="family"> + <string>Nasim</string> + </test> + <edit name="family" mode="append" binding="same"> + <string>Persian_square</string> + </edit> + </match> + <match> + <test name="family"> + <string>Elham</string> + </test> + <edit name="family" mode="append" binding="same"> + <string>Farnaz</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Persian_square</string> + </edit> + </match> + <match> + <test name="family"> + <string>Farnaz</string> + </test> + <edit name="family" mode="append" binding="same"> + <string>Elham</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Persian_square</string> + </edit> + </match> + <match> + <test name="family"> + <string>Sina</string> + </test> + <edit name="family" mode="append" binding="same"> + <string>Persian_square</string> + </edit> + </match> + +<!-- Font ordering per class --> + + <!-- Persian_title class --> + <match> + <test name="family"> + <string>Persian_title</string> + </test> + <edit name="family" mode="append" binding="same"> + <string>Persian_serif</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Jadid</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Titr</string> + </edit> + </match> + + <!-- Persian_fantasy class --> + <match> + <test name="family"> + <string>Persian_fantasy</string> + </test> + <edit name="family" mode="append" binding="same"> + <string>Persian_square</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Tabassom</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Fantezi</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Kamran</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Homa</string> + </edit> + </match> + + <!-- Persian_square class --> + <match> + <test name="family"> + <string>Persian_square</string> + </test> + <edit name="family" mode="append" binding="same"> + <string>Persian_serif</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Sina</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Nasim</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Farnaz</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Elham</string> + </edit> + <edit name="family" mode="append" binding="same"> + <string>Arshia</string> + </edit> + </match> + +<!-- Register the fonts that we actually do have --> + + <match target="font"> + <test name="family"> + <string>Elham</string> + </test> + <edit name="foundry"> + <string>farsiweb</string> + </edit> + </match> + + <match target="font"> + <test name="family"> + <string>Homa</string> + </test> + <edit name="foundry"> + <string>farsiweb</string> + </edit> + </match> + + <match target="font"> + <test name="family"> + <string>Koodak</string> + </test> + <edit name="foundry"> + <string>farsiweb</string> + </edit> + </match> + + <match target="font"> + <test name="family"> + <string>Nazli</string> + </test> + <edit name="foundry"> + <string>farsiweb</string> + </edit> + </match> + + <match target="font"> + <test name="family"> + <string>Roya</string> + </test> + <edit name="foundry"> + <string>farsiweb</string> + </edit> + </match> + + <match target="font"> + <test name="family"> + <string>Terafik</string> + </test> + <edit name="foundry"> + <string>farsiweb</string> + </edit> + </match> + + <match target="font"> + <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> + + +<!-- 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/conf.d/65-nonlatin.conf b/conf.d/65-nonlatin.conf new file mode 100644 index 0000000..f8dbb64 --- /dev/null +++ b/conf.d/65-nonlatin.conf @@ -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>MS 明朝</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>MS ゴシック</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> diff --git a/conf.d/69-unifont.conf b/conf.d/69-unifont.conf new file mode 100644 index 0000000..a784af9 --- /dev/null +++ b/conf.d/69-unifont.conf @@ -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> diff --git a/conf.d/70-no-bitmaps.conf b/conf.d/70-no-bitmaps.conf new file mode 100644 index 0000000..e8fb6a9 --- /dev/null +++ b/conf.d/70-no-bitmaps.conf @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- /etc/fonts/conf.d/no-bitmaps.conf --> +<fontconfig> +<!-- Reject bitmap fonts --> + <selectfont> + <rejectfont> + <pattern> + <patelt name="scalable"><bool>false</bool></patelt> + </pattern> + </rejectfont> + </selectfont> +</fontconfig> diff --git a/conf.d/70-no-sub-pixel.conf b/conf.d/70-no-sub-pixel.conf deleted file mode 100644 index 5d64a0b..0000000 --- a/conf.d/70-no-sub-pixel.conf +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<!-- conf.d/sub-pixel.conf --> -<fontconfig> -<!-- Enable sub-pixel rendering --> - <match target="font"> - <edit name="rgba" mode="assign"><const>none</const></edit> - </match> -</fontconfig> diff --git a/conf.d/70-sub-pixel-bgr.conf b/conf.d/70-sub-pixel-bgr.conf deleted file mode 100644 index 2aba95e..0000000 --- a/conf.d/70-sub-pixel-bgr.conf +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<!-- conf.d/sub-pixel.conf --> -<fontconfig> -<!-- Enable sub-pixel rendering --> - <match target="font"> - <edit name="rgba" mode="assign"><const>bgr</const></edit> - </match> -</fontconfig> diff --git a/conf.d/70-sub-pixel-rgb.conf b/conf.d/70-sub-pixel-rgb.conf deleted file mode 100644 index c4e8a42..0000000 --- a/conf.d/70-sub-pixel-rgb.conf +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<!-- conf.d/sub-pixel.conf --> -<fontconfig> -<!-- Enable sub-pixel rendering --> - <match target="font"> - <edit name="rgba" mode="assign"><const>rgb</const></edit> - </match> -</fontconfig> diff --git a/conf.d/70-sub-pixel-vbgr.conf b/conf.d/70-sub-pixel-vbgr.conf deleted file mode 100644 index 0cdad2a..0000000 --- a/conf.d/70-sub-pixel-vbgr.conf +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<!-- conf.d/sub-pixel.conf --> -<fontconfig> -<!-- Enable sub-pixel rendering --> - <match target="font"> - <edit name="rgba" mode="assign"><const>vbgr</const></edit> - </match> -</fontconfig> diff --git a/conf.d/70-sub-pixel-vrgb.conf b/conf.d/70-sub-pixel-vrgb.conf deleted file mode 100644 index 60239e0..0000000 --- a/conf.d/70-sub-pixel-vrgb.conf +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<!-- conf.d/sub-pixel.conf --> -<fontconfig> -<!-- Enable sub-pixel rendering --> - <match target="font"> - <edit name="rgba" mode="assign"><const>vrgb</const></edit> - </match> -</fontconfig> diff --git a/conf.d/70-yes-bitmaps.conf b/conf.d/70-yes-bitmaps.conf new file mode 100644 index 0000000..c539c70 --- /dev/null +++ b/conf.d/70-yes-bitmaps.conf @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- conf.d/yes-bitmaps.conf --> +<fontconfig> +<!-- Accept bitmap fonts --> + <selectfont> + <acceptfont> + <pattern> + <patelt name="scalable"><bool>false</bool></patelt> + </pattern> + </acceptfont> + </selectfont> +</fontconfig> diff --git a/conf.d/73-autohint.conf b/conf.d/73-autohint.conf deleted file mode 100644 index 5406f4e..0000000 --- a/conf.d/73-autohint.conf +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<!-- debian/autohint.conf --> -<fontconfig> -<!-- Use the Autohinter --> - <match target="font"> - <edit name="autohint" mode="assign"><bool>true</bool></edit> - </match> -</fontconfig> diff --git a/conf.d/73-unhinted.conf b/conf.d/73-unhinted.conf deleted file mode 100644 index fb0b375..0000000 --- a/conf.d/73-unhinted.conf +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<!-- debian/unhinted.conf --> -<fontconfig> -<!-- Disable hinting --> - <match target="font"> - <edit name="hinting" mode="assign"><bool>false</bool></edit> - </match> -</fontconfig> diff --git a/conf.d/76-no-bitmaps.conf b/conf.d/76-no-bitmaps.conf deleted file mode 100644 index e8fb6a9..0000000 --- a/conf.d/76-no-bitmaps.conf +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<!-- /etc/fonts/conf.d/no-bitmaps.conf --> -<fontconfig> -<!-- Reject bitmap fonts --> - <selectfont> - <rejectfont> - <pattern> - <patelt name="scalable"><bool>false</bool></patelt> - </pattern> - </rejectfont> - </selectfont> -</fontconfig> diff --git a/conf.d/76-yes-bitmaps.conf b/conf.d/76-yes-bitmaps.conf deleted file mode 100644 index c539c70..0000000 --- a/conf.d/76-yes-bitmaps.conf +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<!-- conf.d/yes-bitmaps.conf --> -<fontconfig> -<!-- Accept bitmap fonts --> - <selectfont> - <acceptfont> - <pattern> - <patelt name="scalable"><bool>false</bool></patelt> - </pattern> - </acceptfont> - </selectfont> -</fontconfig> diff --git a/conf.d/80-delicious.conf b/conf.d/80-delicious.conf new file mode 100644 index 0000000..701429b --- /dev/null +++ b/conf.d/80-delicious.conf @@ -0,0 +1,20 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- /etc/fonts/conf.d/60-delicious.conf --> +<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/conf.d/90-synthetic.conf b/conf.d/90-synthetic.conf new file mode 100644 index 0000000..63d9b89 --- /dev/null +++ b/conf.d/90-synthetic.conf @@ -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/conf.d/Makefile.am b/conf.d/Makefile.am index 6c9f4e1..cdb3519 100644 --- a/conf.d/Makefile.am +++ b/conf.d/Makefile.am @@ -22,35 +22,48 @@ # PERFORMANCE OF THIS SOFTWARE. CONF_FILES = \ - 10-urw-aliases.conf \ - 15-amt-aliases.conf \ + README \ + 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 \ - 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 \ 51-local.conf \ - 60-LohitGujarati.conf \ - 60-delicious.conf \ - 60-fonts-persian.conf \ - 70-no-sub-pixel.conf \ - 70-sub-pixel-bgr.conf \ - 70-sub-pixel-rgb.conf \ - 70-sub-pixel-vbgr.conf \ - 70-sub-pixel-vrgb.conf \ - 73-autohint.conf \ - 73-unhinted.conf \ - 76-no-bitmaps.conf \ - 76-yes-bitmaps.conf + 60-latin.conf \ + 65-fonts-persian.conf \ + 65-nonlatin.conf \ + 69-unifont.conf \ + 70-no-bitmaps.conf \ + 70-yes-bitmaps.conf \ + 80-delicious.conf \ + 90-synthetic.conf CONF_LINKS = \ - 10-urw-aliases.conf \ - 15-amt-aliases.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 \ 51-local.conf \ - 60-LohitGujarati.conf \ - 60-delicious.conf \ - 60-fonts-persian.conf + 60-latin.conf \ + 65-fonts-persian.conf \ + 65-nonlatin.conf \ + 69-unifont.conf \ + 80-delicious.conf \ + 90-synthetic.conf EXTRA_DIST = $(CONF_FILES) diff --git a/conf.d/README b/conf.d/README index 7e6cd2c..dbcfe21 100644 --- a/conf.d/README +++ b/conf.d/README @@ -1,8 +1,48 @@ 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]*, so if you -want to use any of these options, link them to a name of that form. E.g. +scans this directory, loading all files of the form [0-9][0-9]*. 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. - $ 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 + diff --git a/fonts.conf.in b/fonts.conf.in index d70800e..99f2ee5 100644 --- a/fonts.conf.in +++ b/fonts.conf.in @@ -69,217 +69,10 @@ </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>MS 明朝</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>MS ゴシック</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 --> <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>MS 明朝</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>MS ゴシック</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> <!-- These are the default Unicode chars that are expected to be blank diff-tree 9596dce93b751c01770da175d208d78aeaf6ae00 (from d08feb851a585b6cfe3ef1f390d60dd8886249b2) Author: Keith Packard <keithp@neko.keithp.com> Date: Sat Sep 9 21:30:06 2006 -0700 Don''t display tests for DESTDIR on make install. Make install output quieter by eliding the shell commands used to test for DESTDIR being set during make install. diff --git a/Makefile.am b/Makefile.am index cf90617..88e55af 100644 --- a/Makefile.am +++ b/Makefile.am @@ -97,7 +97,7 @@ install-data-local: echo " $(INSTALL_DATA) fonts.conf $(DESTDIR)$(configdir)/fonts.conf"; \ $(INSTALL_DATA) fonts.conf $(DESTDIR)$(configdir)/fonts.conf; \ fi; fi - (if $(RUN_FC_CACHE_TEST); then \ + @(if $(RUN_FC_CACHE_TEST); then \ echo " fc-cache/fc-cache -s -f -v"; \ fc-cache/fc-cache -s -f -v; \ else \ diff-tree d08feb851a585b6cfe3ef1f390d60dd8886249b2 (from 9419bb34f6eac685fcf957faf6a38a5cdfa811d9) Author: Keith Packard <keithp@neko.keithp.com> Date: Sat Sep 9 21:29:08 2006 -0700 Include cachedir in fonts.dtd. Fonts.dtd <fontconfig> element was missing the new cachedir element. diff --git a/fonts.dtd b/fonts.dtd index 06f1a12..a5c54f9 100644 --- a/fonts.dtd +++ b/fonts.dtd @@ -1,6 +1,7 @@ <!-- This is the Document Type Definition for font configuration files --> <!ELEMENT fontconfig (dir | cache | + cachedir | include | config | selectfont | @@ -106,12 +107,12 @@ <!ELEMENT pattern (patelt)*> -<!ELEMENT patelt (constant)*> +<!ENTITY % constant ''int|double|string|matrix|bool|charset|const''> + +<!ELEMENT patelt (%constant;)*> <!ATTLIST patelt name CDATA #REQUIRED> -<!ELEMENT constant (int|double|string|matrix|bool|charset|const)> - <!ELEMENT alias (family*, prefer?, accept?, default?)> <!ELEMENT prefer (family)*> <!ELEMENT accept (family)*> diff-tree 9419bb34f6eac685fcf957faf6a38a5cdfa811d9 (from 248b5903b7057b3c44ea1cd3a9b0d27624eba24a) Author: Keith Packard <keithp@neko.keithp.com> Date: Sat Sep 9 21:21:01 2006 -0700 Fix conf.d directory sorting. Sort was using broken comparison function. diff --git a/src/fcxml.c b/src/fcxml.c index 4087183..a9453eb 100644 --- a/src/fcxml.c +++ b/src/fcxml.c @@ -2281,6 +2281,14 @@ FcEndDoctypeDecl (void *userData) #endif /* ENABLE_LIBXML2 */ +static int +FcSortCmpStr (const void *a, const void *b) +{ + const FcChar8 *as = *((FcChar8 **) a); + const FcChar8 *bs = *((FcChar8 **) b); + return FcStrCmp (as, bs); +} + static FcBool FcConfigParseAndLoadDir (FcConfig *config, const FcChar8 *name, @@ -2350,7 +2358,7 @@ FcConfigParseAndLoadDir (FcConfig *confi { int i; qsort (files->strs, files->num, sizeof (FcChar8 *), - (int (*)(const void *, const void *)) FcStrCmp); + (int (*)(const void *, const void *)) FcSortCmpStr); for (i = 0; ret && i < files->num; i++) ret = FcConfigParseAndLoad (config, files->strs[i], complain); }