95 lines
2 KiB
Bash
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
|