The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Encode::JP::Mobile::Fallback - custom callback for pictogram convert

SYNOPSIS

use Encode;
use Encode::JP::Mobile;

encode('x-utf8-docomo', "\x{ECA2}", Encode::JP::Mobile::FB_CHARACTER); # => (>3<)

FALLBACK

Encode::JP::Mobile::FB_CHARACTER

キャリアがメール送信時に行なっている絵文字の相互変換をエミュレートするためのコールバックです。

Encode::JP::Mobile で定義されたエンコーディングはキャリア間の 絵文字 => 絵文字(場合によっては複数の絵文字)相互変換をサポートしていますが、絵文字 => 文字 と変換されるものは含まれていません。Encode::JP::Mobile::FB_CHARACTEREncode::encode の引数として渡すことでキャリアが行なう相互変換と同じことを行ないます。

my $char = "\x{EFC5}\x{ED8B}"; # au の宇宙人とバンザイ
encode('x-utf8-docomo', $char, Encode::JP::Mobile::FB_CHARACTER); # => [宇宙人]\(^o^)/
 

絵文字以外についての fallback の扱いについては、Encode::JP::Mobile::FB_CHARACTER に引数として渡すことができます。

my $char = "\x{2668}\x{ED8B}"; # 温泉マーク(x-utf8-docomoに含まれない)とバンザイ
encode('x-utf8-docomo', $char, Encode::JP::Mobile::FB_CHARACTER); # => ? \(^o^)/ 

encode('x-utf8-docomo', $char, Encode::JP::Mobile::FB_CHARACTER(Encode::FB_XMLCREF)); # => &#x2668;\(^o^)/

my $fb_callback = Encode::JP::Mobile::FB_CHARACTER(sub {"[x]"});
encode('x-utf8-docomo', $char, $fb_callback); # [x]\(^o^)/

Encode::JP::Mobile::FB_CHARACTERuse Encode::JP::Mobile; で利用できます。use Encode::JP::Mobile::Fallback; する必要はありません。

AUTHOR

Naoki Tomita <tomita@cpan.org>

SEE ALSO

Encode::JP::Mobile