#!/bin/sh
#
# ARG[] tells us files to work on
#
# This translates HTML 4.01 defined character entities to their UNICODE
# equivalents so that e.g. Netscape 4.* can show them.
#
while [ -n "$1" -a -f "$1" ]
do
x="$1"
shift || break
echo -n "$x "
# cat $x | \
# sed -e 's/…/\…/g' \
# -e 's/ƒ/\ƒ/g' \
# -e 's/Α/\Α/g' \
# -e 's/Β/\Β/g' \
# -e 's/Γ/\Γ/g' \
# -e 's/Δ/\Δ/g' \
# -e 's/Ε/\Ε/g' \
# -e 's/Ζ/\Ζ/g' \
# -e 's/Η/\Η/g' \
# -e 's/Θ/\Θ/g' \
# -e 's/Ι/\Ι/g' \
# -e 's/Κ/\Κ/g' \
# -e 's/Λ/\Λ/g' \
# -e 's/Μ/\Μ/g' \
# -e 's/Ν/\Ν/g' \
# -e 's/Ξ/\Ξ/g' \
# -e 's/Ο/\Ο/g' \
# -e 's/Π/\Π/g' \
# -e 's/Ρ/\Ρ/g' \
# -e 's/Σ/\Σ/g' \
# -e 's/Τ/\Τ/g' \
# -e 's/Υ/\Υ/g' \
# -e 's/Φ/\Φ/g' \
# -e 's/Χ/\Χ/g' \
# -e 's/Ψ/\Ψ/g' \
# -e 's/Ω/\Ω/g' \
# -e 's/α/\α/g' \
# -e 's/β/\β/g' \
# -e 's/γ/\γ/g' \
# -e 's/δ/\δ/g' \
# -e 's/ε/\ε/g' \
# -e 's/ζ/\ζ/g' \
# -e 's/η/\η/g' \
# -e 's/θ/\θ/g' \
# -e 's/ι/\ι/g' \
# -e 's/κ/\κ/g' \
# -e 's/λ/\λ/g' \
# -e 's/μ/\μ/g' \
# -e 's/ν/\ν/g' \
# -e 's/ξ/\ξ/g' \
# -e 's/ο/\ο/g' \
# -e 's/π/\π/g' \
# -e 's/ρ/\ρ/g' \
# -e 's/ς/\ς/g' \
# -e 's/σ/\σ/g' \
# -e 's/τ/\τ/g' \
# -e 's/υ/\υ/g' \
# -e 's/φ/\φ/g' \
# -e 's/χ/\χ/g' \
# -e 's/ψ/\ψ/g' \
# -e 's/ω/\ω/g' \
# -e 's/ϑ/\ϑ/g' \
# -e 's/ϒ/\ϒ/g' \
# -e 's/ϖ/\ϖ/g' \
# -e 's/•/\•/g' \
# -e 's/′/\′/g' \
# -e 's/″/\″/g' \
# -e 's/‾/\‾/g' \
# -e 's/⁄/\⁄/g' \
# -e 's/℘/\℘/g' \
# -e 's/ℑ/\ℑ/g' \
# -e 's/ℜ/\ℜ/g' \
# -e 's/™/\™/g' \
# -e 's/ℵ/\ℵ/g' \
# -e 's/←/\←/g' \
# -e 's/↑/\↑/g' \
# -e 's/→/\→/g' \
# -e 's/↓/\↓/g' \
# -e 's/↔/\↔/g' \
# -e 's/↵/\↵/g' \
# -e 's/⇐/\⇐/g' \
# -e 's/⇑/\⇑/g' \
# -e 's/⇒/\⇒/g' \
# -e 's/⇓/\⇓/g' \
# -e 's/⇔/\⇔/g' \
# -e 's/∀/\∀/g' \
# -e 's/∂/\∂/g' \
# -e 's/∃/\∃/g' \
# -e 's/∅/\∅/g' \
# -e 's/∇/\∇/g' \
# -e 's/∈/\∈/g' \
# -e 's/∉/\∉/g' \
# -e 's/∋/\∋/g' \
# -e 's/∏/\∏/g' \
# -e 's/∑/\∑/g' \
# -e 's/−/\−/g' \
# -e 's/∗/\∗/g' \
# -e 's/√/\√/g' \
# -e 's/∝/\∝/g' \
# -e 's/∞/\∞/g' \
# -e 's/∠/\∠/g' \
# -e 's/∧/\∧/g' \
# -e 's/∨/\∨/g' \
# -e 's/∩/\∩/g' \
# -e 's/∪/\∪/g' \
# -e 's/∫/\∫/g' \
# -e 's/∴/\∴/g' \
# -e 's/∼/\∼/g' \
# -e 's/≅/\≅/g' \
# -e 's/≈/\≈/g' \
# -e 's/≠/\≠/g' \
# -e 's/≡/\≡/g' \
# -e 's/≤/\≤/g' \
# -e 's/≥/\≥/g' \
# -e 's/⊂/\⊂/g' \
# -e 's/⊃/\⊃/g' \
# -e 's/⊄/\⊄/g' \
# -e 's/⊆/\⊆/g' \
# -e 's/⊇/\⊇/g' \
# -e 's/⊕/\⊕/g' \
# -e 's/⊗/\⊗/g' \
# -e 's/⊥/\⊥/g' \
# -e 's/⋅/\⋅/g' \
# -e 's/⌈/\⌈/g' \
# -e 's/⌉/\⌉/g' \
# -e 's/⌊/\⌊/g' \
# -e 's/⌋/\⌋/g' \
# -e 's/⟨/\〈/g' \
# -e 's/⟩/\〉/g' \
# -e 's/◊/\◊/g' \
# -e 's/♠/\♠/g' \
# -e 's/♣/\♣/g' \
# -e 's/♥/\♥/g' \
# -e 's/♦/\♦/g' \
# -e 's/Œ/\Œ/g' \
# -e 's/œ/\œ/g' \
# -e 's/Š/\Š/g' \
# -e 's/š/\š/g' \
# -e 's/Ÿ/\Ÿ/g' \
# -e 's/ˆ/\ˆ/g' \
# -e 's/˜/\˜/g' \
# -e 's/ /\ /g' \
# -e 's/ /\ /g' \
# -e 's/ /\ /g' \
# -e 's/‌/\‌/g' \
# -e 's/‍/\‍/g' \
# -e 's/‎/\‎/g' \
# -e 's/‏/\‏/g' \
# -e 's/–/\–/g' \
# -e 's/—/\—/g' \
# -e 's/‘/\‘/g' \
# -e 's/’/\’/g' \
# -e 's/‚/\‚/g' \
# -e 's/“/\“/g' \
# -e 's/”/\”/g' \
# -e 's/„/\„/g' \
# -e 's/†/\†/g' \
# -e 's/‡/\‡/g' \
# -e 's/‰/\‰/g' \
# -e 's/‹/\‹/g' \
# -e 's/›/\›/g' \
# -e 's/€/\€/g' \
# -e 's/ⅆ/--/g' \
# -e 's/&ddash;/--/g' \
# -e 's/&PGBREAK;//g' \
# -e 's/&pgbreak;//g' \
# | \
#
cat $x | \
sed -e 's/€/\€/g' \
-e 's/ⅆ/--/g' \
-e 's/&ddash;/--/g' \
-e 's/&PGBREAK;//g' \
-e 's/&pgbreak;//g' \
| \
tidy -i -u -n -q | \
perl -ne 's/<LINK rel="STYLESHEET" type="text\/css" href="zmanual.css">/<!--#include file="zmanual.css" -->/o;
s/("[^.]*)\.html#/$1.shtml#/go;
s/("[^.]*)\.html"/$1.shtml"/go;
print;' \
\
> $x.new
# mv $x $x.old
rm -f $x
y=`basename $x .html`.shtml
mv $x.new $y
done
echo
# -e 's/–/\–/g' \
# -e 's/—/\—/g' \
# -e 's/–/-/g' \
# -e 's/—/--/g' \
syntax highlighted by Code2HTML, v. 0.9.1