#!/bin/sh
# Gjer om Norsk ordbog (1873-ordbok.doc) til eit enkelt koda tekstformat.

# Nokre mellombelse filer til mellomlagring av
# dokumentet på ulike stadium.
# (Mac krev visstnok «-t»-argumentet.)
tmp1=$(mktemp -t tmp.XXXXXXXXXX)
tmp2=$(mktemp -t tmp.XXXXXXXXXX)
tmp3=$(mktemp -t tmp.XXXXXXXXXX)
tmp4=$(mktemp -t tmp.XXXXXXXXXX)

# Plukk ut sjølve ordlista:
sed -n '/<B>A<\/B>/,/ørvita/p' 1873-ordbok.html > $tmp1

# Fjern FONT-taggar, og legg til ekstra mellorom
# på slutten av kvar linje (elles vil Tidy av og
# til ikkje handtera linjeskift som mellomrom).
sed -e 's/<\/\?FONT[^>]*>//g' \
    -e 's/$/ /g' $tmp1 > $tmp2

# Kjør HTML Tidy for å rydda opp i HTML-koden,
# og få kvar oppføring på éi linja. Kan ta
# litt tid (rundt fem minutt på mi maskin).
tidy -quiet -raw -asxhtml -wrap 0 --doctype strict --show-body-only yes -output $tmp3 $tmp2

# Kod halvfeit tekst @slik@.
# Kod kursiv tekst |slik|.
# Fjern alle andre HTML-taggar.
# Fjern halvfeite og kursive tekstbitar som berre består av mellomrom.
# Fjern halvfeite og kursive tekstbitar som er tomme.
# Fjern kapitteloverskrifter (lause bokstavar).
# Fjern andre kapitteloverskrifter og kjeldereferansar.
# Fjern tomme linjer.
sed -e 's/<b>\([^<]*\)<\/b>/@\1@/g' \
    -e 's/<i>\([^<]*\)<\/i>/|\1|/g' \
    -e 's/<[^>]*>//g' \
    -e 's/@ @/ /g' \
    -e 's/| |/ /g' \
    -e 's/@@//g' \
    -e 's/||//g' \
    -e 's/^@\w\.\?@\.\?$//g' \
    -e '/^\(@Tillæg\|@Enkelte\|Kilder:\|Andre\)/d' \
    -e '/^$/d' $tmp3 > $tmp4

# Gjer om frittståande bindestrekar til tankestrekar,
# og legg til hardt mellomrom før alle tankestrekar.
# Gjer eit merkelig (feilkoda) teikn om til eit ekte
# kvadratteikn, som brukt i dei trykte utgåvene.
sed -e 's/ \([-–]\) / – /g' \
    -e 's/  \?/ □ /g' $tmp4 > norsk-ordbog.dat

# Fjern dei mellombelse filene.
rm -f $tmp1 $tmp2 $tmp3 $tmp4
