diff options
Diffstat (limited to 'extra/fontconfig')
-rw-r--r-- | extra/fontconfig/29-replace-bitmap-fonts.conf | 37 | ||||
-rw-r--r-- | extra/fontconfig/30-urw-aliases.patch | 13 | ||||
-rw-r--r-- | extra/fontconfig/PKGBUILD | 35 | ||||
-rw-r--r-- | extra/fontconfig/fontconfig.install | 100 |
4 files changed, 185 insertions, 0 deletions
diff --git a/extra/fontconfig/29-replace-bitmap-fonts.conf b/extra/fontconfig/29-replace-bitmap-fonts.conf new file mode 100644 index 000000000..7ac4483c4 --- /dev/null +++ b/extra/fontconfig/29-replace-bitmap-fonts.conf @@ -0,0 +1,37 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<fontconfig> + <!-- Replace generic bitmap font names by generic font families. + These font-families will get replaced by other rules and + default to scaled ones. --> + <match target="pattern" name="family"> + <test name="family" qual="any"> + <string>Helvetica</string> + </test> + <edit mode="assign" name="family"> + <string>Arial</string> + <string>Liberation Sans</string> + <string>sans-serif</string> + </edit> + </match> + <match target="pattern" name="family"> + <test name="family" qual="any"> + <string>Courier</string> + </test> + <edit mode="assign" name="family"> + <string>Courier New</string> + <string>Liberation Mono</string> + <string>monospace</string> + </edit> + </match> + <match target="pattern" name="family"> + <test name="family" qual="any"> + <string>Times</string> + </test> + <edit mode="assign" name="family"> + <string>Times New Roman</string> + <string>Liberation Serif</string> + <string>serif</string> + </edit> + </match> +</fontconfig> diff --git a/extra/fontconfig/30-urw-aliases.patch b/extra/fontconfig/30-urw-aliases.patch new file mode 100644 index 000000000..8077b869e --- /dev/null +++ b/extra/fontconfig/30-urw-aliases.patch @@ -0,0 +1,13 @@ +--- a/conf.d/30-urw-aliases.conf 2009-08-06 16:23:57.000000000 +0100 ++++ b/conf.d/30-urw-aliases.conf 2009-08-06 16:25:07.000000000 +0100 +@@ -29,6 +29,10 @@ + <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> diff --git a/extra/fontconfig/PKGBUILD b/extra/fontconfig/PKGBUILD new file mode 100644 index 000000000..701f308a0 --- /dev/null +++ b/extra/fontconfig/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 59982 2009-11-29 20:19:34Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +pkgname=fontconfig +pkgver=2.8.0 +pkgrel=1 +pkgdesc="A library for configuring and customizing font access" +arch=(i686 x86_64) +url="http://www.fontconfig.org/release/" +license=('custom') +depends=('expat>=2.0.1' 'freetype2>=2.3.11') +options=('!libtool') +install=fontconfig.install +source=(http://www.fontconfig.org/release/${pkgname}-${pkgver}.tar.gz + 29-replace-bitmap-fonts.conf + 30-urw-aliases.patch) +md5sums=('77e15a92006ddc2adbb06f840d591c0e' + 'f6b67e8cc79197ed6abd4701911e83da' + '51bc6cb633b50f3c28793361738aac5b') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/30-urw-aliases.patch" || return 1 + # enable Position Independent Code for prelinking + export CFLAGS="${CFLAGS} -fPIC" + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var || return 1 + make || return 1 + make DESTDIR="${pkgdir}" install || return 1 + install -m644 "${srcdir}/29-replace-bitmap-fonts.conf" \ + "${pkgdir}/etc/fonts/conf.avail" || return 1 + rm -f ${pkgdir}/etc/fonts/conf.d/*.conf + + #Install license + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1 +} diff --git a/extra/fontconfig/fontconfig.install b/extra/fontconfig/fontconfig.install new file mode 100644 index 000000000..20feb6e52 --- /dev/null +++ b/extra/fontconfig/fontconfig.install @@ -0,0 +1,100 @@ +configs=('20-fix-globaladvance.conf' + '20-unhint-small-vera.conf' + '29-replace-bitmap-fonts.conf' + '30-metric-aliases.conf' + '30-urw-aliases.conf' + '40-nonlatin.conf' + '45-latin.conf' + '49-sansserif.conf' + '50-user.conf' + '51-local.conf' + '60-latin.conf' + '65-fonts-persian.conf' + '65-nonlatin.conf' + '69-unifont.conf' + '80-delicious.conf' + '90-synthetic.conf') + +post_install() { + echo -n "updating font cache... " + /sbin/ldconfig -r . + pushd /etc/fonts/conf.d > /dev/null + for config in "${configs[@]}"; do + ln -sf ../conf.avail/${config} . + done + popd > /dev/null + /usr/bin/fc-cache -f + echo "done." +} + +post_upgrade() { + rm -f /etc/fonts/conf.d/10-bitmaps.conf + cat << _EOF + +===> Important Fontconfig configuration change <=== + + The way fontconfig is configured has been changed. + Configuration is done via /etc/fonts/conf.avail and conf.d. + Read /etc/fonts/conf.d/README for more information. + + Configuration via /etc/fonts/local.conf is still possible, + but is no longer recommended for options available in conf.avail. + +_EOF + + if [ `vercmp 2.4.1-1 $2` -gt 0 ]; then + # Upgrade from old version, place all symlinks. pre-symlink package version + echo -n "Linking configuration files... " + pushd /etc/fonts/conf.d > /dev/null + for config in "${configs[@]}"; do + ln -sf ../conf.avail/${config} . + done + popd > /dev/null + echo "done." + fi + + if [ `vercmp 2.6.0-1 $2` -gt 0 ]; then + # pre-2.6.0 versions have missing config + echo -n "Adding missing configuration files... " + pushd /etc/fonts/conf.d > /dev/null + ln -sf ../conf.avail/30-metric-aliases.conf . + ln -sf ../conf.avail/40-nonlatin.conf . + ln -sf ../conf.avail/45-latin.conf . + popd > /dev/null + echo "done." + fi + + # Remove dead links + echo -n "Removing outdated configuration files... " + for config in /etc/fonts/conf.d/*; do + if [ ! -f ${config} ]; then + rm -f ${config} + fi + done + echo "done." + + echo -n "updating font cache... " + /usr/bin/fc-cache -f + echo "done." +} + +pre_upgrade() { + # Link new config files not present on system yet + echo -n "Symlinking new configuration files... " + pushd /etc/fonts/conf.d > /dev/null + for config in "${configs[@]}"; do + if [ ! -f ../conf.avail/${config} ]; then + ln -sf ../conf.avail/${config} . + fi + done + popd > /dev/null + echo "done." +} + +post_remove() { + pushd /etc/fonts/conf.d > /dev/null + for config in "${configs[@]}"; do + rm -f ${config} + done + popd > /dev/null +} |