App-Bernard

 view release on metacpan or  search on metacpan

lib/App/Bernard.pm  view on Meta::CPAN


Thomas Thurman <thomas@thurman.org.uk>

=head1 SYNOPSIS

  bernard <source> -o <target>

=head1 DESCRIPTION

bernard takes files written in the conventional alphabet and
returns them written in some other alphabet.

At present, only the Shavian alphabet is supported.

=head1 SWITCHES

=head2 -o <filename>, --output <filename>

Select output file.  If this is not specified,
the output is written to the standard output.

=head2 -s <alphabet>, --script <alphabet>

Select alphabet.  Use the ISO 15924 code.
This is not case-sensitive.
The only arguments currently accepted are "Shaw",
which represents the Shavian alphabet, and
"Latn", which causes no transformation to
the input text.

=head2 -S <alphabet>, --source <alphabet>

Specifies the alphabet of the source document.
The default is C<"Latn">.  This is not automatically
detected, because the use-cases are so different.
This is not case-sensitive.
The only two values allowed are C<"Latn"> and C<"Shaw">.
Selecting C<"Shaw"> will allow you to transliterate
a document in Shavian into, for example, Deseret.

If C<"Shaw"> is selected, this has the additional
effect of causing I<every> stanza in a .po file
to be transliterated, not only the fuzzy and empty
ones.  It also disables the C<--in-place> switch.

Selecting the same source and target alphabet is
a valid choice, but means that there will be
no change between input and output.

It is currently an error to select C<"Shaw"> as
the source alphabet and C<"Latn"> as the target
alphabet.  In other words, you can't yet undo
a transliteration into Shavian.  This may be
added one day.

This entire option is not yet implemented.

=head2 -n <file>, --names <file>

This switch only makes sense with gettext .po files.
It means that the msgids in the file are not English
strings, but identifiers, and that the English strings
are in the .po file whose name is supplied.  This is
often found in Nokia catalogues.

This is not yet implemented.

=head2 -c, --check

Runs the resulting file through C<"msgfmt -c"> to check
its validity.

=head2 -i, --in-place

This writes the output file over the top of the
input file.

This switch is only useful with gettext .po files.
It is disabled for other filetypes because it would
be dangerous: you would lose the original text.

=head2 -a, --armour

This replaces Shavian letters with their traditional
ASCII equivalents.  It is disabled for other alphabets.
This will cause obvious difficulties if the output
would ordinarily contain Latin-alphabet letters.
Latin-alphabet letters discovered in the text will be
retained.

This is not currently implemented.

The inverse operation is obtained by using
C<-m unarmour>.

=head2 -D, --shift-down

This is a nasty hack.  It shifts the letters of the
output alphabet down so that they begin at codepoint
128.  This is needed because of shortcomings in
the UTF-8 decoding of some programs, and when you
may be unable to use C<-a> because you need to include
characters from both alphabets.  You will, of
course, need a special font with the relevant glyphs
at these non-standard positions.

This is not currently implemented.

=head2 -e <text>, --expression <text>

Transliterates the given expression.  This is
output before any other file.

=head2 -U, --update

Checks to see whether there's an updated version
of the Shavian set used for transliteration, and
downloads it if there is.

This is not currently implemented.



( run in 2.618 seconds using v1.01-cache-2.11-cpan-ceb78f64989 )