PKGBUILDs/extra/fontconfig/fontconfig.install
2009-09-26 09:35:50 -05:00

100 lines
2.6 KiB
Text

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.avail/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
}