#!/bin/sh
# dictionary update script for cmigemo
#
set -e

# check scripts
SKK2MIGEMO_PL=/usr/share/cmigemo/tools/skk2migemo.pl
[ -x "$SKK2MIGEMO_PL" ] || exit 1
OPTIMIZE_DICT_PL=/usr/share/cmigemo/tools/optimize-dict.pl
[ -x "$OPTIMIZE_DICT_PL" ] || exit 1
ICONV=/usr/bin/iconv
[ -x "$ICONV" ] || exit 1

# check source file
if [ x"$1" = x"" ]; then
   SKKDIC_SRC=/usr/share/skk/SKK-JISYO.L
else
   [ -f "$1" ] && SKKDIC_SRC=$1
fi
[ -z "$SKKDIC_SRC" ] && exit 1

TMPDIR=$(mktemp -d)
trap 'rm -rf "$TMPDIR"' EXIT INT HUP TERM

UTF8_DICT="$TMPDIR/migemo-dict"

_make_base () {
  "$ICONV" -f EUC-JISX0213 -t UTF-8 "$SKKDIC_SRC" \
    | "$SKK2MIGEMO_PL" \
    | "$OPTIMIZE_DICT_PL" \
    > "$UTF8_DICT"
}

_make_cp932 () {
  echo -n "create cp932 dictionary ..."
  "$ICONV" -cs -f UTF-8 -t CP932 "$UTF8_DICT" \
    > /usr/share/cmigemo/cp932/migemo-dict
  echo "done"
}
_make_eucjp () {
  echo -n "create euc-jp dictionary ..."
  "$ICONV" -f UTF-8 -t EUC-JISX0213 "$UTF8_DICT" \
    > /usr/share/cmigemo/euc-jp/migemo-dict
  echo "done"
}
_make_utf8 () {
  echo -n "create utf-8 dictionary ..."
  cp "$UTF8_DICT" /usr/share/cmigemo/utf-8/migemo-dict
  echo "done"
}

# create dictinaries...
_make_base
_make_cp932
_make_eucjp
_make_utf8

exit 0
