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