package HTML::Pictogram::MobileJp::Unicode;
use strict;
use warnings;
use 5.00800;
use HTML::Pictogram::MobileJp::Unicode::Map;
use HTML::Pictogram::MobileJp::Util qw/is_iphone/;
sub convert {
my ( $class, $ma, $html ) = @_;
$html =~ s{(&#x([0-9a-f]{4});)}{
if ($ma->is_docomo) {
$1;
} elsif ($ma->is_softbank || is_iphone($ma->user_agent)) {
if (my $e = $SOFTBANK->{$2}) {
"&#x$e;";
} else {
$1;
}
} elsif ($ma->is_ezweb) {
if (my $e = $EZWEB->{$2}) {
sprintf '<img localsrc="%d" />', $e;
} else {
$1;
}
} else {
# non-mobile
$1;
}
}gei;
$html;
}
1;
__END__
=encoding utf8
=head1 NAME
HTML::Pictogram::MobileJp::Unicode - &#xXXXX; とかくと3キャリで表示できるように変換できるライブラリ
=head1 SYNOPSIS
use HTML::Pictogram::MobileJp::Unicode;
use HTTP::MobileAgent;
my $ma = HTTP::MobileAgent->new();
HTML::Pictogram::MobileJp::Unicode->convert($ma, $html);
=head1 DESCRIPTION
&#xXXXX; のようにユニコードの実体参照で絵文字を記述しておくと、それを各キャリヤにあわせた表記に変更してくれるライブラリ。
サポート対象は 3G の3キャリです。
絵文字の変換マップは Text_Pictogram_Mobile のものを拝借してます。
絵文字として変換可能ではない &#xXXXX; は、変更されません。
=head1 AUTHOR
Tokuhiro Matsuno E<lt>tokuhirom AAJKLFJEF@ GMAIL COME<gt>
=head1 SEE ALSO
L<http://openpear.org/package/Text_Pictogram_Mobile>
=head1 LICENSE
Copyright (C) Tokuhiro Matsuno
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut