freebsd-ports/japanese/font-mplus-ipa/files/pkg-install.in
2009-06-03 07:27:24 +00:00

95 lines
2 KiB
Bash

#!/bin/sh
# $FreeBSD$
X_FONTSDIR=%%X_FONTSDIR%%/TTF
catfontsdir ()
{
while read _IN
do
case "${_IN}" in
*-ipa-M*|[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
case "${_poc}:${_enc}" in
p:jisx0201.1976-*) PFIX="bw=0.5" ;;
c:jisx0201.1976-*) PFIX="bw=0.5" ;;
p:*) PFIX="" ;;
c:*) PFIX="" ;;
esac
set -- "${ROMA}" medium-r \
${BOLD} bold-r \
${ITAL} medium-i \
${ITAL}:${BOLD} bold-i \
${OBLI} medium-o \
${OBLI}:${BOLD} bold-o \
${RITA} medium-ri \
${RITA}:${BOLD} bold-ri \
${ROBL} medium-ro \
${ROBL}:${BOLD} 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,^:,,'
}
addentries ()
{
for ENC in iso8859-1 iso10646-1 jisx0201.1976-0 jisx0208.1983-0 jisx0208.1990-0
do
make_xlfd $ENC M+2VM+IPAG-circle.ttf ipa M+2VM+IPAG_circle c
make_xlfd $ENC M+1VM+IPAG-circle.ttf ipa M+1VM+IPAG_circle c
make_xlfd $ENC M+1P+IPAG.ttf ipa M+1P+IPAG p
make_xlfd $ENC M+1P+IPAG-circle.ttf ipa M+1P+IPAG_circle p
make_xlfd $ENC M+2P+IPAG.ttf ipa M+2P+IPAG p
make_xlfd $ENC M+2P+IPAG-circle.ttf ipa M+2P+IPAG_circle p
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