1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-20 00:21:35 +00:00

Generate better fonts.dir for Japanese.

This commit is contained in:
Hajimu UMEMOTO 2016-07-21 14:04:32 +00:00
parent ed79565f1b
commit e361873d0f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=418874
2 changed files with 110 additions and 2 deletions

View File

@ -2,7 +2,7 @@
PORTNAME= nasu
PORTVERSION= 20141215
#PORTREVISION= 0
PORTREVISION= 1
CATEGORIES= japanese x11-fonts
MASTER_SITES= SOURCEFORGE_JP
MASTER_SITE_SUBDIR=users/7/7587
@ -14,10 +14,13 @@ COMMENT= Nasu Japanese TrueType fonts
LICENSE= APACHE20
USES= fonts zip
USES= fonts:fc zip
FONTNAME= nasu
NO_ARCH= yes
NO_BUILD= yes
PKGINSTALL= ${WRKDIR}/pkg-install
PKGDEINSTALL= ${WRKDIR}/pkg-install
SUB_FILES= pkg-install
WRKSRC= ${WRKDIR}/${DISTNAME:C/-//}
PORTDOCS= *

View File

@ -0,0 +1,105 @@
#!/bin/sh
# $FreeBSD$
catfontsdir()
{
while read _IN
do
case "${_IN}" in
*-adobe-nasu-*|*-adobe-nasum-*|[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 Nasu-Regular-20141215.ttf adobe "nasu" p medium
make_xlfd $ENC Nasu-Bold-20141215.ttf adobe "nasu" p bold
make_xlfd $ENC NasuM-Regular-20141215.ttf adobe "nasum" c medium
make_xlfd $ENC NasuM-Bold-20141215.ttf adobe "nasum" c bold
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