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 )