]> git.pld-linux.org Git - packages/fontpostinst.git/blob - fontpostinst
6c40ac3bfdc4d97c4352669b8b2931dc64d1107e
[packages/fontpostinst.git] / fontpostinst
1 #!/bin/sh
2
3 # Requires: /bin/sh textutils fileutils
4 # optionally:
5 #       mkfontdir, mkfontscale (XFree86)  (or ttmkfdir - for TTF only)
6 #       fc-cache (XFree86-fontconfig)
7 #       gnome-font-install (gnome-print)
8
9 FBASEDIR="/usr/share/fonts"
10
11 MKFONTDIRBIN="/usr/X11R6/bin/mkfontdir"
12 MKFONTDIR="$MKFONTDIRBIN"
13 MKFONTSCALEBIN="/usr/X11R6/bin/mkfontscale"
14 MKFONTSCALE="$MKFONTSCALEBIN"
15
16 MKTTFFONTSCALEBIN="$MKFONTSCALEBIN"
17 MKTTFFONTSCALE="$MKTTFFONTSCALEBIN"
18 #MKTTFFONTSCALEBIN="/usr/bin/ttmkfdir"
19 #MKTTFFONTSCALE="$MKFONTSCALEBIN -e /usr/share/fonts/encodings/encodings.dir"
20
21 FCCACHEBIN="/usr/X11R6/bin/fc-cache"
22 if [ ! -x $FCCACHEBIN -a -x /usr/X11R6/bin/xftcache ]; then
23         # fallback for XFree86 4.[0-2]
24         FCCACHEBIN="/usr/X11R6/bin/xftcache"
25 fi
26 FCCACHE="$FCCACHEBIN ."
27
28 GNOMEFONTINSTBIN="/usr/bin/gnome-font-install"
29 if [ ! -x $GNOMEFONTINSTBIN -a -x /usr/X11R6/bin/gnome-font-install ]; then
30         # fallback for Ra
31         GNOMEFONTINSTBIN="/usr/X11R6/bin/gnome-font-install"
32 fi
33 GNOMEFONTINST="$GNOMEFONTINSTBIN --target $FBASEDIR/fontmap"
34
35 if [ -z "$1" ]; then
36         echo "Usage: fontpostinst TYPE [DIR]"
37         echo "  TYPE is one of OTF, TTF, Type1, misc, 100dpi, 75dpi, CID, Speedo, PEX"
38         echo "  default DIR is $FBASEDIR/TYPE"
39         exit 1
40 fi
41         
42 FTYPE="$1"
43 if [ -z "$2" ]; then
44         FDIR="$FBASEDIR/$FTYPE"
45 else
46         FDIR="$2"
47 fi
48
49 umask 022
50 cd "$FDIR"
51 if [ "`echo fonts.alias.*`" != 'fonts.alias.*' ]; then
52         cat fonts.alias.* | LC_ALL=C sort -u > fonts.alias
53 else
54         rm -f fonts.alias
55 fi
56 case "$FTYPE" in
57     OTF|TTF)
58         if [ -x $MKTTFFONTSCALEBIN ]; then
59                 $MKTTFFONTSCALE
60         fi
61         if [ -x $MKFONTDIRBIN ]; then
62                 $MKFONTDIR
63         fi
64         if [ -x $FCCACHEBIN ]; then
65                 $FCCACHE
66         elif [ -x $XFTCACHEBIN ]; then
67                 $XFTCACHE
68         fi
69         ;;
70     Type1)
71         rm -f fonts.scale.bak Fontmap.bak
72         if "`echo fonts.scale.*`" != 'fonts.scale.*' ]; then
73                 cat fonts.scale.* 2>/dev/null | LC_ALL=C sort -u > fonts.scale.tmp
74                 cat fonts.scale.tmp | wc -l | tr -d ' ' > fonts.scale
75                 cat fonts.scale.tmp >> fonts.scale
76                 rm -f fonts.scale.tmp
77         else if [ "`echo *.pf[ab]`" != '*.pf[ab]' ]; then
78                 # no hints - try to generate
79                 if [ -x $MKFONTSCALEBIN ]; then
80                         $MKFONTSCALE
81                 fi
82         else
83                 rm -f fonts.scale
84         fi
85         if [ -x $MKFONTDIRBIN ]; then
86                 $MKFONTDIR
87         fi
88         if [ -x $FCCACHEBIN ]; then
89                 $FCCACHE
90         elif [ -x $XFTCACHEBIN ]; then
91                 $XFTCACHE
92         fi
93         if "`echo Fontmap.*`" != 'Fontmap.*' ]; then
94                 cat Fontmap.* > Fontmap
95         else
96                 rm -f Fontmap
97         fi
98         if [ -x $GNOMEFONTINSTBIN ]; then
99                 $GNOMEFONTINST
100         fi
101         ;;
102     misc)
103         # special case - fonts needed for X server to start
104         if [ -x $MKFONTDIRBIN ]; then
105                 $MKFONTDIR
106         elif [ -f 6x13-ISO8859-1.pcf.gz -a -f cursor.pcf.gz ]; then
107                 cat > fonts.dir <<EOF
108 2
109 6x13-ISO8859-1.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
110 cursor.pcf.gz cursor
111 EOF
112         fi
113         ;;
114     100dpi|75dpi|CID|Speedo|PEX)
115         if [ -x $MKFONTDIRBIN ]; then
116                 $MKFONTDIR
117         fi
118         ;;
119     *)
120         echo "Warning: \"$FTYPE\": unknown font type!" >&2
121         if [ -x $MKFONTDIRBIN ]; then
122                 $MKFONTDIR
123         fi
124 esac
This page took 0.110068 seconds and 3 git commands to generate.