#!/bin/bash -x
djvulibredir=..
tmpdir=./tmp$$
book=djvulibre-book-en.djvu
mkdir $tmpdir
trap "rm -rf $tmpdir" 0
## collect man pages
nnn=1
addpage()
{
nn=$(printf "%03d" $nnn)
man -t $1 > $tmpdir/$nn-$1.ps
nnn=$(($nnn + 1))
}
## add man pages
addpage djvu
addpage djview
addpage nsdejavu
for f in $djvulibredir/tools/*.1
do
b=$(basename $f .1)
[ $b == djvu ] || addpage $b
done
addpage djvutoxml
addpage djvuxml
## call djvudigital
cat $tmpdir/0*.ps > $tmpdir/book.ps
djvudigital --dpi=400 --words $tmpdir/book.ps $book
## prepare outline
echo "(bookmarks" > $tmpdir/outline.txt
p=1
for f in $tmpdir/0*.ps
do
b=$(basename $f .ps | sed -e 's/^[-0-9]*//')
c=$(grep '^%%Page:' $f | wc -l)
echo ' ("'"$b"'" "#'"$p"'")' >> $tmpdir/outline.txt
p=$(($p + $c))
done
echo ")" >> $tmpdir/outline.txt
## plug outline
djvused $book -e "set-outline $tmpdir/outline.txt" -s