summaryrefslogtreecommitdiffstats
path: root/abs/core/fontconfig/fontconfig.install
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/fontconfig/fontconfig.install')
-rw-r--r--abs/core/fontconfig/fontconfig.install100
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
+}