home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / live / usr / sbin / update-fonts-alias < prev    next >
Text File  |  1999-09-19  |  2KB  |  61 lines

  1. #!/bin/sh
  2. # update-fonts-alias
  3. # compiles fonts.alias files for X font directories
  4. # see mkfontdir(1) for a description of the format of fonts.alias files
  5. # Copyright 1999 Branden Robinson.  Licensed under the GNU GPL, version 2.
  6.  
  7. if [ $# -eq 0 ]; then
  8.   echo "$0: one or more font directories must be provided."
  9.   exit 1
  10. fi
  11.  
  12. while [ "$1" ]; do
  13.   # try to be clever about the arguments
  14.   if [ "$(echo $1 | cut -c1)" = "/" ]; then
  15.     # absolute path to X font directory was provided
  16.     XDIR=$1
  17.     ETCDIR=/etc/X11/fonts/$(basename $XDIR)
  18.     if [ "$XDIR" = "$ETCDIR" ]; then
  19.       # they gave us an /etc directory as the argument
  20.       echo "$0: path to X font directory must be used."
  21.       exit 1
  22.     fi
  23.   else
  24.     # assume they just gave us the basename
  25.     XDIR=/usr/lib/X11/fonts/$1
  26.     ETCDIR=/etc/X11/fonts/$1
  27.   fi
  28.   for dir in $XDIR $ETCDIR; do
  29.     valid=yes
  30.     if [ ! -d $dir ]; then
  31.       echo "$0: $dir does not exist or is not a directory."
  32.       valid=
  33.     fi
  34.   done
  35.   if [ "$valid" ]; then
  36.     if [ -e $XDIR/fonts.alias ]; then
  37.       # backup old fonts.alias file in case we are interrupted
  38.       mv $XDIR/fonts.alias $XDIR/fonts.alias.update-backup
  39.     fi
  40.     cat > $XDIR/fonts.alias << EOF
  41. !! fonts.alias -- automatically generated file.  DO NOT EDIT.
  42. !! To modify, see update-fonts-alias(8).
  43. EOF
  44.     # are there any files to process?
  45.     if [ "$(echo $ETCDIR/*.alias)" != "$ETCDIR/*.alias" ]; then 
  46.       for file in $ETCDIR/*.alias; do
  47.         echo "!! $file" >> $XDIR/fonts.alias
  48.         cat $file >> $XDIR/fonts.alias
  49.       done
  50.     fi
  51.   fi
  52.   shift
  53. done
  54.  
  55. if [ -e $XDIR/fonts.alias.update-backup ]; then
  56.   # we are done, remove the backup file
  57.   rm $XDIR/fonts.alias.update-backup
  58. fi
  59.  
  60. exit
  61.