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