#!/usr/bin/perl

use File::Basename;
use Getopt::Long;

unless ( GetOptions (

	"config|c=s"	=> \$config,

	"help|h"	=> \$usage,

	"encoding|e=s"	=> \$encoding,

	"input|i=s"	=> \$input,

	"output|o=s"	=> \$output

)) { Usage(); exit(1); }

# Usage help
( Usage(), die "\n" ) if ($usage);

# Load in config
$config = "$ENV{CROPS_CONFIG}" unless ($config);
$config = "/etc/crops/crops.conf" unless ($config);
do "$config" or die "Can't load '$config' ($!)";

# Check arguments
"$input" or die "No --input file specified\n";
( $encoding = basename($input), $encoding =~ s#\..*## ) unless ($encoding);
die "Invalid input .afm filename: '${input}'\n" if (! (-e "$input" ));
$output = "${ENCDIR}/${encoding}.enc" unless ($output);

# Print summary
# if (0) { for my $p (qw/config encoding input output/) { print "$p : ${$p}\n"; } }


# Work starts here :)
if ($config ) { $str = "--config '$config'"; }
@commands = (
	"composeglyphs $str -e '$input' --output-encoding '$output'", 
	"cp '$input' '${ENCDIR}/${encoding}.afm'"
);

RunShellCmd($_) foreach (@commands);

print "$encoding ";

exit(0);


#
# CODE END, only helper functions below
# TODO: Turn to manpage
sub Usage {
        print STDERR "See crops-addencoding(1) man page for usage instructions\n";
}

