fontconfig/debian/fontconfig.postinst

140 lines
3.3 KiB
Bash
Executable File

#!/bin/sh
set -e
. /usr/share/debconf/confmodule
LOCALCONF=/var/lib/fontconfig/local.conf
rm -f $LOCALCONF
CONFDIR=/etc/fonts/conf.d
db_get fontconfig/hinting_type
hinting_type="$RET"
hint_prio="10-debconf-"
unhinted="unhinted.conf"
autohint="autohint.conf"
if [ -h $CONFDIR/$hint_prio$unhinted ]; then
rm $CONFDIR/$hint_prio$unhinted
fi
if [ -h $CONFDIR/$hint_prio$autohint ]; then
rm $CONFDIR/$hint_prio$autohint
fi
case "$hinting_type" in
"Native")
;;
"Autohint")
ln -s $CONFDIR/$autohint $CONFDIR/$hint_prio$autohint
;;
"None")
ln -s $CONFDIR/$unhinted $CONFDIR/$hint_prio$unhinted
;;
esac
db_get fontconfig/subpixel_rendering
subpixel_rendering="$RET"
subpixel_prio="20-debconf-"
subpixel="sub-pixel.conf"
no_subpixel="no-sub-pixel.conf"
if [ -h $CONFDIR/$subpixel_prio$subpixel ]; then
rm $CONFDIR/$subpixel_prio$subpixel
fi
if [ -h $CONFDIR/$subpixel_prio$no_subpixel ]; then
rm $CONFDIR/$subpixel_prio$no_subpixel
fi
case "$subpixel_rendering" in
"Automatic")
;;
"Always")
ln -s $CONFDIR/$subpixel $CONFDIR/$subpixel_prio$subpixel
;;
"Never")
ln -s $CONFDIR/$no_subpixel $CONFDIR/$subpixel_prio$no_subpixel
;;
esac
db_get fontconfig/enable_bitmaps
enable_bitmaps="$RET"
bitmaps_prio="30-debconf-"
yes_bitmaps="yes-bitmaps.conf"
no_bitmaps="no-bitmaps.conf"
if [ -h $CONFDIR/$bitmaps_prio$yes_bitmaps ]; then
rm $CONFDIR/$bitmaps_prio$yes_bitmaps
fi
if [ -h $CONFDIR/$bitmaps_prio$no_bitmaps ]; then
rm $CONFDIR/$bitmaps_prio$no_bitmaps
fi
case "$enable_bitmaps" in
"true")
ln -s $CONFDIR/$yes_bitmaps $CONFDIR/$bitmaps_prio$yes_bitmaps
;;
*)
ln -s $CONFDIR/$no_bitmaps $CONFDIR/$bitmaps_prio$no_bitmaps
;;
esac
cp /dev/null $LOCALCONF
rm -f $LOCALCONF.md5sum
ln -sf /usr/share/fontconfig/local.conf.md5sum $LOCALCONF.md5sum
ucf --debconf-ok $LOCALCONF /etc/fonts/local.conf
rm -f $LOCALCONF.md5sum
# if the local.conf file is now empty, remove it
if [ -s /etc/fonts/local.conf ]; then
:
else
if [ -f /etc/fonts/local.conf ]; then
rm /etc/fonts/local.conf
fi
fi
# Create /usr/local/share/fonts
LOCALDIR=/usr/local/share/fonts
if [ ! -d $LOCALDIR ]; then
if mkdir $LOCALDIR 2>/dev/null ; then
chmod 2775 $LOCALDIR
chown root:staff $LOCALDIR
fi
fi
if [ "$1" = configure ]; then
# Ensure Defoma subst file exists, with some default substitutions
if ! defoma-subst check-rule fontconfig; then
defoma-subst new-rule fontconfig \
'serif --GeneralFamily,* Roman --Shape Serif Upright --Weight Medium' \
'sans-serif --GeneralFamily,* SansSerif --Shape NoSerif Upright --Weight Medium' \
'monospace --Width,* Fixed --GeneralFamily,2 Typewriter --Shape Upright --Weight Medium'
fi
fi
if [ -d /var/lib/defoma/x-ttcidfont-conf.d ]; then
# Remove old fonts.cache-1 files
find /var/lib/defoma/x-ttcidfont-conf.d -name fonts.cache-1 | xargs rm -f
fi
#DEBHELPER#
if [ "$1" = configure ]; then
# (Hacked up from Red Hat 8 fontconfig RPM)
# Force regeneration of all fontconfig cache files.
# The redirect is because fc-cache is giving warnings about ~/fc.cache
# the HOME setting is to avoid problems if HOME hasn't been reset
printf "Regenerating fonts cache... "
HOME=/root fc-cache -f -v 1>/var/log/fontconfig.log 2>&1 || (printf "failed.\nSee /var/log/fontconfig.log for more information.\n"; exit 1)
printf "done.\n"
fi
exit 0