#!/bin/bash # htmlize: add or remove sgml entities for nonstandard ascii chars # changes them to or from ISO 8859-1 # 960506 Erik TKS # htmlize: create code for html-characters function htmlizef { 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/±/\&plusm;/g' -e 's/º/\º/g' \ -e 's/ª/\ª/g' \ -e 's/ //g' } # dehtmlize: create code for html-characters function dehtmlizef { 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/\&plusm;/±/g' -e 's/\º/º/g' \ -e 's/\ª/ª/g' -e 's/\&/\&/g' \ -e 's/\à/à/g' -e 's/\À/À/g' \ -e 's/\á/á/g' -e 's/\Á/Á/g' \ -e 's/\â/â/g' -e 's/\Â/Â/g' \ -e 's/\ã/ã/g' -e 's/\Ã/Ã/g' \ -e 's/\ä/ä/g' -e 's/\Ä/Ä/g' \ -e 's/\å/å/g' -e 's/\Å/Å/g' \ -e 's/\æ/æ/g' -e 's/\Æ/Æ/g' \ -e 's/\ç/ç/g' -e 's/\Ç/Ç/g' \ -e 's/\è/è/g' -e 's/\È/È/g' \ -e 's/\é/é/g' -e 's/\É/É/g' \ -e 's/\ê/ê/g' -e 's/\Ê/Ê/g' \ -e 's/\ë/ë/g' -e 's/\Ë/Ë/g' \ -e 's/\ì/ì/g' -e 's/\Ì/Ì/g' \ -e 's/\í/í/g' -e 's/\Í/Í/g' \ -e 's/\î/î/g' -e 's/\Î/Î/g' \ -e 's/\ï/ï/g' -e 's/\Ï/Ï/g' \ -e 's/\ð/ð/g' -e 's/\Ð/Ð/g' \ -e 's/\ñ/ñ/g' -e 's/\Ñ/Ñ/g' \ -e 's/\ò/ò/g' -e 's/\Ò/Ò/g' \ -e 's/\ó/ó/g' -e 's/\Ó/Ó/g' \ -e 's/\ô/ô/g' -e 's/\Ô/Ô/g' \ -e 's/\õ/õ/g' -e 's/\Õ/Õ/g' \ -e 's/\ö/ö/g' -e 's/\Ö/Ö/g' \ -e 's/\ø/ø/g' -e 's/\Ø/Ø/g' \ -e 's/\ù/ù/g' -e 's/\Ù/Ù/g' \ -e 's/\ú/ú/g' -e 's/\Ú/Ú/g' \ -e 's/\û/û/g' -e 's/\Û/Û/g' \ -e 's/\ü/ü/g' -e 's/\Ü/Ü/g' \ -e 's/\ý/ý/g' -e 's/\Ý/Ý/g' \ -e 's/\þ/þ/g' -e 's/\Þ/Þ/g' \ -e 's/\ÿ/ÿ/g' -e 's/\ß/ß/g' \ -e 's/\¡/¡/g' -e 's/\º/°/g' \ -e 's/\®/©/g' -e 's/\¿/¿/g' \ -e 's/\±/±/g' -e 's/\º/º/g' \ -e 's/\ª/ª/g' -e 's/\&/\&/g' \ -e 's/\–/-/g' -e 's/\"/"/g' \ -e 's/\«/<>/g' \ -e "s/\'/'/g" -e 's/\&slash;/\//g' \ -e 's/ //g' } if [ "X$1" = "X-r" ] then REVERSE="true" shift else REVERSE="false" fi if [ -z "$TMPDIR" ] then TMPDIR="/tmp" fi TMPFILE1="$TMPDIR/htmlize.$$" if [ -z "$1" ] then if [ "$REVERSE" != "true" ] then htmlizef else dehtmlizef fi fi while [ -n "$1" ] do if [ ! -w $1 ] then READONLY="true" chmod u+w $1 else READONLY="false" fi if [ "$REVERSE" != "true" ] then cat $1 | htmlizef > $TMPFILE1 else cat $1 | dehtmlizef > $TMPFILE1 fi cp $TMPFILE1 $1 if [ "$READONLY" = "true" ] then chmod u-w $1 fi READONLY="false" shift done /bin/rm -rf $TMPFILE1 2>/dev/null exit 0