App-Basis-ConvertText2-UtfTransform

 view release on metacpan or  search on metacpan

lib/App/Basis/ConvertText2/UtfTransform.pm  view on Meta::CPAN

    "I" => "\x{1D43C}",
    "J" => "\x{1D43D}",
    "K" => "\x{1D43E}",
    "L" => "\x{1D43F}",
    "M" => "\x{1D440}",
    "N" => "\x{1D441}",
    "O" => "\x{1D442}",
    "P" => "\x{1D443}",
    "Q" => "\x{1D444}",
    "R" => "\x{1D445}",
    "S" => "\x{1D446}",
    "T" => "\x{1D447}",
    "U" => "\x{1D448}",
    "V" => "\x{1D449}",
    "W" => "\x{1D44A}",
    "X" => "\x{1D44B}",
    "Y" => "\x{1D44C}",
    "Z" => "\x{1D44D}",
    "a" => "\x{1D622}",
    "b" => "\x{1D623}",
    "c" => "\x{1D624}",
    "d" => "\x{1D625}",
    "e" => "\x{1D626}",
    "f" => "\x{1D627}",
    "g" => "\x{1D628}",
    "h" => "\x{1d629}",
    "i" => "\x{1D62a}",
    "j" => "\x{1D62b}",
    "k" => "\x{1D62c}",
    "l" => "\x{1D62d}",
    "m" => "\x{1D62e}",
    "n" => "\x{1D62f}",
    "o" => "\x{1D630}",
    "p" => "\x{1D631}",
    "q" => "\x{1D632}",
    "r" => "\x{1D633}",
    "s" => "\x{1D634}",
    "t" => "\x{1D635}",
    "u" => "\x{1D636}",
    "v" => "\x{1D637}",
    "w" => "\x{1D638}",
    "x" => "\x{1D639}",
    "y" => "\x{1D63a}",
    "z" => "\x{1D63b}",
    "0" => "0",
    "1" => "1",
    "2" => "2",
    "3" => "3",
    "4" => "4",
    "5" => "5",
    "6" => "6",
    "7" => "7",
    "8" => "8",
    "9" => "9",
    "?" => "?",
    "!" => "!",
    "," => ",",
);

# mathematical bold script capital and small
# http://www.fileformat.info/info/unicode/category/Lu/list.htm
# http://www.fileformat.info/info/unicode/category/Ll/list.htm

my %script = (
    "A" => "\x{1d4d0}",
    "B" => "\x{1d4d1}",
    "C" => "\x{1d4d2}",
    "D" => "\x{1d4d3}",
    "E" => "\x{1d4d4}",
    "F" => "\x{1d4d5}",
    "G" => "\x{1d4d6}",
    "H" => "\x{1d4d7}",
    "I" => "\x{1d4d8}",
    "J" => "\x{1d4d9}",
    "K" => "\x{1d4da}",
    "L" => "\x{1d4db}",
    "M" => "\x{1d4dc}",
    "N" => "\x{1d4dd}",
    "O" => "\x{1d4de}",
    "P" => "\x{1d4df}",
    "Q" => "\x{1d4e0}",
    "R" => "\x{1d4e1}",
    "S" => "\x{1d4e2}",
    "T" => "\x{1D4e3}",
    "U" => "\x{1D4e4}",    ## special
    "V" => "\x{1D4e5}",
    "W" => "\x{1D4e6}",
    "X" => "\x{1D4e7}",
    "Y" => "\x{1D4e8}",
    "Z" => "\x{1D4e9}",
    "a" => "\x{1D4ea}",
    "b" => "\x{1D4eb}",
    "c" => "\x{1D4ec}",
    "d" => "\x{1D4ed}",
    "e" => "\x{1D4ee}",
    "f" => "\x{1D4ef}",
    "g" => "\x{1D4f0}",
    "h" => "\x{1d4f1}",
    "i" => "\x{1D4f2}",
    "j" => "\x{1D4f3}",
    "k" => "\x{1D4f4}",
    "l" => "\x{1D4f5}",
    "m" => "\x{1D4f6}",
    "n" => "\x{1D4f7}",
    "o" => "\x{1D4f8}",
    "p" => "\x{1D4f9}",
    "q" => "\x{1D4fa}",
    "r" => "\x{1D4fb}",
    "s" => "\x{1D4fc}",
    "t" => "\x{1D4fd}",
    "u" => "\x{1D4fe}",
    "v" => "\x{1D4ff}",
    "w" => "\x{1D500}",
    "x" => "\x{1D501}",
    "y" => "\x{1D502}",
    "z" => "\x{1D503}",
    "0" => "0",
    "1" => "1",
    "2" => "2",
    "3" => "3",
    "4" => "4",
    "5" => "5",

lib/App/Basis/ConvertText2/UtfTransform.pm  view on Meta::CPAN

    "H" => "\x{24BD}",
    "I" => "\x{24BE}",
    "J" => "\x{24BF}",
    "K" => "\x{24C0}",
    "L" => "\x{24C1}",
    "M" => "\x{24C2}",
    "N" => "\x{24C3}",
    "O" => "\x{24C4}",
    "P" => "\x{24C5}",
    "Q" => "\x{24C6}",
    "R" => "\x{24C7}",
    "S" => "\x{24C8}",
    "T" => "\x{24C9}",
    "U" => "\x{24CA}",
    "V" => "\x{24CB}",
    "W" => "\x{24CC}",
    "X" => "\x{24CD}",
    "Y" => "\x{24CE}",
    "Z" => "\x{24CF}",
    "a" => "\x{24D0}",
    "b" => "\x{24D1}",
    "c" => "\x{24D2}",
    "d" => "\x{24D3}",
    "e" => "\x{24D4}",
    "f" => "\x{24D5}",
    "g" => "\x{24D6}",
    "h" => "\x{24D7}",
    "i" => "\x{24D8}",
    "j" => "\x{24D9}",
    "k" => "\x{24DA}",
    "l" => "\x{24DB}",
    "m" => "\x{24DC}",
    "n" => "\x{24DD}",
    "o" => "\x{24DE}",
    "p" => "\x{24DF}",
    "q" => "\x{24E0}",
    "r" => "\x{24E1}",
    "s" => "\x{24E2}",
    "t" => "\x{24E3}",
    "u" => "\x{24E4}",
    "v" => "\x{24E5}",
    "w" => "\x{24E6}",
    "x" => "\x{24E7}",
    "y" => "\x{24E8}",
    "z" => "\x{24E9}",
    "0" => "\x{24EA}",
    "1" => "\x{2460}",
    "2" => "\x{2461}",
    "3" => "\x{2462}",
    "4" => "\x{2463}",
    "5" => "\x{2464}",
    "6" => "\x{2465}",
    "7" => "\x{2466}",
    "8" => "\x{2467}",
    "9" => "\x{2468}",
    "?" => "?",
    "!" => "!",
    "," => ",",
);

# http://www.fileformat.info/info/unicode/category/So/list.htm
my %smilies = (
    '<3'           => "\x{2665}",     #heart
    ':heart:'      => "\x{2665}",     #heart
    ':)'           => "\x{1f600}",    #smile
    ':D'           => "\x{1f625}",    #grin
    '8-)'          => "\x{1f60e}",    #cool
    ':P'           => "\x{1f61b}",    #pull tounge
    ":'("          => "\x{1f62c}",    #cry
    ':('           => "\x{2639}",     #sad
    ";)"           => "\x{1f609}",    #wink
    ":sleep:"      => "\x{1f634}",    #sleep
    ":halo:"       => "\x{1f607}",    #halo
    ":devil:"      => "\x{1f608}",    #devil
    ":horns:"      => "\x{1f608}",    #devil
    "(c)"          => "\x{00a9}",     # copyright
    "(r)"          => "\x{00ae}",     # registered
    "(tm)"         => "\x{0099}",     # trademark
    ":email:"      => "\x{2709}",     # email
    ":yes:"        => "\x{2713}",     # tick
    ":no:"         => "\x{2715}",     # cross
    ":beer:"       => "\x{1F37A}",    # beer
    ":wine:"       => "\x{1f377}",    # wine
    ":wine_glass:" => "\x{1f377}",    # wine
    ":cake:"       => "\x{1f382}",    # cake
    ":star:"       => "\x{2606}",     # star
    ":ok:"         => "\x{1f44d}",    # ok = thumbsup
    ":yes:"        => "\x{1f44d}",    # yes = thumbsup
    ":thumbsup:"   => "\x{1f44d}",    # thumbsdown
    ":thumbsdown:" => "\x{1f44e}",    # thumbsup
    ":bad:"        => "\x{1f44e}",    # bad = thumbsdown
    ":no:"         => "\x{1f44e}",    # no = thumbsdown
    ":ghost:"      => "\x{1f47b}",    # ghost
    ":skull:"      => "\x{1f480}",    # skull
    ":time:"       => "\x{231a}",     # time, watch face
    ":hourglass:"  => "\x{231b}",     # hourglass
);

my $smiles = join( '|', map { quotemeta($_) } keys %smilies );

my %code_map = (
    f => \%flip,
    b => \%bold,
    i => \%italic,
    o => \%bubbles,
    s => \%script,
);

# ----------------------------------------------------------------------------
# regexp replace function
sub _transform {
    my ( $code, $string ) = @_;
    my $transform = 1;

    if ( $code eq 'f' ) {

        # needs to be reversed and in lower case for flip
        $string = reverse lc($string);
    }
    elsif ( $code eq 'l' ) {



( run in 1.579 second using v1.01-cache-2.11-cpan-d8267643d1d )