charset: encode wingdings font
[sheet.git] / Encode / Wingdings.pm
diff --git a/Encode/Wingdings.pm b/Encode/Wingdings.pm
new file mode 100644 (file)
index 0000000..df06b86
--- /dev/null
@@ -0,0 +1,31 @@
+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;