#!/bin/bash
#  Output shrinked fonts from specified arguments
#  Copyright (C) 2005-2006 Kenshi Muto <kmuto@debian.org>
#
# makettf <LANG> <BASE FONT>

PO2UL=./po2ul.rb
STRIPTTF=./stripttf
EXPORTDIR=fonts
POBASE=po-files
SPECIAL=chars
TMPDIR=tmp

lang=$1
basefont=$2

if [ -z "$basefont" ]; then
  echo "Usage: makettf <LANG> <BASE FONT> [BITMAP 1:MAKE BITMAP]"
  exit 1
fi

rm -f $TMPDIR/$lang
touch $TMPDIR/$lang
if [ -f $SPECIAL/common ]; then
  cat $SPECIAL/common | ruby1.8 -e "require 'iconv'; puts (Iconv.conv(\"UCS-4BE\", \"UTF-8\", STDIN.read).unpack(\"N*\")).uniq.sort" >> $TMPDIR/$lang
fi
if [ -f $SPECIAL/common-$lang ]; then
  cat $SPECIAL/common-$lang | ruby1.8 -e "require 'iconv'; puts (Iconv.conv(\"UCS-4BE\", \"UTF-8\", STDIN.read).unpack(\"N*\")).uniq.sort" >> $TMPDIR/$lang
fi

for po in $(find $POBASE -name "*$lang*.po"); do
  msgfmt $po -o - | msgunfmt | $PO2UL >> $TMPDIR/$lang
done

if [ "$3" = "1" ]; then
  echo "embedded bitmap: enable"
  $STRIPTTF-with-bitmap.ff $basefont $EXPORTDIR/$lang.ttf $(sort -n $TMPDIR/$lang | uniq)
else
  echo "embedded bitmap: disable"
  $STRIPTTF.ff $basefont $EXPORTDIR/$lang.ttf $(sort -n $TMPDIR/$lang | uniq)
fi
