#!/usr/bin/perl

# Program:	monocase-8859-2
# Written by:	David Graff, Linguistic Data Consortium
# Purpose:	simple stdin -> stdout filter to do conversion
#		from mixed-case to mono-case for text data
#		encoded with the ISO 8859-2 (Eastern European)
#		character set.

# By default (or with "-d"), downcase all UPPERCASE letters.
# With the "-u" option, UPCASE all lowercase letters.

$Usage = "$0 [-u|-d] < input.text > output.text\n".
    "    convert ISO-8859-2 text to monocase:\n".
    " -d to down-case (default),  -u to up-case\n";

$inpcase = $upper = "A-Z¡£¥¦©ª«¬®¯ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ";
$outcase = $lower = "a-z±³µ¶¹º»¼¾¿àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ";

if ( @ARGV && $ARGV[0] =~ /^-[ud]/ ) {
    $updn = shift;
    if ( $updn =~ /-u/ ) {
	$inpcase = $lower;
	$outcase = $upper;
    }
}
die $Usage
    if ( @ARGV && ! -r $ARGV[0] );

while (<>) {
    eval "tr[$inpcase][$outcase]";
    print;
}

