Index: /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/98_perlcritic.t
===================================================================
--- /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/98_perlcritic.t (revision 3952)
+++ /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/98_perlcritic.t (revision 3952)
@@ -0,0 +1,5 @@
+use strict;
+use Test::More;
+eval { use Test::Perl::Critic -profile => 't/perlcriticrc' };
+plan skip_all => "Test::Perl::Critic is not installed." if $@;
+all_critic_ok('lib');
Index: /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/97_podspell.t
===================================================================
--- /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/97_podspell.t (revision 3952)
+++ /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/97_podspell.t (revision 3952)
@@ -0,0 +1,9 @@
+use Test::More;
+eval q{ use Test::Spelling };
+plan skip_all => "Test::Spelling is not installed." if $@;
+add_stopwords(map { split /[\s\:\-]/ } <DATA>);
+$ENV{LANG} = 'C';
+all_pod_files_spelling_ok('lib');
+__DATA__
+Tokuhiro Matsuno
+Template::Plugin::MobileJPPictogram
Index: /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/99_pod.t
===================================================================
--- /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/99_pod.t (revision 3952)
+++ /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/99_pod.t (revision 3952)
@@ -0,0 +1,4 @@
+use Test::More;
+eval "use Test::Pod 1.00";
+plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
+all_pod_files_ok();
Index: /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/perlcriticrc
===================================================================
--- /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/perlcriticrc (revision 3952)
+++ /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/perlcriticrc (revision 3952)
@@ -0,0 +1,2 @@
+[TestingAndDebugging::ProhibitNoStrict]
+allow=refs
Index: /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/00_compile.t
===================================================================
--- /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/00_compile.t (revision 3952)
+++ /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/00_compile.t (revision 3952)
@@ -0,0 +1,4 @@
+use strict;
+use Test::More tests => 1;
+
+BEGIN { use_ok 'Template::Plugin::MobileJPPictogram' }
Index: /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/01_simple.t
===================================================================
--- /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/01_simple.t (revision 3952)
+++ /lang/perl/Template-Plugin-MobileJPPictogram/trunk/t/01_simple.t (revision 3952)
@@ -0,0 +1,34 @@
+use strict;
+use warnings;
+use utf8;
+use Test::Base;
+use Template;
+use Encode;
+
+filters {
+    input => [qw/yaml escape/],
+};
+
+sub decode_uni {
+    local $_ = shift;
+    s/\\x\{(....)\}/pack "U*", hex $1/ge;
+    $_;
+}
+
+sub escape {
+    my $in = shift;
+    my $tt = Template->new;
+    $tt->process(\$in->{template}, {x => decode_uni($in->{x})}, \my $out) or die $tt->error;
+    $out;
+}
+
+run_is input => 'expected';
+
+__END__
+
+===
+--- input
+template: "[% USE MobileJPPictogram %][% x | escape_pictograms %]"
+x: PICT:\x{E001}
+--- expected: PICT:[男の子]
+
Index: /lang/perl/Template-Plugin-MobileJPPictogram/trunk/lib/Template/Plugin/MobileJPPictogram.pm
===================================================================
--- /lang/perl/Template-Plugin-MobileJPPictogram/trunk/lib/Template/Plugin/MobileJPPictogram.pm (revision 3952)
+++ /lang/perl/Template-Plugin-MobileJPPictogram/trunk/lib/Template/Plugin/MobileJPPictogram.pm (revision 3952)
@@ -0,0 +1,63 @@
+package Template::Plugin::MobileJPPictogram;
+
+use strict;
+use warnings;
+our $VERSION = '0.01';
+
+require Template::Plugin;
+use base qw(Template::Plugin);
+
+use Encode::JP::Mobile ':props';
+use Encode::JP::Mobile::Charnames;
+
+our $FILTER_NAME = 'escape_pictograms';
+
+sub new {
+    my ( $self, $context, @args ) = @_;
+    my $format = $args[0] || '[%s]';
+    my $name = $args[1] || $FILTER_NAME;
+    $context->define_filter( $name, sub { commify($format, $_[0]) }, 0 );
+    return $self;
+}
+
+sub commify {
+    my $format = shift;
+    local $_ = shift;
+
+    s{(\p{InMobileJPPictograms})}{
+        my $name = Encode::JP::Mobile::Charnames::unicode2name(unpack 'U*', $1);
+        sprintf $format, $name;
+    }ge;
+
+    return $_;
+}
+
+1;
+__END__
+
+=for stopwords aaaatttt dotottto gmail
+
+=head1 NAME
+
+Template::Plugin::MobileJPPictogram -
+
+=head1 SYNOPSIS
+
+  use Template::Plugin::MobileJPPictogram;
+
+=head1 DESCRIPTION
+
+Template::Plugin::MobileJPPictogram is
+
+=head1 AUTHOR
+
+Tokuhiro Matsuno E<lt>tokuhirom aaaatttt gmail dotottto commmmmE<gt>
+
+=head1 SEE ALSO
+
+=head1 LICENSE
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
Index: /lang/perl/Template-Plugin-MobileJPPictogram/trunk/Makefile.PL
===================================================================
--- /lang/perl/Template-Plugin-MobileJPPictogram/trunk/Makefile.PL (revision 3952)
+++ /lang/perl/Template-Plugin-MobileJPPictogram/trunk/Makefile.PL (revision 3952)
@@ -0,0 +1,10 @@
+use inc::Module::Install;
+name 'Template-Plugin-MobileJPPictogram';
+all_from 'lib/Template/Plugin/MobileJPPictogram.pm';
+
+requires $_ for (qw/Template Encode::JP::Mobile Encode::JP::Mobile::Charnames/);
+
+build_requires 'Test::More';
+use_test_base;
+auto_include;
+WriteAll;
Index: /lang/perl/Template-Plugin-MobileJPPictogram/trunk/Changes
===================================================================
--- /lang/perl/Template-Plugin-MobileJPPictogram/trunk/Changes (revision 3952)
+++ /lang/perl/Template-Plugin-MobileJPPictogram/trunk/Changes (revision 3952)
@@ -0,0 +1,4 @@
+Revision history for Perl extension Template::Plugin::MobileJPPictogram
+
+0.01    Wed Jan  2 03:05:29 2008
+        - original version
Index: /lang/perl/Template-Plugin-MobileJPPictogram/trunk/MANIFEST.SKIP
===================================================================
--- /lang/perl/Template-Plugin-MobileJPPictogram/trunk/MANIFEST.SKIP (revision 3952)
+++ /lang/perl/Template-Plugin-MobileJPPictogram/trunk/MANIFEST.SKIP (revision 3952)
@@ -0,0 +1,19 @@
+\bRCS\b
+\bCVS\b
+^MANIFEST\.
+^Makefile$
+~$
+^#
+\.old$
+^blib/
+^pm_to_blib
+^MakeMaker-\d
+\.gz$
+\.cvsignore
+^t/9\d_.*\.t
+^t/perlcritic
+^tools/
+\.svn/
+^[^/]+\.yaml$
+^[^/]+\.pl$
+^\.shipit$
Index: /lang/perl/Template-Plugin-MobileJPPictogram/trunk/README
===================================================================
--- /lang/perl/Template-Plugin-MobileJPPictogram/trunk/README (revision 3952)
+++ /lang/perl/Template-Plugin-MobileJPPictogram/trunk/README (revision 3952)
@@ -0,0 +1,27 @@
+This is Perl module Template::Plugin::MobileJPPictogram.
+
+INSTALLATION
+
+Template::Plugin::MobileJPPictogram installation is straightforward. If your CPAN shell is set up,
+you should just be able to do
+
+    % cpan Template::Plugin::MobileJPPictogram
+
+Download it, unpack it, then build it as per the usual:
+
+    % perl Makefile.PL
+    % make && make test
+
+Then install it:
+
+    % make install
+
+DOCUMENTATION
+
+Template::Plugin::MobileJPPictogram documentation is available as in POD. So you can do:
+
+    % perldoc Template::Plugin::MobileJPPictogram
+
+to read the documentation online with your favorite pager.
+
+Tokuhiro Matsuno
Index: /lang/perl/Template-Plugin-MobileJPPictogram/trunk/.shipit
===================================================================
--- /lang/perl/Template-Plugin-MobileJPPictogram/trunk/.shipit (revision 3952)
+++ /lang/perl/Template-Plugin-MobileJPPictogram/trunk/.shipit (revision 3952)
@@ -0,0 +1,3 @@
+steps = CommitMessageWrap, FindVersion, ChangeVersion, CheckChangeLog, DistTest, Commit, Tag, MakeDist, UploadCPAN
+svk.tagpattern = release-%v
+commit_message.format = lang/perl/Template-Plugin-MobileJPPictogram: %msg
