App-Lingua-BO-Wylie-Transliteration

 view release on metacpan or  search on metacpan

lib/App/Lingua/BO/Wylie/Transliteration.pm  view on Meta::CPAN

        $o .= $self->SUPERSCRIPT -> {uc $super}   if defined $super;
        $o .= $self->SCRIPT_SUBJ -> {uc $script}  if defined $script and     defined $super;
        $o .= $self->SCRIPT      -> {uc $script}  if defined $script and $super eq '';
        $o .= $self->SUBSCRIPT   -> {uc $sub}     if defined $sub;
        $o .= $self->VOWEL       -> {uc $vowel}   if defined $vowel and not uc($vowel) eq 'A';
        $o .= $self->POSTSCRIPT1 -> {uc $post1}   if defined $post1;
        $o .= $self->POSTSCRIPT2 -> {uc $post2}   if defined $post2;
      return $o;
    ]giex;

    return $output;
}

no Moo;

__END__

=pod

=head1 NAME

App::Lingua::BO::Wylie::Transliteration

=head1 VERSION

version 0.1.0

=head1 SYNOPSIS

Wylie transliterate can be used to transliterate words from Wylie Transliteration to (Classical) Tibetan (dbu med)

=for Pod::Coverage make_rx

=head1 BACKGROUND

When you have one (foreign) alphabet and would like to display it in a
different alphabet (example: Russian to Latin alphabet), you will
want to use a certain B<transliteration scheme>.

Just compare all the different names you can find "Dostojevski" transliterated
to, to see what enourmous differences there will be.

Now for the Classical Tibetan "dbu med" alphabet there exist two main
transliteration schemes:

=over

=item *

Library of Congress Transliteration

=item *

Wylie Transliteration

=back

Classical Tibetan alphabet itself works in a really interesting way.

First, let's have a look at the table of the individual "characters"
with their Wylie transliterations:

E<lt>http:E<sol>E<sol>en.wikipedia.orgE<sol>wikiE<sol>Tibetan_alphabetE<gt>

A few key observations:

=over

=item *

(Almost) all letters represent a consonant, carrying an B<inherent> vocal: "a"

=item *

These lettersE<sol>syllables are sorted according to tonality and aspiration (in pronunciation)

=item *

Other vocals will be achieved by adding certain vocal-symbols in the proper places:

=back

   * i.e. you can build the following syllables by adding a vowel sign:
     * ka -> ko
     * ka -> ku
     * ka -> ki
     * ka -> ke

The latter is a process of B<merging> symbols to form new symbols (with the
merging taking place in the proper places -- 'e' is on top, 'u' will be inserted
at the bottom)

This merging process can be seen as building "ligatures", of which even more exist.

As we have seen, the vocal symbols (for all vocals except 'a', which is inherent)
need to be added in the proper places.

For the rest of the symbols that can be added, the scheme looks the following:

         b  s  g   r   u   b  s
         |  |  |   |   |   |  |
         1  2  3   4   5   6  7

With the places being the following:

1) Prescript
2) Superscript
3) The Center piece (carriyng the inherent vocal, mandatory)
4) Subscript
5) The vocal sign
6) Postscript1
7) Postscript2

Note: Except from the Center piece (3), all other signs are optional.

Note: Optional character B<can> form B<ligatures> with the character they are combined with.

=head1 TECHNICAL BACKGROUND (UNICODE)

The Unicode consortium had to decide what they want their code points to look like:



( run in 5.287 seconds using v1.01-cache-2.11-cpan-d80b1682f3f )