#!/bin/bash


VERSION="`basename $0` 0.10-es vltozat."

GSCONF=/etc/gs-hu.conf

if [ -f $GSCONF ]; then
	. $GSCONF
else
	echo "A $GSCONF file nem ltezik."
	exit 1
fi

WORKSUFFIX="gs-hu.work"

XFONTLIST='uglhb___.pfb -adobe-itc avant garde gothic-book-r-normal--0-0-0-0-p-0-misc-hu\n
uglhbo__.pfb -adobe-itc avant garde gothic-book-o-normal--0-0-0-0-p-0-misc-hu\n
uglhd___.pfb -adobe-itc avant garde gothic-demi-r-normal--0-0-0-0-p-0-misc-hu\n
uglhdo__.pfb -adobe-itc avant garde gothic-demi-o-normal--0-0-0-0-p-0-misc-hu\n
ublhl___.pfb -adobe-itc bookman-light-r-normal--0-0-0-0-p-0-misc-hu\n
ublhli__.pfb -adobe-itc bookman-light-i-normal--0-0-0-0-p-0-misc-hu\n
ublhdb__.pfb -adobe-itc bookman-demi-r-normal--0-0-0-0-p-0-misc-hu\n
ublhdbi_.pfb -adobe-itc bookman-demi-i-normal--0-0-0-0-p-0-misc-hu\n
nmlhr___.pfb -adobe-courier-medium-r-normal--0-0-0-0-m-0-misc-hu\n
nmlhro__.pfb -adobe-courier-medium-o-normal--0-0-0-0-m-0-misc-hu\n
nmlhb___.pfb -adobe-courier-bold-r-normal--0-0-0-0-m-0-misc-hu\n
nmlhbo__.pfb -adobe-courier-bold-o-normal--0-0-0-0-m-0-misc-hu\n
nslhr___.pfb -adobe-helvetica-medium-r-normal--0-0-0-0-p-0-misc-hu\n
nslhri__.pfb -adobe-helvetica-medium-o-normal--0-0-0-0-p-0-misc-hu\n
nslhb___.pfb -adobe-helvetica-bold-r-normal--0-0-0-0-p-0-misc-hu\n
nslhbi__.pfb -adobe-helvetica-bold-o-normal--0-0-0-0-p-0-misc-hu\n
nslhrc__.pfb -adobe-helvetica narrow-medium-r-normal--0-0-0-0-p-0-misc-hu\n
nslhrci_.pfb -adobe-helvetica narrow-medium-o-normal--0-0-0-0-p-0-misc-hu\n
nslhbc__.pfb -adobe-helvetica narrow-bold-r-normal--0-0-0-0-p-0-misc-hu\n
nslhbci_.pfb -adobe-helvetica narrow-bold-o-normal--0-0-0-0-p-0-misc-hu\n
cslhi___.pfb -adobe-new century schoolbook-medium-i-normal--0-0-0-0-p-0-misc-hu\n
cslhr___.pfb -adobe-new century schoolbook-medium-r-normal--0-0-0-0-p-0-misc-hu\n
cslhb___.pfb -adobe-new century schoolbook-bold-r-normal--0-0-0-0-p-0-misc-hu\n
cslhbi__.pfb -adobe-new century schoolbook-bold-i-normal--0-0-0-0-p-0-misc-hu\n
uplhi___.pfb -adobe-palatino-medium-i-normal--0-0-0-0-p-0-misc-hu\n
uplhr___.pfb -adobe-palatino-medium-r-normal--0-0-0-0-p-0-misc-hu\n
uplhb___.pfb -adobe-palatino-bold-r-normal--0-0-0-0-p-0-misc-hu\n
uplhbi__.pfb -adobe-palatino-bold-i-normal--0-0-0-0-p-0-misc-hu\n
nrnlhm__.pfb -adobe-times-bold-r-normal--0-0-0-0-p-0-misc-hu\n
nrnlhmi_.pfb -adobe-times-bold-i-normal--0-0-0-0-p-0-misc-hu\n
nrnlhr__.pfb -adobe-times-medium-r-normal--0-0-0-0-p-0-misc-hu\n
nrnlhri_.pfb -adobe-times-medium-i-normal--0-0-0-0-p-0-misc-hu\n
s050000l.pfb -adobe-symbol-medium-r-normal--0-0-0-0-p-0-adobe-fontspecific\n
uclhmi__.pfb -adobe-itc zapf chancery-medium-i-normal--0-0-0-0-p-0-misc-hu\n
d050000l.pfb -adobe-itc zapf dingbats-medium-r-normal--0-0-0-0-p-0-adobe-fontspecific'

HELP="Ez a shell script automatikusan elvgzi azokat a belltsokat, amelyek a\n\
gs-hu csomagban tallhat magyar kezetes fontok hasznlathoz szksgesek.\n\
\n\
Hasznlat: `basename $0` opcik\n\
\n\
Az opcik:\n\
 -a|--all\tMinden vltoztatst vgrehajt.\n\
 --applix\tAz Applixware fontjainak tlltsa.\n\
 --gs\t\tA Ghostscript fontjainak tlltsa.\n\
 --X11\t\tA magyar fontok hasznlata az X-ben.\n\
 --version\tA script verziszma.\n\
 --help\t\tEz a rvid ismertet.\n\
\t\tBvebb tjkoztat a README fjlban.\n\
\n\
A --applix opci magban foglalja a --gs s --X11 opcikat."

DOALL="no"
DOAPPLIX="no"
DOGS="no"
DOX="no"

if [ $@-bogus = "-bogus" ]; then
	echo -e $HELP
	exit 0
else
	for i in $@; do
		case $i in
			-a|--all)	DOALL="yes";;
			--applix)	DOAPPLIX="yes"
					DOGS="yes"
					DOX="yes";;
			--gs)		DOGS="yes";;
			--X11)		DOX="yes";;
			--version)	echo $VERSION; exit 0;;
			--help|*)	echo -e $HELP; exit 0;;
		esac
	done
fi

if [ $DOALL = "yes" ]; then
	DOAPPLIX="yes"
	DOGS="yes"
	DOX="yes"
fi

if [ $DOGS = "yes" ];  then
	if [ ! -f $GSCONFIG ]; then
		echo "A $GSCONFIG file nem ltezik."
	else
		$CP $GSCONFIG $GSCONFIG.$ORIGSUFFIX
		$MV $GSCONFIG $GSCONFIG.$WORKSUFFIX
	fi
	sed 's/b018015l.pfb/ublhdb__.pfb/g
s/b018035l.pfb/ublhdbi_.pfb/g
s/b018012l.pfb/ublhl___.pfb/g
s/b018032l.pfb/ublhli__.pfb/g
s/n022003l.pfb/nmlhr___.pfb/g
s/n022023l.pfb/nmlhro__.pfb/g
s/n022004l.pfb/nmlhb___.pfb/g
s/n022024l.pfb/nmlhbo__.pfb/g
s/a010013l.pfb/uglhb___.pfb/g
s/a010033l.pfb/uglhbo__.pfb/g
s/a010015l.pfb/uglhd___.pfb/g
s/a010035l.pfb/uglhdo__.pfb/g
s/n019003l.pfb/nslhr___.pfb/g
s/n019023l.pfb/nslhri__.pfb/g
s/n019004l.pfb/nslhbi__.pfb/g
s/n019024l.pfb/nslhbi__.pfb/g
s/n019043l.pfb/nslhrc__.pfb/g
s/n019063l.pfb/nslhrci_.pfb/g
s/n019044l.pfb/nslhbc__.pfb/g
s/n019064l.pfb/nslhbci_.pfb/g
s/p052003l.pfb/uplhr___.pfb/g
s/p052023l.pfb/uplhi___.pfb/g
s/p052004l.pfb/uplhb___.pfb/g
s/p052024l.pfb/uplhbi__.pfb/g
s/c059013l.pfb/cslhr___.pfb/g
s/c059033l.pfb/cslhi___.pfb/g
s/c059016l.pfb/cslhb___.pfb/g
s/c059036l.pfb/cslhbi__.pfb/g
s/n021003l.pfb/nrnlhr__.pfb/g
s/n021023l.pfb/nrnlhri_.pfb/g
s/n021004l.pfb/nrnlhm__.pfb/g
s/n021024l.pfb/nrnlhmi_.pfb/g
s/z003034l.pfb/uclhmi__.pfb/g' < $GSCONFIG.$WORKSUFFIX > $GSCONFIG
	rm -f $GSCONFIG.$WORKSUFFIX
fi

if [ $DOX = "yes" ]; then
	GSFONTSCALE="$GSFONTDIR/fonts.scale"
	if [ ! -f $GSFONTSCALE ]; then
		echo 35 > $GSFONTSCALE
		echo -e $XFONTLIST | sed 's/^\ //' >> $GSFONTSCALE
	else
        	$CP $GSFONTSCALE $GSFONTSCALE.$ORIGSUFFIX
		echo -e $XFONTLIST | sed 's/^\ //' >> $GSFONTSCALE
		tail +2 < $GSFONTSCALE | sort | uniq > $GSFONTSCALE.$WORKSUFFIX
		wc -l < $GSFONTSCALE.$WORKSUFFIX | cut -f6 -d' ' > $GSFONTSCALE
		cat < $GSFONTSCALE.$WORKSUFFIX >> $GSFONTSCALE
		rm -f $GSFONTSCALE.$WORKSUFFIX
	fi
	mkfontdir $GSFONTDIR

	if [ ! -f $XCONFIG ]; then
		echo "A $XCONFIG file nem ltezik."
	else
		$CP $XCONFIG $XCONFIG.$ORIGSUFFIX
		$MV $XCONFIG $XCONFIG.$WORKSUFFIX
		grep -v $GSFONTDIR < $XCONFIG.$WORKSUFFIX | gawk '{if ($1=="Section" && $2=="\"Files\"") {INFILES=1}; if ($1=="EndSection" && INFILES==1) {print "   FontPath   \"'$GSFONTDIR'\""; INFILES=0}; print $0}' > $XCONFIG
		rm -f $XCONFIG.$WORKSUFFIX
	fi
fi

if [ $DOAPPLIX = "yes" ]; then
	APPLIXCONFIG="$APPLIXDIR/axdata/fontmetrics/fontmap.dir"
	if [ ! -f $APPLIXCONFIG ]; then
		echo "A $APPLIXCONFIG file nem ltezik."
	else
		$CP $APPLIXCONFIG $APPLIXCONFIG.$ORIGSUFFIX
		$MV $APPLIXCONFIG $APPLIXCONFIG.$WORKSUFFIX
		gawk '{FS="-"
if (/-applix-axtm/) {print $1"\"-adobe-times-"$4"-"$5"-"$6"-"$7"-"$8"-"$9"-*-*-p-"$13"-misc-hu\",";next}
if (/-applix-axhv/) {print $1"\"-adobe-helvetica-"$4"-"$5"-"$6"-"$7"-"$8"-"$9"-*-*-p-"$13"-misc-hu\",";next}
if (/-applix-axco/) {print $1"\"-adobe-courier-"$4"-"$5"-"$6"-"$7"-"$8"-"$9"-*-*-m-"$13"-misc-hu\",";next}
if (/-applix-axymb/) {print $1"\"-adobe-symbol-"$4"-"$5"-"$6"-"$7"-"$8"-"$9"-*-*-p-"$13"-adobe-fontspecific\",";next}
if (/-applix-axbk/) {print $1"\"-adobe-itc bookman-"$4"-"$5"-"$6"-"$7"-"$8"-"$9"-*-*-p-"$13"-misc-hu\",";next}
if (/-applix-axnc/) {print $1"\"-adobe-new century schoolbook-"$4"-"$5"-"$6"-"$7"-"$8"-"$9"-*-*-p-"$13"-misc-hu\",";next}
if (/-applix-axpl/) {print $1"\"-adobe-palatino-"$4"-"$5"-"$6"-"$7"-"$8"-"$9"-*-*-p-"$13"-misc-hu\",";next}
if (/-applix-axav.-medium/) {print $1"\"-adobe-itc avant garde gothic-book-"$5"-"$6"-"$7"-"$8"-"$9"-*-*-p-"$13"-misc-hu\",";next}
if (/-applix-axav.-demi/) {print $1"\"-adobe-itc avant garde gothic-demi-"$5"-"$6"-"$7"-"$8"-"$9"-*-*-p-"$13"-misc-hu\",";next}
if (/-applix-axhn/) {print $1"\"-adobe-helvetica narrow-"$4"-"$5"-"$6"-"$7"-"$8"-"$9"-*-*-p-"$13"-misc-hu\",";next}
if (/-applix-axzpc/) {print $1"\"-adobe-itc zapf chancery-"$4"-i-"$6"-"$7"-"$8"-"$9"-*-*-p-"$13"-misc-hu\",";next}
if (/-applix-axzpd/) {print $1"\"-adobe-itc zapf dingbats-"$4"-"$5"-"$6"-"$7"-"$8"-"$9"-*-*-p-"$13"-adobe-fontspecific\",";next}
if (/LargeXAlternate/ && /Dutch/) {print "    LargeXAlternate= \"Times\"";next}
if (/LargeXAlternate/ && /Swiss/) {print "    LargeXAlternate= \"Helvetica\"";next}
print $0}' < $APPLIXCONFIG.$ORIGSUFFIX > $APPLIXCONFIG
		rm -f $APPLIXCONFIG.$WORKSUFFIX
	fi
fi
