#!/bin/sh

if test '!' -r ../otf/TsukurimashouKaku.otf
then
  exit 77
fi
if test '!' -r ../genjimon/GenjimonMedium.ttf
then
  exit 77
fi

tsuku=../otf/TsukurimashouKaku.otf
genji=../genjimon/GenjimonMedium.ttf

./idsgrep -f $tsuku \
  '&#1|一|七|三|上|下|中|九|二|五|人|休|先|入|八|六|円|出|力|十|千|口|右|名|四|土|夕|大|天|女|子|字|学|小|山|川|左|年|手|文|日|早|月|木|本|村|林|校|森|正|気|水|火|犬|玉|王|生|田|男|町|白|百|目|石|空|立|竹|糸|耳|花|草|虫|見|貝|赤|足|車|金|雨|青音' \
  tsukurimashou.eids > upd-out.$$
./idsgrep -f $genji \
  '&#1|一|七|三|上|下|中|九|二|五|人|休|先|入|八|六|円|出|力|十|千|口|右|名|四|土|夕|大|天|女|子|字|学|小|山|川|左|年|手|文|日|早|月|木|本|村|林|校|森|正|気|水|火|犬|玉|王|生|田|男|町|白|百|目|石|空|立|竹|糸|耳|花|草|虫|見|貝|赤|足|車|金|雨|青音' \
  tsukurimashou.eids >> upd-out.$$
echo '萌;' | ./idsgrep '|#1|#;|#[lr]??#<-1>;' >> upd-out.$$
size=`wc -c < $genji`
while [[ $size > 0 ]] ; do \
  dd if=$genji of=upd-gf$$.ttf bs=1 count=$size > /dev/null 2> /dev/null ; \
  echo '萌;' | ./idsgrep -f upd-gf$$.ttf '#1' >> upd-out.$$ 2> /dev/null ; \
  dd if=/dev/zero bs=1024 count=10 >> upd-gf$$.ttf 2> /dev/null ;
  echo '萌;' | ./idsgrep -f upd-gf$$.ttf '#1' >> upd-out.$$ 2> /dev/null ; \
  dd if=$genji of=upd-gf$$.ttf bs=1 conv=swab count=$size \
    > /dev/null 2> /dev/null ; \
  echo '萌;' | ./idsgrep -f upd-gf$$.ttf '#1' >> upd-out.$$ 2> /dev/null ; \
  dd if=/dev/zero bs=1024 count=10 >> upd-gf$$.ttf 2> /dev/null ;
  echo '萌;' | ./idsgrep -f upd-gf$$.ttf '#1' >> upd-out.$$ 2> /dev/null ; \
  size=$(($size-101)); done
echo 'x' | idsgrep \
  -f /dev/null -f /dev/null -f /dev/null -f /dev/null -f /dev/null \
  -f /dev/null -f /dev/null -f /dev/null -f /dev/null -f /dev/null \
  -f /dev/null -f /dev/null -f /dev/null -f /dev/null -f /dev/null \
  -f /dev/null -f /dev/null -f /dev/null -f /dev/null -f /dev/null \
  -f /dev/null -f /dev/null -f /dev/null -f /dev/null -f /dev/null \
  -f /dev/null -f /dev/null -f /dev/null -f /dev/null -f /dev/null \
  -f /dev/null -f /dev/null -f /dev/null -f /dev/null -f /dev/null \
  -f /dev/null -f /dev/null -f /dev/null -f /dev/null -f /dev/null \
  -f /dev/null -f /dev/null -f /dev/null -f /dev/null -f /dev/null \
  -f /dev/null -f /dev/null -f /dev/null -f /dev/null -f /dev/null \
  -f /dev/null -f /dev/null -f /dev/null -f /dev/null -f /dev/null \
  -f /dev/null -f /dev/null -f /dev/null -f /dev/null -f /dev/null \
  -f /dev/null -f /dev/null -f /dev/null -f /dev/null -f /dev/null \
  -f /dev/null -f /dev/null -f /dev/null -f /dev/null -f /dev/null \
  'y' 2> /dev/null
wc -l < upd-out.$$ > upd-outb.$$
if echo 160 | diff upd-outb.$$ -
then
  rm -f upd-out.$$ upd-outb.$$ upd-gf$$.ttf
  exit 0
else
  rm -f upd-out.$$ upd-outb.$$ upd-gf$$.ttf
  exit 1
fi
