1#!/bin/sh
2
3catfontsdir ()
4{
5    while read _IN
6    do
7      case "${_IN}" in
8      *-ipa-IPAex*|*-ipa-ex*|[0-9]*|"") ;;
9      *)       echo ${_IN} ;;
10      esac
11    done
12}
13
14ROMA=""
15BOLD="ds=y"
16ITAL="ai=0.15"
17OBLI="ai=0.15"
18RITA="ai=0.08"
19ROBL="ai=0.08"
20
21make_xlfd()
22{
23	_enc=$1
24	_file=$2
25	_vendor=$3
26	_fname=$4
27	_poc=$5
28
29	case "${_poc}:${_enc}" in
30	p:jisx0201.1976-*)	PFIX="bw=0.5" ;;
31	c:jisx0201.1976-*)	PFIX="bw=0.5" ;;
32	p:*)			PFIX="" ;;
33	c:*)			PFIX="" ;;
34	esac
35
36	set --	"${ROMA}"	medium-r \
37		${BOLD}		bold-r \
38		${ITAL}		medium-i \
39		${ITAL}:${BOLD} bold-i \
40		${OBLI}		medium-o \
41		${OBLI}:${BOLD}	bold-o \
42		${RITA}		medium-ri \
43		${RITA}:${BOLD}	bold-ri \
44		${ROBL}		medium-ro \
45		${ROBL}:${BOLD}	bold-ro
46	while [ $# != 0 ]; do
47		_prefix="${PFIX}:$1"; shift
48		_variant=$1; shift
49		printf "%s:%s -%s-%s-%s-normal--0-0-0-0-%s-0-%s\n" \
50			$_prefix $_file $_vendor $_fname $_variant $_poc $_enc
51	done | sed -e 's,::,:,g' -e 's,^:,,'
52}
53
54addentries ()
55{
56	for ENC in iso8859-1 iso10646-1 jisx0201.1976-0 jisx0208.1983-0 jisx0208.1990-0 jisx0208.1997-0 jisx0213.2004-1
57	do
58		make_xlfd $ENC ipaexg.otf ipa IPAexGothic c
59		make_xlfd $ENC ipaexg.otf ipa IPAexGothic p
60		make_xlfd $ENC ipaexg.otf ipa exgothic c
61		make_xlfd $ENC ipaexg.otf ipa exgothic p
62		make_xlfd $ENC ipaexm.otf ipa IPAexMincho c
63		make_xlfd $ENC ipaexm.otf ipa IPAexMincho p
64		make_xlfd $ENC ipaexm.otf ipa exmincho c
65		make_xlfd $ENC ipaexm.otf ipa exmincho p
66	done
67}
68
69nfonts ()
70{
71    _L=0; while read _IN; do _L=$((${_L}+1)); done; echo ${_L}
72}
73
74case "$2" in
75POST-INSTALL)
76	cd %%FONTSDIR%%
77	touch fonts.dir
78	(catfontsdir < fonts.dir; addentries) > fonts.dir.tmp
79	nfonts < fonts.dir.tmp > fonts.dir
80	cat fonts.dir.tmp >> fonts.dir
81	rm -f fonts.dir.tmp
82	;;
83POST-DEINSTALL)
84	cd %%FONTSDIR%%
85	catfontsdir < fonts.dir > fonts.dir.tmp
86	nfonts < fonts.dir.tmp > fonts.dir
87	cat fonts.dir.tmp >> fonts.dir
88	rm -f fonts.dir.tmp
89	if [ -r fonts.dir -a `wc -l < fonts.dir` = 1 ]; then
90		rm -f fonts.dir
91	fi
92	;;
93esac
94