--- /dev/null
+package Encode::Wingdings;
+
+use 5.014;
+use warnings;
+use utf8;
+
+our $VERSION = '1.00';
+
+use parent 'Encode::Encoding';
+__PACKAGE__->Define('wingdings');
+
+our @MAP = (qw[
+ ๐ โ โ ๐ ๐ญ ๐ฎ ๐ฏ ๐ฟ โ ๐ ๐ ๐ช ๐ซ ๐ฌ ๐ญ ๐ ๐ ๐ ๐ ๐ ๐ โ ๐ฎ ๐ฐ ๐ฒ ๐ณ ๐ด ๐ซ ๐ฌ โ โ
+ ๐ โ ๐ ๐ ๐ โ โ โ โ ๐ โบ ๐ โน ๐ฃ โ ๐ณ ๐ฑ โ โผ ๐ง โ ๐ โ ๐ โ โก โช โฏ เฅ โธ โ โ
+ โ โ โ โ โ โ โ โ โ โ ๐ฐ ๐ต โ ๐พ โ โก ๐ โ โ โฌง โงซ โ โ โฌฅ โง โฎน โ ๐ต ๐ถ ๐ถ ๐ท \7f
+ โช โ โก โข โฃ โค โฅ โฆ โง โจ โฉ โฟ โถ โท โธ โน โบ โป โผ โฝ โพ โฟ ๐ข ๐ ๐ก ๐ฃ ๐ ๐ ๐ ๐ ยท โข
+ โช โช ๐ ๐ โ โ ๐ฟ โช โป ๐ โฆ โ
โถ โด โน โต โฏ โ โก โ โฏ โช โฐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐
+ ๐ ๐ ๐ โฎฐ โฎฑ โฎฒ โฎณ โฎด โฎต โฎถ โฎท ๐ช ๐ซ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ โซ โฆ โฎ โฎ โฎ โฎ โฎ โฎ โฎ โฎ ๐กจ
+ ๐กช ๐กฉ ๐กซ ๐กฌ ๐กญ ๐กฏ ๐กฎ ๐กธ ๐กบ ๐กน ๐กป ๐กผ ๐กฝ ๐กฟ ๐กพ โฆ โจ โง โฉ โฌ โณ โฌ โฌ โฌ โฌ ๐ขฌ ๐ขญ ๐ถ โ ๐ท ๐น ๏ฃฟ
+]);
+
+sub decode ($$;$) {
+ my ($self, $input, $check) = @_;
+ my $output = '';
+ for (unpack 'C*', $input) {
+ $output .= $_ < 33 ? chr : $MAP[$_ - 33];
+ }
+ return $output;
+}
+
+1;
hebrew => [qw( iso-8859-8 cp1255 MacHebrew cp862 U59-5F )],
thai => [qw( iso-8859-11 cp874 MacThai )],
vietnamese => [qw( viscii cp1258 MacVietnamese )],
- symbols => [qw( symbol dingbats MacDingbats )],
+ symbols => [qw( symbol dingbats MacDingbats wingdings )],
# iso-code shorthand
1 => 'westeur',
'AdobeZdingbat'=> ['MacDingbats' => '128-159'], # should be identical but maps to private use
'symbol' => ['' => '32-127+160'],
'AdobeSymbol' => ['symbol' => '32-127+160', '' => '32-127+160'], # minor differences, irrelevant except for different 'โฌ'
+ 'wingdings' => ['' => '32'],
'iso-8859-2' => ['iso-8859-1' => '160'],
'iso-8859-3' => ['iso-8859-1' => '160'], #TODO: also apply to iso-8859-9
}
}
+ if (lc $input eq 'wingdings') {
+ require Encode::Wingdings;
+ }
+
if ($input =~ m{ \A u ([0-9a-f]+) (?:-([0-9a-f]+))? \z }ix) {
my $start = hex($1) << ($2 ? 4 : 8);
my $end = $2 ? (hex($2) << 4) + $row{cols} - 1 : $start + 255;