#!/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/…/\&#8230/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/&ndash;/\&#8211;/g'	\
#	-e 's/&mdash;/\&#8212;/g'	\
#	-e 's/&ndash;/-/g'	\
#	-e 's/&mdash;/--/g'	\


syntax highlighted by Code2HTML, v. 0.9.1