diff options
Diffstat (limited to 'abs/core/fontconfig/fontconfig.install')
-rw-r--r-- | abs/core/fontconfig/fontconfig.install | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/abs/core/fontconfig/fontconfig.install b/abs/core/fontconfig/fontconfig.install new file mode 100644 index 0000000..6608834 --- /dev/null +++ b/abs/core/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.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 +} |