124 lines
3.6 KiB
Bash
124 lines
3.6 KiB
Bash
#!/bin/sh
|
|
# $FreeBSD$
|
|
|
|
catfontsdir()
|
|
{
|
|
while read _IN
|
|
do
|
|
case "${_IN}" in
|
|
*"-adobe-gen shin gothic"*|[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
|
|
|
|
set -- "" ${_weight}-r \
|
|
${ITAL} ${_weight}-i \
|
|
${OBLI} ${_weight}-o \
|
|
${RITA} ${_weight}-ri \
|
|
${ROBL} ${_weight}-ro
|
|
while [ $# != 0 ]; do
|
|
_prefix="${PFIX}:$1"; shift
|
|
_variant=$1; shift
|
|
[ ${index_type} = "scale" -a ${_prefix} != ":" ] && continue
|
|
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 jisx0208.1997-0 jisx0213.2004-1
|
|
do
|
|
make_xlfd ${ENC} GenShinGothic-ExtraLight.ttf adobe "gen shin gothic" p thin
|
|
make_xlfd ${ENC} GenShinGothic-Light.ttf adobe "gen shin gothic" p extralight
|
|
make_xlfd ${ENC} GenShinGothic-Normal.ttf adobe "gen shin gothic" p light
|
|
make_xlfd ${ENC} GenShinGothic-Regular.ttf adobe "gen shin gothic" p book
|
|
make_xlfd ${ENC} GenShinGothic-Medium.ttf adobe "gen shin gothic" p medium
|
|
make_xlfd ${ENC} GenShinGothic-Bold.ttf adobe "gen shin gothic" p bold
|
|
make_xlfd ${ENC} GenShinGothic-Heavy.ttf adobe "gen shin gothic" p black
|
|
|
|
make_xlfd ${ENC} GenShinGothic-P-ExtraLight.ttf adobe "gen shin gothic p" p thin
|
|
make_xlfd ${ENC} GenShinGothic-P-Light.ttf adobe "gen shin gothic p" p extralight
|
|
make_xlfd ${ENC} GenShinGothic-P-Normal.ttf adobe "gen shin gothic p" p light
|
|
make_xlfd ${ENC} GenShinGothic-P-Regular.ttf adobe "gen shin gothic p" p book
|
|
make_xlfd ${ENC} GenShinGothic-P-Medium.ttf adobe "gen shin gothic p" p medium
|
|
make_xlfd ${ENC} GenShinGothic-P-Bold.ttf adobe "gen shin gothic p" p bold
|
|
make_xlfd ${ENC} GenShinGothic-P-Heavy.ttf adobe "gen shin gothic p" p black
|
|
|
|
make_xlfd ${ENC} GenShinGothic-Monospace-ExtraLight.ttf adobe "gen shin gothic monospace" c thin
|
|
make_xlfd ${ENC} GenShinGothic-Monospace-Light.ttf adobe "gen shin gothic monospace" c extralight
|
|
make_xlfd ${ENC} GenShinGothic-Monospace-Normal.ttf adobe "gen shin gothic monospace" c light
|
|
make_xlfd ${ENC} GenShinGothic-Monospace-Regular.ttf adobe "gen shin gothic monospace" c book
|
|
make_xlfd ${ENC} GenShinGothic-Monospace-Medium.ttf adobe "gen shin gothic monospace" c medium
|
|
make_xlfd ${ENC} GenShinGothic-Monospace-Bold.ttf adobe "gen shin gothic monospace" c bold
|
|
make_xlfd ${ENC} GenShinGothic-Monospace-Heavy.ttf adobe "gen shin gothic monospace" c black
|
|
done
|
|
}
|
|
|
|
nfonts()
|
|
{
|
|
_L=0; while read _IN; do _L=$((${_L}+1)); done; echo ${_L}
|
|
}
|
|
|
|
install_fontsdir()
|
|
{
|
|
index_type=${1:-"dir"}
|
|
index="fonts.${index_type}"
|
|
tmpfile="${index}.tmp"
|
|
touch ${index}
|
|
(catfontsdir < ${index}; addentries ${index_type}) > ${tmpfile}
|
|
nfonts < ${tmpfile} > ${index}
|
|
cat ${tmpfile} >> ${index}
|
|
rm -f ${tmpfile}
|
|
}
|
|
|
|
deinstall_fontsdir()
|
|
{
|
|
index_type=${1:-"dir"}
|
|
index="fonts.${index_type}"
|
|
tmpfile="${index}.tmp"
|
|
catfontsdir < ${index} > ${tmpfile}
|
|
nfonts < ${tmpfile} > ${index}
|
|
cat ${tmpfile} >> ${index}
|
|
rm -f ${tmpfile}
|
|
if [ -r ${index} -a $(wc -l < ${index}) = 1 ]; then
|
|
rm -f ${index}
|
|
fi
|
|
}
|
|
|
|
case "$2" in
|
|
POST-INSTALL)
|
|
cd %%FONTSDIR%%
|
|
install_fontsdir dir
|
|
install_fontsdir scale
|
|
;;
|
|
POST-DEINSTALL)
|
|
cd %%FONTSDIR%%
|
|
deinstall_fontsdir dir
|
|
deinstall_fontsdir scale
|
|
;;
|
|
esac
|