home *** CD-ROM | disk | FTP | other *** search
- #!/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
-