#!/usr/bin/perl -w
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
#NAME
#  pinyin2abc - Convert pinyin tones to ABC's \\ marked-letter notation.
#
#SYNOPSIS
#  pinyin2abc [file]..
#
#REQUIRES
#
#DESCRIPTION
#
#OPTIONS
#
#EXAMPLES
#
#FILES
#
#BUGS
#
#SEE ALSO
#
#AUTHOR
#  John Chambers <jc@trillian.mit.edu>
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #

$| = 1;
$exitstat = 0;
($P = $0) =~ s".*/"";
$V = $ENV{"V_$P"} || $ENV{"D_$P"} || 1;	# Verbose level.

%vowel = (
	'ā' => '\=a',
	'á' => '\\'."'".'a',
	'ǎ' => '\va',
	'à' => '\`a',
	'ē' => '\=e',
	'é' => '\\'."'".'e',
	'ě' => '\\ve',
	'è' => '\`e',
	'ī' => '\=i',
	'í' => '\\'."'".'i',
	'ǐ' => '\vi',
	'ì' => '\`i',
	'ō' => '\=o',
	'ó' => '\\'."'".'o',
	'ǒ' => '\vo',
	'ò' => '\`o',
	'ū' => '\=u',
	'ú' => '\\'."'".'u',
	'ǔ' => '\vu',
	'ù' => '\`u',
	'ü' => '\"u',
#	'ǖ' => '\=ü',
#	'ǘ' => "\'ü",
#	'ǚ' => '\vü',
#	'ǜ' => '\`ü',
);
@letter = sort keys %vowel;

for $line (<>) {
	$line =~ s/[\r\s]+$//;
	print "<<<<< {$line}\n" if $V>1;
	for $c (@letter) {
		$d = $vowel{$c};
		$line =~ s"$c"$d"g;
	}
	print "$line\n";
}

print "$P: Exit with status $exitstat.\n" if $V>1;
exit $exitstat;

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #

