core/fontconfig/fontconfig.install

100 lines
2.5 KiB
Plaintext

configs=('10-autohint.conf'
'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
rm -f "${config[@]}"
popd > /dev/null
}