[ SEA-GHOST MINI SHELL]
#!/bin/sh
font_map=/usr/share/libwmf/fonts/fontmap
font_dir=
echo_help=no
while test $# -gt 0; do
case "$1" in
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) optarg= ;;
esac
case $1 in
--help) echo_help=yes ;;
--map=*)
font_map=$optarg
;;
*)
if test "x$font_dir" = "x"; then
font_dir=$1
else
font_dir="$font_dir $1"
fi
;;
esac
shift
done
if test "x$font_map" = "x"; then
echo_help=yes
fi
if test "x$font_dir" = "x"; then
font_dir="/usr/share/libwmf/fonts"
else
font_dir="$font_dir /usr/share/libwmf/fonts"
fi
if test $echo_help = yes; then
cat <<EOF
Usage: libwmf-fontmap --map=<fontmap> dir1 [dir2 [dir3 ...]]
EOF
exit $1
fi
echo font map = $font_map
font_pwd=`pwd`
if test -w $font_map; then
rm -f $font_map
fi
cat > $font_map <<EOF
<?xml version="1.0"?>
<fontmap>
EOF
for i in $font_dir; do
if test -d $i; then
cd $i;
font_cwd=`pwd`;
echo scanning $i;
for j in `ls *.afm 2> /dev/null`; do
font_root=`echo $j | sed s/.afm//`
font_metrics=$font_cwd/$font_root.afm
font_glyphs=
if test -r $font_cwd/$font_root.pfa; then
font_glyphs=$font_cwd/$font_root.pfa
elif test -r $font_cwd/$font_root.pfb; then
font_glyphs=$font_cwd/$font_root.pfb
fi
if test "x$font_glyphs" != "x"; then
echo font: $font_root
FontName=`grep "FontName " $font_metrics | sed "s/FontName //"`
FullName=`grep "FullName " $font_metrics | sed "s/FullName //"`
FamilyName=`grep "FamilyName " $font_metrics | sed "s/FamilyName //"`
Weight=`grep "Weight " $font_metrics | sed "s/Weight //"`
cd $font_pwd
echo '<font format="type1" metrics="'$font_metrics'" glyphs="'$font_glyphs'" name="'$FontName'" fullname="'$FullName'" familyname="'$FamilyName'" weight="'$Weight'" version="0.1" alias="'$FontName'"/>' >> $font_map
cd $font_cwd
fi
done
for j in `ls *.ttf 2> /dev/null`; do
font_root=`echo $j | sed s/.ttf//`
font_recognized=yes
font_glyphs=$font_cwd/$font_root.ttf
case "$font_root" in
antquab)
FontName="BookAntiqua-Bold"
FullName="Book Antiqua Bold"
FamilyName="Book Antiqua"
Weight="Bold"
;;
antquabi)
FontName="BookAntiqua-BoldItalic"
FullName="Book Antiqua Bold Italic"
FamilyName="Book Antiqua"
Weight="Bold Italic"
;;
antquai)
FontName="BookAntiqua-Italic"
FullName="Book Antiqua Italic"
FamilyName="Book Antiqua"
Weight="Italic"
;;
arbli___)
FontName="Arial-BlackItalic"
FullName="Arial Black Italic"
FamilyName="Arial Black"
Weight="Italic"
;;
arial)
FontName="ArialMT"
FullName="Arial"
FamilyName="Arial"
Weight="Regular"
;;
arialbd)
FontName="Arial-BoldMT"
FullName="Arial Bold"
FamilyName="Arial"
Weight="Bold"
;;
arialbi)
FontName="Arial-BoldItalicMT"
FullName="Arial Bold Italic"
FamilyName="Arial"
Weight="Bold Italic"
;;
ariali)
FontName="Arial-ItalicMT"
FullName="Arial Italic"
FamilyName="Arial"
Weight="Italic"
;;
arialn)
FontName="ArialNarrow"
FullName="Arial Narrow"
FamilyName="Arial Narrow"
Weight="Regular"
;;
arialnb)
FontName="ArialNarrow-Bold"
FullName="Arial Narrow Bold"
FamilyName="Arial Narrow"
Weight="Bold"
;;
arialnbi)
FontName="ArialNarrow-BoldItalic"
FullName="Arial Narrow Bold Italic"
FamilyName="Arial Narrow"
Weight="Bold Italic"
;;
arialni)
FontName="ArialNarrow-Italic"
FullName="Arial Narrow Italic"
FamilyName="Arial Narrow"
Weight="Italic"
;;
arialuni)
FontName="ArialUnicodeMS"
FullName="Arial Unicode MS"
FamilyName="Arial Unicode MS"
Weight="Regular"
;;
ariblk)
FontName="Arial-Black"
FullName="Arial Black"
FamilyName="Arial Black"
Weight="Regular"
;;
batang)
FontName="Batang"
FullName="Batang"
FamilyName="Batang"
Weight="Regular"
;;
bkant)
FontName="BookAntiqua"
FullName="Book Antiqua"
FamilyName="Book Antiqua"
Weight="Regular"
;;
bookos)
FontName="BookmanOldStyle"
FullName="Bookman Old Style"
FamilyName="Bookman Old Style"
Weight="Regular"
;;
bookosb)
FontName="BookmanOldStyle-Bold"
FullName="Bookman Old Style Bold"
FamilyName="Bookman Old Style"
Weight="Bold"
;;
bookosbi)
FontName="BookmanOldStyle-BoldItalic"
FullName="Bookman Old Style Bold Italic"
FamilyName="Bookman Old Style"
Weight="Bold Italic"
;;
bookosi)
FontName="BookmanOldStyle-Italic"
FullName="Bookman Old Style Italic"
FamilyName="Bookman Old Style"
Weight="Italic"
;;
century)
FontName="Century"
FullName="Century"
FamilyName="Century"
Weight="Regular"
;;
comic)
FontName="ComicSansMS"
FullName="Comic Sans MS"
FamilyName="Comic Sans MS"
Weight="Regular"
;;
comicbd)
FontName="ComicSansMS-Bold"
FullName="Comic Sans MS Bold"
FamilyName="Comic Sans MS"
Weight="Bold"
;;
cour)
FontName="CourierNewPSMT"
FullName="Courier New"
FamilyName="Courier New"
Weight="Regular"
;;
courbd)
FontName="CourierNewPS-BoldMT"
FullName="Courier New Bold"
FamilyName="Courier New"
Weight="Bold"
;;
courbi)
FontName="CourierNewPS-BoldItalicMT"
FullName="Courier New Bold Italic"
FamilyName="Courier New"
Weight="Bold Italic"
;;
couri)
FontName="CourierNewPS-ItalicMT"
FullName="Courier New Italic"
FamilyName="Courier New"
Weight="Italic"
;;
euclid)
FontName="Euclid"
FullName="Euclid"
FamilyName="Euclid"
Weight="Regular"
;;
euclidb)
FontName="Euclid-Bold"
FullName="Euclid Bold"
FamilyName="Euclid"
Weight="Bold"
;;
euclidbi)
FontName="Euclid-BoldItalic"
FullName="Euclid Bold Italic"
FamilyName="Euclid"
Weight="Bold Italic"
;;
euclidi)
FontName="Euclid-Italic"
FullName="Euclid Italic"
FamilyName="Euclid"
Weight="Italic"
;;
eucsym)
FontName="EuclidSymbol"
FullName="Euclid Symbol"
FamilyName="Euclid Symbol"
Weight="Regular"
;;
eucsymb)
FontName="EuclidSymbol-Bold"
FullName="Euclid Symbol Bold"
FamilyName="Euclid Symbol"
Weight="Bold"
;;
eucsymbi)
FontName="EuclidSymbol-BoldItalic"
FullName="Euclid Symbol Bold Italic"
FamilyName="Euclid Symbol"
Weight="Bold Italic"
;;
eucsymi)
FontName="EuclidSymbol-Italic"
FullName="Euclid Symbol Italic"
FamilyName="Euclid Symbol"
Weight="Italic"
;;
euextra)
FontName="EuclidExtra"
FullName="Euclid Extra"
FamilyName="Euclid Extra"
Weight="Regular"
;;
euextrab)
FontName="EuclidExtra-Bold"
FullName="Euclid Extra Bold"
FamilyName="Euclid Extra"
Weight="Bold"
;;
eufrak)
FontName="EuclidFraktur"
FullName="Euclid Fraktur"
FamilyName="Euclid Fraktur"
Weight="Regular"
;;
eufrakb)
FontName="EuclidFraktur-Bold"
FullName="Euclid Fraktur Bold"
FamilyName="Euclid Fraktur"
Weight="Bold"
;;
eumat1)
FontName="EuclidMathOne"
FullName="Euclid Math One"
FamilyName="Euclid Math One"
Weight="Regular"
;;
eumat1b)
FontName="EuclidMathOne-Bold"
FullName="Euclid Math One Bold"
FamilyName="Euclid Math One"
Weight="Bold"
;;
eumat2)
FontName="EuclidMathTwo"
FullName="Euclid Math Two"
FamilyName="Euclid Math Two"
Weight="Regular"
;;
eumat2b)
FontName="EuclidMathTwo-Bold"
FullName="Euclid Math Two Bold"
FamilyName="Euclid Math Two"
Weight="Bold"
;;
fences)
FontName="Fences-Plain"
FullName="Fences Plain"
FamilyName="Fences"
Weight="Plain"
;;
gara)
FontName="Garamond"
FullName="Garamond"
FamilyName="Garamond"
Weight="Regular"
;;
garabd)
FontName="Garamond-Bold"
FullName="Garamond Bold"
FamilyName="Garamond"
Weight="Bold"
;;
garait)
FontName="Garamond-Italic"
FullName="Garamond Italic"
FamilyName="Garamond"
Weight="Italic"
;;
gothic)
FontName="CenturyGothic"
FullName="Century Gothic"
FamilyName="Century Gothic"
Weight="Regular"
;;
gothicb)
FontName="CenturyGothic-Bold"
FullName="Century Gothic Bold"
FamilyName="Century Gothic"
Weight="Bold"
;;
gothicbi)
FontName="CenturyGothic-BoldItalic"
FullName="Century Gothic Bold Italic"
FamilyName="Century Gothic"
Weight="Bold Italic"
;;
gothici)
FontName="CenturyGothic-Italic"
FullName="Century Gothic Italic"
FamilyName="Century Gothic"
Weight="Italic"
;;
impact)
FontName="Impact"
FullName="Impact"
FamilyName="Impact"
Weight="Regular"
;;
l_10646)
FontName="LucidaSansUnicode"
FullName="Lucida Sans Unicode"
FamilyName="Lucida Sans Unicode"
Weight="Regular"
;;
lucon)
FontName="LucidaConsole"
FullName="Lucida Console"
FamilyName="Lucida Console"
Weight="Regular"
;;
marlett)
FontName="Marlett"
FullName="Marlett"
FamilyName="Marlett"
Weight="Regular"
;;
msmincho)
FontName="MS-Mincho"
FullName="MS Mincho"
FamilyName="MS Mincho"
Weight="Regular"
;;
mtcorsva)
FontName="MonotypeCorsiva"
FullName="Monotype Corsiva"
FamilyName="Monotype Corsiva"
Weight="Regular"
;;
mtextra)
FontName="MT-Extra"
FullName="MT Extra"
FamilyName="MT Extra"
Weight="Regular"
;;
mtsymbol)
FontName="MT-Symbol"
FullName="MT Symbol"
FamilyName="MT Symbol"
Weight="Regular"
;;
outlook)
FontName="MSOutlook"
FullName="MS Outlook"
FamilyName="MS Outlook"
Weight="Regular"
;;
pmingliu)
FontName="PMingLiU"
FullName="PMingLiU"
FamilyName="PMingLiU"
Weight="Regular"
;;
simsun)
FontName="SimSun"
FullName="SimSun"
FamilyName="SimSun"
Weight="Regular"
;;
symbol)
FontName="SymbolMT"
FullName="Symbol"
FamilyName="Symbol"
Weight="Regular"
;;
tahoma)
FontName="Tahoma"
FullName="Tahoma"
FamilyName="Tahoma"
Weight="Regular"
;;
tahomabd)
FontName="Tahoma-Bold"
FullName="Tahoma Bold"
FamilyName="Tahoma"
Weight="Bold"
;;
times)
FontName="TimesNewRomanPSMT"
FullName="Times New Roman"
FamilyName="Times New Roman"
Weight="Regular"
;;
timesbd)
FontName="TimesNewRomanPS-BoldMT"
FullName="Times New Roman Bold"
FamilyName="Times New Roman"
Weight="Bold"
;;
timesbi)
FontName="TimesNewRomanPS-BoldItalicMT"
FullName="Times New Roman Bold Italic"
FamilyName="Times New Roman"
Weight="Bold Italic"
;;
timesi)
FontName="TimesNewRomanPS-ItalicMT"
FullName="Times New Roman Italic"
FamilyName="Times New Roman"
Weight="Italic"
;;
trebuc)
FontName="TrebuchetMS"
FullName="Trebuchet MS"
FamilyName="Trebuchet MS"
Weight="Regular"
;;
trebucbd)
FontName="TrebuchetMS-Bold"
FullName="Trebuchet MS Bold"
FamilyName="Trebuchet MS"
Weight="Bold"
;;
trebucbi)
FontName="Trebuchet-BoldItalic"
FullName="Trebuchet MS Bold Italic"
FamilyName="Trebuchet MS"
Weight="Bold Italic"
;;
trebucit)
FontName="TrebuchetMS-Italic"
FullName="Trebuchet MS Italic"
FamilyName="Trebuchet MS"
Weight="Italic"
;;
verdana)
FontName="Verdana"
FullName="Verdana"
FamilyName="Verdana"
Weight="Regular"
;;
verdanab)
FontName="Verdana-Bold"
FullName="Verdana Bold"
FamilyName="Verdana"
Weight="Bold"
;;
verdanai)
FontName="Verdana-Italic"
FullName="Verdana Italic"
FamilyName="Verdana"
Weight="Italic"
;;
verdanaz)
FontName="Verdana-BoldItalic"
FullName="Verdana Bold Italic"
FamilyName="Verdana"
Weight="Bold Italic"
;;
webdings)
FontName="Webdings"
FullName="Webdings"
FamilyName="Webdings"
Weight="Regular"
;;
wingding)
FontName="Wingdings-Regular"
FullName="Wingdings"
FamilyName="Wingdings"
Weight="Regular"
;;
wingdng2)
FontName="Wingdings2"
FullName="Wingdings 2"
FamilyName="Wingdings 2"
Weight="Regular"
;;
wingdng3)
FontName="Wingdings3"
FullName="Wingdings 3"
FamilyName="Wingdings 3"
Weight="Regular"
;;
*)
font_recognized=no
;;
esac
if test $font_recognized = yes; then
echo font: $font_root
cd $font_pwd
echo '<font format="type1" metrics="'$font_metrics'" glyphs="'$font_glyphs'" name="'$FontName'" fullname="'$FullName'" familyname="'$FamilyName'" weight="'$Weight'" version="0.1" alias="'$FontName'"/>' >> $font_map
cd $font_cwd
else
echo "I don't know" $font_root
fi
done
cd $font_pwd;
fi
done
cat >> $font_map <<EOF
</fontmap>
EOF
SEA-GHOST - SHELL CODING BY SEA-GHOST