#!/bin/sh
# $FreeBSD: ports/japanese/font-migmix/files/pkg-install.in,v 1.3 2012/02/16 01:57:14 hrs Exp $

X_FONTSDIR=/usr/local/lib/X11/fonts/TTF

catfontsdir ()
{
    while read _IN
    do
      case "${_IN}" in
      *-ipa-migmix*|[0-9]*|"") ;;
      *)       echo ${_IN} ;;
      esac
    done
}

ROMA=""
BOLD="ds=y"
ITAL="ai=0.15"
OBLI="ai=0.15"
RITA="ai=0.08"
ROBL="ai=0.08"

make_xlfd()
{
	_enc=$1
	_file=$2
	_vendor=$3
	_fname=$4
	_poc=$5
	_weight=$6

	case "${_poc}:${_enc}" in
	p:jisx0201.1976-*)	PFIX="bw=0.5" ;;
	c:jisx0201.1976-*)	PFIX="bw=0.5" ;;
	p:*)			PFIX="" ;;
	c:*)			PFIX="" ;;
	esac

	case $_weight in
	bold)
	set --	""	bold-r \
		${ITAL} bold-i \
		${OBLI}	bold-o \
		${RITA}	bold-ri \
		${ROBL}	bold-ro
	while [ $# != 0 ]; do
		_prefix="${PFIX}:$1"; shift
		_variant=$1; shift
		printf "%s:%s -%s-%s-%s-normal--0-0-0-0-%s-0-%s\n" \
			$_prefix $_file $_vendor "$_fname" $_variant $_poc $_enc
	done | sed -e 's,::,:,g' -e 's,^:,,'
	;;
	medium)
	set --	""	medium-r \
		${ITAL}	medium-i \
		${OBLI}	medium-o \
		${RITA}	medium-ri \
		${ROBL}	medium-ro
	while [ $# != 0 ]; do
		_prefix="${PFIX}:$1"; shift
		_variant=$1; shift
		printf "%s:%s -%s-%s-%s-normal--0-0-0-0-%s-0-%s\n" \
			$_prefix $_file $_vendor "$_fname" $_variant $_poc $_enc
	done | sed -e 's,::,:,g' -e 's,^:,,'
	;;
	esac
}

addentries ()
{
	for ENC in iso8859-1 iso10646-1 jisx0201.1976-0 jisx0208.1983-0 jisx0208.1990-0
	do
		make_xlfd $ENC migmix-1m-bold.ttf ipa "migmix 1m" c bold
		make_xlfd $ENC migmix-1m-regular.ttf ipa "migmix 1m" c medium
		make_xlfd $ENC migmix-1p-bold.ttf ipa "migmix 1p" p bold
		make_xlfd $ENC migmix-1p-regular.ttf ipa "migmix 1p" p medium
		make_xlfd $ENC migmix-2m-bold.ttf ipa "migmix 2m" c bold
		make_xlfd $ENC migmix-2m-regular.ttf ipa "migmix 2m" c medium
		make_xlfd $ENC migmix-2p-bold.ttf ipa "migmix 2p" p bold
		make_xlfd $ENC migmix-2p-regular.ttf ipa "migmix 2p" p medium
	done
}

nfonts ()
{
    _L=0; while read _IN; do _L=$((${_L}+1)); done; echo ${_L}
}

case "$2" in
POST-INSTALL)
	cd ${X_FONTSDIR}
	touch fonts.dir
	(catfontsdir < fonts.dir; addentries) > fonts.dir.tmp
	nfonts < fonts.dir.tmp > fonts.dir
	cat fonts.dir.tmp >> fonts.dir
	rm -f fonts.dir.tmp
	;;
POST-DEINSTALL)
	cd ${X_FONTSDIR}
	catfontsdir < fonts.dir > fonts.dir.tmp
	nfonts < fonts.dir.tmp > fonts.dir
	cat fonts.dir.tmp >> fonts.dir
	rm -f fonts.dir.tmp
	if [ -r fonts.dir -a `wc -l < fonts.dir` = 1 ]; then
		rm -f fonts.dir
	fi
	rmdir ${X_FONTSDIR} > /dev/null 2>&1 || true
	;;
esac
