emoji: consistent unhashed data iteration
authorMischa POSLAWSKY <perl@shiar.org>
Sun, 18 Jun 2023 15:25:34 +0000 (17:25 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 19 Jun 2023 19:50:43 +0000 (21:50 +0200)
Clean up confusing variable row values. No need for lookups.

emoji-gmail.inc.pl
emoji-msn.inc.pl
emoji-yahoo.inc.pl
emoji.plp

index 74ab9391e0f3ebe1035a3aed9979d7e2b2464ef2..937c9b34cebf5c16a9eb1fd0d87eb26a109a495e 100644 (file)
@@ -7,49 +7,49 @@
 
 'official',
 
-heart  => ['<3',       '',     0x02665,        "heart/love"],
-monkey => [':(|)',     '',     0x1F435,        "it's a monkey!"],
-rockout        => ['\m/',      'fuzzy',        0x0270A,        "rock out."],
-shocked        => [':-o',      '',     0x1F632,        "shocked"],
-grin   => [':D',       '',     0x1F603,        "grin"],
-frown  => [':(',       '',     0x02639,        "frown"],
-angry  => ['x-(',      '',     0x1F623,        "angry"],
-cool   => ['B-)',      '',     0x1F60E,        "cool"],
-cry    => [":'(",      '',     0x1F622,        "cry"],
-equal_grin     => ['=D',       '',     0,      "equal grin"],
-wink   => [';)',       '',     0x1F609,        "wink"],
-straightface   => [':-|',      '',     0x1F610,        "straight face"],
-equal_smile    => ['=)',       '',     0,      "equal smile"],
-nose_grin      => [':-D',      '',     0,      "nose grin"],
-wink_big_nose  => [';^)',      '',     0,      "big nose wink"],
-wink_nose      => [';-)',      '',     0,      "nose wink"],
-nose_smile     => [':-)',      '',     0,      "nose smile"],
-slant  => [':-/',      'fuzzy',        0x1F616,        "slant"],
-tongue => [':P',       '',     0x1F61D,        "tongue"],
+[heart => '<3',        '',     0x02665,        "heart/love"],
+[monkey        => ':(|)',      '',     0x1F435,        "it's a monkey!"],
+[rockout       => '\m/',       'fuzzy',        0x0270A,        "rock out."],
+[shocked       => ':-o',       '',     0x1F632,        "shocked"],
+[grin  => ':D',        '',     0x1F603,        "grin"],
+[frown => ':(',        '',     0x02639,        "frown"],
+[angry => 'x-(',       '',     0x1F623,        "angry"],
+[cool  => 'B-)',       '',     0x1F60E,        "cool"],
+[cry   => ":'(",       '',     0x1F622,        "cry"],
+[equal_grin    => '=D',        '',     0,      "equal grin"],
+[wink  => ';)',        '',     0x1F609,        "wink"],
+[straightface  => ':-|',       '',     0x1F610,        "straight face"],
+[equal_smile   => '=)',        '',     0,      "equal smile"],
+[nose_grin     => ':-D',       '',     0,      "nose grin"],
+[wink_big_nose => ';^)',       '',     0,      "big nose wink"],
+[wink_nose     => ';-)',       '',     0,      "nose wink"],
+[nose_smile    => ':-)',       '',     0,      "nose smile"],
+[slant => ':-/',       'fuzzy',        0x1F616,        "slant"],
+[tongue        => ':P',        '',     0x1F61D,        "tongue"],
 
 # http://tkhere.blogspot.com/2007/12/brand-new-google-chat-emoticons-no-one.html
 
 'undocumented',
 
-cowbell        => ["+/'\\",    '',     0x1F514,        "cowbell"],
-crab   => ['V.v.V',    'ext',  0,      "crab"],
-devil  => ['}:-)',     'ext',  0x1F608,        "devil"],
-frown  => ['=(',       '',     0,      "equal sad"],
-slant  => ['=/',       '',     0,      "equal slant"],
-tongue => ['=P',       '',     0,      "equal tongue"],
-frown  => [':-(',      '',     0,      "nose sad"],
-smile  => [':)',       '',     0x0263A,        "smile"],
-wince  => ['>.<',      'ext',  0,      "wince"],
-tongue => [':-P',      '',     0,      "nose tongue"],
-pig    => [':(:)',     'ext',  0x1F437,        "pig"],
-brokenheart    => ['</3',      'ext',  0x1F494,        "broken heart"],
-kissx  => [':-x',      'ext',  0x1F618,        "kiss"],
-kissstar       => [':*',       'ext',  0x1F61A,        "kiss"],
-mustache       => [':{',       'ext',  0,      "mustache"],
+[cowbell       => "+/'\\",     '',     0x1F514,        "cowbell"],
+[crab  => 'V.v.V',     'ext',  0,      "crab"],
+[devil => '}:-)',      'ext',  0x1F608,        "devil"],
+[frown => '=(',        '',     0,      "equal sad"],
+[slant => '=/',        '',     0,      "equal slant"],
+[tongue        => '=P',        '',     0,      "equal tongue"],
+[frown => ':-(',       '',     0,      "nose sad"],
+[smile => ':)',        '',     0x0263A,        "smile"],
+[wince => '>.<',       'ext',  0,      "wince"],
+[tongue        => ':-P',       '',     0,      "nose tongue"],
+[pig   => ':(:)',      'ext',  0x1F437,        "pig"],
+[brokenheart   => '</3',       'ext',  0x1F494,        "broken heart"],
+[kissx => ':-x',       'ext',  0x1F618,        "kiss"],
+[kissstar      => ':*',        'ext',  0x1F61A,        "kiss"],
+[mustache      => ':{',        'ext',  0,      "mustache"],
 
 # http://www.gtricks.com/google-talk-tricks/google-talk-hidden-emoticons/
 
-robot  => ['[:|]',     'ext',  0],
-poo    => ['~@~',      'ext',  0x1F4A9],
+[robot => '[:|]',      'ext',  0,
+[poo   => '~@~',       'ext',  0x1F4A9],
 
 # vi:ts=15
index a0064a84357ff0cec517071ab0865248e5573f5a..487cbe74c771755fc794d3d65be3a90bae86cd51 100644 (file)
@@ -6,80 +6,80 @@
 
 'faces',
 
-regular_smile  => [':-) :)',   '',     0x0263A,        "smile"],
-teeth_smile    => [':-D :d',   '',     0x1F603,        "open-mouthed"],
-omg_smile      => [':-O :o',   '',     0x1F632,        "surprised"],
-tongue_smile   => [':-P :p',   '',     0x1F61C,        "tongue out"],
-wink_smile     => [';-) ;)',   '',     0x1F609,        "wink"],
-sad_smile      => [':-( :(',   '',     0x02639,        "sad"],
-confused_smile => [':-S :s',   '',     0x1F616,        "confused"],
-what_smile     => [':-| :|',   '',     0x1F61E,        "disappointed"],
-cry_smile      => [":'(",      '',     0x1F62D,        "crying"],
-red_smile      => [':-$ :$',   '',     0x1F633,        "embarrassed"],
-shades_smile   => ['(H) (h)',  '',     0x1F60E,        "hot"],
-angry_smile    => [':-@ :@',   '',     0x1F620,        "angry"],
-angel_smile    => ['(A) (a)',  '',     0x1F607,        "angel"],
-devil_smile    => ['(6)',      '',     0x1F608,        "devil"],
-'47_47'        => [':-#',      'fuzzy',        0x1F64A,        "don't tell anyone"],
-'48_48'        => ['8o|',      'todo', 0,      "baring teeth"],
-'49_49'        => ['8-|',      'fuzzy',        0x1F453,        "nerd"],
-'50_50'        => ['^o)',      '',     0,      "sarcastic"],
-'51_51'        => [':-*',      'fuzzy',        0x1F442,        "secret telling"],
-'52_52'        => ['+o(',      'fuzzy',        0x1F637,        "sick"],
-'71_71'        => [':^)',      'fuzzy',        0x1F610,        "i don't know"],
-'72_72'        => ['*-)',      '',     0x1F614,        "thinking"],
-'74_74'        => ['<:o)',     'fuzzy',        0x1F389,        "party"],
-'75_75'        => ['8-)',      'fuzzy',        0x1F612,        "eye-rolling"],
-'77_77'        => ['|-)',      '',     0x1F629,        "sleepy"],
+[regular_smile => ':-) :)',    '',     0x0263A,        "smile"],
+[teeth_smile   => ':-D :d',    '',     0x1F603,        "open-mouthed"],
+[omg_smile     => ':-O :o',    '',     0x1F632,        "surprised"],
+[tongue_smile  => ':-P :p',    '',     0x1F61C,        "tongue out"],
+[wink_smile    => ';-) ;)',    '',     0x1F609,        "wink"],
+[sad_smile     => ':-( :(',    '',     0x02639,        "sad"],
+[confused_smile        => ':-S :s',    '',     0x1F616,        "confused"],
+[what_smile    => ':-| :|',    '',     0x1F61E,        "disappointed"],
+[cry_smile     => ":'(",       '',     0x1F62D,        "crying"],
+[red_smile     => ':-$ :$',    '',     0x1F633,        "embarrassed"],
+[shades_smile  => '(H) (h)',   '',     0x1F60E,        "hot"],
+[angry_smile   => ':-@ :@',    '',     0x1F620,        "angry"],
+[angel_smile   => '(A) (a)',   '',     0x1F607,        "angel"],
+[devil_smile   => '(6)',       '',     0x1F608,        "devil"],
+['47_47'       => ':-#',       'fuzzy',        0x1F64A,        "don't tell anyone"],
+['48_48'       => '8o|',       'todo', 0,      "baring teeth"],
+['49_49'       => '8-|',       'fuzzy',        0x1F453,        "nerd"],
+['50_50'       => '^o)',       '',     0,      "sarcastic"],
+['51_51'       => ':-*',       'fuzzy',        0x1F442,        "secret telling"],
+['52_52'       => '+o(',       'fuzzy',        0x1F637,        "sick"],
+['71_71'       => ':^)',       'fuzzy',        0x1F610,        "i don't know"],
+['72_72'       => '*-)',       '',     0x1F614,        "thinking"],
+['74_74'       => '<:o)',      'fuzzy',        0x1F389,        "party"],
+['75_75'       => '8-)',       'fuzzy',        0x1F612,        "eye-rolling"],
+['77_77'       => '|-)',       '',     0x1F629,        "sleepy"],
 
 'objects',
 
-coffee => ['(C) (c)',  '',     0x02615,        "coffee cup"],
-thumbs_up      => ['(Y) (y)',  '',     0x1F44D,        "thumbs up"],
-thumbs_down    => ['(N) (n)',  '',     0x1F44E,        "thumbs down"],
-beer_mug       => ['(B) (b)',  '',     0x1F37A,        "beer mug"],
-martini        => ['(D) (d)',  '',     0x1F378,        "martini glass"],
-girl   => ['(X) (x)',  '',     0x1F467,        "girl"],
-guy    => ['(Z) (z)',  '',     0x1F466,        "boy"],
-guy_hug        => ['({)',      '',     0,      "left hug"],
-girl_hug       => ['(})',      '',     0,      "right hug"],
-bat    => [':-[ :[',   '',     0,      "vampire bat"],
-cake   => ['(^)',      '',     0x1F382,        "birthday cake"],
-heart  => ['(L) (l)',  '',     0x02665,        "red heart"],
-broken_heart   => ['(U) (u)',  '',     0x1F494,        "broken heart"],
-kiss   => ['(K) (k)',  '',     0x1F48B,        "red lips"],
-present        => ['(G) (g)',  '',     0x1F381,        "gift with a bow"],
-rose   => ['(F) (f)',  '',     0x1F339,        "red rose"],
-wilted_rose    => ['(W) (w)',  '',     0,      "wilted rose"],
-camera => ['(P) (p)',  '',     0x1F4F7,        "camera"],
-film   => ['(~)',      '',     0x1F3A5,        "filmstrip"],
-cat    => ['(@)',      '',     0x1F431,        "cat face"],
-dog    => ['(&)',      '',     0x1F436,        "dog face"],
-phone  => ['(T) (t)',  '',     0x1F4DE,        "telephone receiver"],
-lightbulb      => ['(I) (i)',  '',     0x1F4A1,        "light bulb"],
-note   => ['(8)',      '',     0x0266A,        "note"],
-moon   => ['(S)',      '',     0x1F31C,        "sleeping half-moon"],
-star   => ['(*)',      '',     0x02606,        "star"],
-envelope       => ['(E) (e)',  '',     0x1F4E7,        "e-mail"],
-clock  => ['(O) (o)',  '',     0x023F0,        "clock"],
-messenger      => ['(M) (m)',  'fuzzy',        0x1F465,        "MSN Messenger icon"],
+[coffee        => '(C) (c)',   '',     0x02615,        "coffee cup"],
+[thumbs_up     => '(Y) (y)',   '',     0x1F44D,        "thumbs up"],
+[thumbs_down   => '(N) (n)',   '',     0x1F44E,        "thumbs down"],
+[beer_mug      => '(B) (b)',   '',     0x1F37A,        "beer mug"],
+[martini       => '(D) (d)',   '',     0x1F378,        "martini glass"],
+[girl  => '(X) (x)',   '',     0x1F467,        "girl"],
+[guy   => '(Z) (z)',   '',     0x1F466,        "boy"],
+[guy_hug       => '({)',       '',     0,      "left hug"],
+[girl_hug      => '(})',       '',     0,      "right hug"],
+[bat   => ':-[ :[',    '',     0,      "vampire bat"],
+[cake  => '(^)',       '',     0x1F382,        "birthday cake"],
+[heart => '(L) (l)',   '',     0x02665,        "red heart"],
+[broken_heart  => '(U) (u)',   '',     0x1F494,        "broken heart"],
+[kiss  => '(K) (k)',   '',     0x1F48B,        "red lips"],
+[present       => '(G) (g)',   '',     0x1F381,        "gift with a bow"],
+[rose  => '(F) (f)',   '',     0x1F339,        "red rose"],
+[wilted_rose   => '(W) (w)',   '',     0,      "wilted rose"],
+[camera        => '(P) (p)',   '',     0x1F4F7,        "camera"],
+[film  => '(~)',       '',     0x1F3A5,        "filmstrip"],
+[cat   => '(@)',       '',     0x1F431,        "cat face"],
+[dog   => '(&)',       '',     0x1F436,        "dog face"],
+[phone => '(T) (t)',   '',     0x1F4DE,        "telephone receiver"],
+[lightbulb     => '(I) (i)',   '',     0x1F4A1,        "light bulb"],
+[note  => '(8)',       '',     0x0266A,        "note"],
+[moon  => '(S)',       '',     0x1F31C,        "sleeping half-moon"],
+[star  => '(*)',       '',     0x02606,        "star"],
+[envelope      => '(E) (e)',   '',     0x1F4E7,        "e-mail"],
+[clock => '(O) (o)',   '',     0x023F0,        "clock"],
+[messenger     => '(M) (m)',   'fuzzy',        0x1F465,        "MSN Messenger icon"],
 
 'secondary',
 
-'53_53'        => ['(sn)',     '',     0x1F40C,        "snail"],
-'70_70'        => ['(bah)',    'fuzzy',        0x1F411,        "black sheep"],
-'55_55'        => ['(pl)',     '',     0x1F374,        "plate"],
-'56_56'        => ['(||)',     '',     0x1F35C,        "bowl"],
-'57_57'        => ['(pi)',     '',     0x1F355,        "pizza"],
-'58_58'        => ['(so)',     '',     0x026BD,        "soccer ball"],
-'59_59'        => ['(au)',     '',     0x1F697,        "auto"],
-'60_60'        => ['(ap)',     '',     0x02708,        "airplane"],
-'61_61'        => ['(um)',     '',     0x02602,        "umbrella"],
-'62_62'        => ['(ip)',     '',     0x1F334,        "island with a palm tree"],
-'63_63'        => ['(co)',     '',     0x1F4BB,        "computer"],
-'64_64'        => ['(mp)',     '',     0x1F4F1,        "mobile phone"],
-'66_66'        => ['(st)',     '',     0x02601,        "stormy cloud"],
-'73_73'        => ['(li)',     'fuzzy',        0x02607,        "lightning"],
-'69_69'        => ['(mo)',     '',     0x1F4B0,        "money"],
+['53_53'       => '(sn)',      '',     0x1F40C,        "snail"],
+['70_70'       => '(bah)',     'fuzzy',        0x1F411,        "black sheep"],
+['55_55'       => '(pl)',      '',     0x1F374,        "plate"],
+['56_56'       => '(||)',      '',     0x1F35C,        "bowl"],
+['57_57'       => '(pi)',      '',     0x1F355,        "pizza"],
+['58_58'       => '(so)',      '',     0x026BD,        "soccer ball"],
+['59_59'       => '(au)',      '',     0x1F697,        "auto"],
+['60_60'       => '(ap)',      '',     0x02708,        "airplane"],
+['61_61'       => '(um)',      '',     0x02602,        "umbrella"],
+['62_62'       => '(ip)',      '',     0x1F334,        "island with a palm tree"],
+['63_63'       => '(co)',      '',     0x1F4BB,        "computer"],
+['64_64'       => '(mp)',      '',     0x1F4F1,        "mobile phone"],
+['66_66'       => '(st)',      '',     0x02601,        "stormy cloud"],
+['73_73'       => '(li)',      'fuzzy',        0x02607,        "lightning"],
+['69_69'       => '(mo)',      '',     0x1F4B0,        "money"],
 
 # vi:ts=15
index bb75cefd6b9c320aaa8151e613cfa3adf4c7144a..62a8361d706fb654e778be3a936cf3fad1cc3e19 100644 (file)
 
 'part 1',
 
-1      => [':)',       'eminent v6',   0x0263A,        "happy"],
-2      => [':(',       'eminent v6',   0x02639,        "sad"],
-3      => [';)',       'eminent v6',   0x1F609,        "winking"],
-4      => [':D',       'eminent v6',   0x1F601,        "big grin"],
-5      => [';;)',      'v6',   0,      "batting eyelashes"],
-6      => ['>:D<',     'v6',   0x1F450,        "big hug"],
-7      => [':-/',      'eminent v6 fuzzy',     0x1F616,        "confused"],
-8      => [':x',       'v6',   0x1F60D,        "love struck"],
-9      => [':">',      'eminent v6',   0x1F633,        "blushing"],
-10     => [':P',       'eminent v6',   0x1F61C,        "tongue"],
-11     => [':-*',      'eminent v6',   0x1F61A,        "kiss"],
-12     => ['=((',      'v6',   0x1F494,        "broken heart"],
-13     => [':-O',      'eminent v6',   0x1F632,        "surprise"],
-14     => ['X(',       'eminent v6',   0x1F620,        "angry"],
-15     => [':>',       'eminent v6 fuzzy',     0x1F624,        "smug"], # triumph
-16     => ['B-)',      'eminent v6',   0x1F60E,        "cool"],
-17     => [':-S',      'eminent v6',   0x1F628,        "worried"],
-18     => ['#:-S',     'v6',   0x1F623,        "whew!"], # U+1F60C is too happy
-19     => ['>:)',      'eminent v6',   0x1F608,        "devil"],
-20     => [':((',      'eminent v6',   0x1F62D,        "crying"],
-21     => [':))',      'eminent v6',   0,      "laughing"],
+[1     => ':)',        'eminent v6',   0x0263A,        "happy"],
+[2     => ':(',        'eminent v6',   0x02639,        "sad"],
+[3     => ';)',        'eminent v6',   0x1F609,        "winking"],
+[4     => ':D',        'eminent v6',   0x1F601,        "big grin"],
+[5     => ';;)',       'v6',   0,      "batting eyelashes"],
+[6     => '>:D<',      'v6',   0x1F450,        "big hug"],
+[7     => ':-/',       'eminent v6 fuzzy',     0x1F616,        "confused"],
+[8     => ':x',        'v6',   0x1F60D,        "love struck"],
+[9     => ':">',       'eminent v6',   0x1F633,        "blushing"],
+[10    => ':P',        'eminent v6',   0x1F61C,        "tongue"],
+[11    => ':-*',       'eminent v6',   0x1F61A,        "kiss"],
+[12    => '=((',       'v6',   0x1F494,        "broken heart"],
+[13    => ':-O',       'eminent v6',   0x1F632,        "surprise"],
+[14    => 'X(',        'eminent v6',   0x1F620,        "angry"],
+[15    => ':>',        'eminent v6 fuzzy',     0x1F624,        "smug"], # triumph
+[16    => 'B-)',       'eminent v6',   0x1F60E,        "cool"],
+[17    => ':-S',       'eminent v6',   0x1F628,        "worried"],
+[18    => '#:-S',      'v6',   0x1F623,        "whew!"], # U+1F60C is too happy
+[19    => '>:)',       'eminent v6',   0x1F608,        "devil"],
+[20    => ':((',       'eminent v6',   0x1F62D,        "crying"],
+[21    => ':))',       'eminent v6',   0,      "laughing"],
 
 'part 2',
 
-22     => [':|',       'eminent v6',   0x1F610,        "straight face"],
-23     => ['/:)',      'v6',   0,      "raised eyebrows"],
-24     => ['=))',      'v6',   0,      "rolling on the floor"],
-25     => ['O:-)',     'v6',   0x1F607,        "angel"],
-26     => [':-B',      'v6 fuzzy',     0x1F453,        "nerd"],
-27     => ['=;',       'v6',   0x0270B,        "talk to the hand"],
-101    => [':-c',      '',     0,      "call me"],
-100    => [':)]',      '',     0,      "on the phone"],
-102    => ['~X(',      '',     0,      "at wits' end"],
-103    => [':-h',      '',     0x1F44B,        "wave"],
-104    => [':-t',      '',     0,      "time out"],
-105    => ['8->',      '',     0,      "day dreaming"],
-28     => ['I-)',      'v6',   0x1F62A,        "sleepy"],
-29     => ['8-|',      'v6 fuzzy',     0x1F612,        "rolling eyes"],
-30     => ['L-)',      'v6',   0,      "loser"],
-31     => [':-&',      'eminent v6 fuzzy',     0x1F637,        "sick"],
-32     => [':-$',      'v6 fuzzy',     0x1F64A,        "don't tell anyone"],
-33     => ['[-(',      'v6',   0,      "no talking"],
-34     => [':O)',      'v6',   0,      "clown"],
-35     => ['8-}',      'v6',   0,      "silly"],
-36     => ['<:-P',     'v6 fuzzy',     0x1F389,        "party"],
+[22    => ':|',        'eminent v6',   0x1F610,        "straight face"],
+[23    => '/:)',       'v6',   0,      "raised eyebrows"],
+[24    => '=))',       'v6',   0,      "rolling on the floor"],
+[25    => 'O:-)',      'v6',   0x1F607,        "angel"],
+[26    => ':-B',       'v6 fuzzy',     0x1F453,        "nerd"],
+[27    => '=;',        'v6',   0x0270B,        "talk to the hand"],
+[101   => ':-c',       '',     0,      "call me"],
+[100   => ':)]',       '',     0,      "on the phone"],
+[102   => '~X(',       '',     0,      "at wits' end"],
+[103   => ':-h',       '',     0x1F44B,        "wave"],
+[104   => ':-t',       '',     0,      "time out"],
+[105   => '8->',       '',     0,      "day dreaming"],
+[28    => 'I-)',       'v6',   0x1F62A,        "sleepy"],
+[29    => '8-|',       'v6 fuzzy',     0x1F612,        "rolling eyes"],
+[30    => 'L-)',       'v6',   0,      "loser"],
+[31    => ':-&',       'eminent v6 fuzzy',     0x1F637,        "sick"],
+[32    => ':-$',       'v6 fuzzy',     0x1F64A,        "don't tell anyone"],
+[33    => '[-(',       'v6',   0,      "no talking"],
+[34    => ':O)',       'v6',   0,      "clown"],
+[35    => '8-}',       'v6',   0,      "silly"],
+[36    => '<:-P',      'v6 fuzzy',     0x1F389,        "party"],
 
 'part 3',
 
-37     => ['(:|',      'eminent v6',   0x1F629,        "yawn"],
-38     => ['=P~',      'v6',   0x1F60B,        "drooling"],
-39     => [':-?',      'eminent v6',   0x1F614,        "thinking"],
-40     => ['#-o',      'v6',   0,      "d'oh"],
-41     => ['=D>',      'v6',   0x1F44F,        "applause"],
-42     => [':-SS',     'v6',   0,      "nail biting"],
-43     => ['@-)',      'v6',   0,      "hypnotized"],
-44     => [':^o',      'v6',   0,      "liar"],
-45     => [':-w',      'v6',   0,      "waiting"],
-46     => [':-<',      'v6',   0,      "sigh"],
-47     => ['>:P',      'v6',   0,      "phbbbbt"],
-48     => ['<):)',     'v6',   0,      "cowboy"],
-109    => ['X_X',      '',     0x1F648,        "I don't want to see"],
-110    => [':!!',      '',     0,      "hurry up!"],
-111    => ['\m/',      '',     0,      "rock on!"],
-112    => [':-q',      '',     0x1F44E,        "thumbs down"],
-113    => [':-bd',     '',     0x1F44D,        "thumbs up"],
-114    => ['^#(^',     '',     0,      "it wasn't me"],
-pirate_2       => [':ar!',     'ext',  0,      "pirate"],
+[37    => '(:|',       'eminent v6',   0x1F629,        "yawn"],
+[38    => '=P~',       'v6',   0x1F60B,        "drooling"],
+[39    => ':-?',       'eminent v6',   0x1F614,        "thinking"],
+[40    => '#-o',       'v6',   0,      "d'oh"],
+[41    => '=D>',       'v6',   0x1F44F,        "applause"],
+[42    => ':-SS',      'v6',   0,      "nail biting"],
+[43    => '@-)',       'v6',   0,      "hypnotized"],
+[44    => ':^o',       'v6',   0,      "liar"],
+[45    => ':-w',       'v6',   0,      "waiting"],
+[46    => ':-<',       'v6',   0,      "sigh"],
+[47    => '>:P',       'v6',   0,      "phbbbbt"],
+[48    => '<):)',      'v6',   0,      "cowboy"],
+[109   => 'X_X',       '',     0x1F648,        "I don't want to see"],
+[110   => ':!!',       '',     0,      "hurry up!"],
+[111   => '\m/',       '',     0,      "rock on!"],
+[112   => ':-q',       '',     0x1F44E,        "thumbs down"],
+[113   => ':-bd',      '',     0x1F44D,        "thumbs up"],
+[114   => '^#(^',      '',     0,      "it wasn't me"],
+[pirate_2      => ':ar!',      'ext',  0,      "pirate"],
 
 # http://messenger.yahoo.com/features/hiddenemoticons/
 
 'hidden 1',
 
-108    => [':o3',      'hidden fuzzy', 0x1F436,        "puppy dog eyes"],
-106    => [':-??',     'hidden',       0,      "I don't know"],
-107    => ['%-(',      'hidden',       0x1F649,        "not listening"],
-49     => [':@)',      'hidden v6',    0x1F437,        "pig"],
-50     => ['3:-O',     'hidden v6',    0x1F42E,        "cow"],
-51     => [':(|)',     'hidden v6',    0x1F435,        "monkey"],
-52     => ['~:>',      'hidden v6',    0x1F414,        "chicken"],
-53     => ['@};-',     'hidden v6',    0x1F339,        "rose"],
-54     => ['%%-',      'hidden v6',    0x1F340,        "good luck"],
-55     => ['**==',     'hidden v6',    0x02690,        "flag"],
-56     => ['(~~)',     'hidden v6',    0x1F383,        "pumpkin"],
-57     => ['~O)',      'hidden v6',    0x02615,        "coffee"],
-58     => ['*-:)',     'hidden v6',    0x1F4A1,        "idea"],
+[108   => ':o3',       'hidden fuzzy', 0x1F436,        "puppy dog eyes"],
+[106   => ':-??',      'hidden',       0,      "I don't know"],
+[107   => '%-(',       'hidden',       0x1F649,        "not listening"],
+[49    => ':@)',       'hidden v6',    0x1F437,        "pig"],
+[50    => '3:-O',      'hidden v6',    0x1F42E,        "cow"],
+[51    => ':(|)',      'hidden v6',    0x1F435,        "monkey"],
+[52    => '~:>',       'hidden v6',    0x1F414,        "chicken"],
+[53    => '@};-',      'hidden v6',    0x1F339,        "rose"],
+[54    => '%%-',       'hidden v6',    0x1F340,        "good luck"],
+[55    => '**==',      'hidden v6',    0x02690,        "flag"],
+[56    => '(~~)',      'hidden v6',    0x1F383,        "pumpkin"],
+[57    => '~O)',       'hidden v6',    0x02615,        "coffee"],
+[58    => '*-:)',      'hidden v6',    0x1F4A1,        "idea"],
 
 'hidden 2',
 
-59     => ['8-X',      'hidden v6',    0x1F480,        "skull"],
-60     => ['=:)',      'hidden v6',    0x1F41C,        "bug"],
-61     => ['>-)',      'hidden v6',    0x1F47D,        "alien"],
-62     => [':-L',      'hidden v6',    0x1F612,        "frustrated"],
-63     => ['[-O<',     'hidden v6',    0x1F64F,        "praying"],
-64     => ['$-)',      'hidden v6',    0,      "money eyes"],
-65     => [':-"',      'hidden v6',    0x0266B,        "whistling"],
-66     => ['b-(',      'hidden v6',    0,      "feeling beat up"],
-67     => [':)>-',     'hidden v6',    0x0262E,        "peace sign"], # U+270C
-68     => ['[-X',      'hidden v6',    0,      "shame on you"],
-69     => ['\:D/',     'hidden v6',    0x1F483,        "dancing"],
+[59    => '8-X',       'hidden v6',    0x1F480,        "skull"],
+[60    => '=:)',       'hidden v6',    0x1F41C,        "bug"],
+[61    => '>-)',       'hidden v6',    0x1F47D,        "alien"],
+[62    => ':-L',       'hidden v6',    0x1F612,        "frustrated"],
+[63    => '[-O<',      'hidden v6',    0x1F64F,        "praying"],
+[64    => '$-)',       'hidden v6',    0,      "money eyes"],
+[65    => ':-"',       'hidden v6',    0x0266B,        "whistling"],
+[66    => 'b-(',       'hidden v6',    0,      "feeling beat up"],
+[67    => ':)>-',      'hidden v6',    0x0262E,        "peace sign"], # U+270C
+[68    => '[-X',       'hidden v6',    0,      "shame on you"],
+[69    => '\:D/',      'hidden v6',    0x1F483,        "dancing"],
 
 'hidden 3',
 
-70     => ['>:/',      'hidden v6',    0,      "bring it on"],
-71     => [';))',      'hidden v6',    0x1F60F,        "hee hee"],
-76     => [':-@',      'hidden v6',    0,      "chatterbox"],
-77     => ['^:)^',     'hidden v6',    0x1F647,        "not worthy"],
-78     => [':-j',      'hidden v6',    0,      "oh go on"],
-79     => ['(*)',      'hidden v6',    0x02606,        "star"],
-72     => ['o->',      'hidden v6',    0,      "hiro"],
-73     => ['o=>',      'hidden v6',    0,      "billy"],
-74     => ['o-+',      'hidden v6',    0,      "april"],
-75     => ['(%)',      'hidden v6',    0x0262F,        "yin yang"],
-115    => [':bz',      'hidden',       0x1F41D,        "bee"],
-transformer    => ['[..]',     'hidden ext',   0,      "transformer"],
+[70    => '>:/',       'hidden v6',    0,      "bring it on"],
+[71    => ';))',       'hidden v6',    0x1F60F,        "hee hee"],
+[76    => ':-@',       'hidden v6',    0,      "chatterbox"],
+[77    => '^:)^',      'hidden v6',    0x1F647,        "not worthy"],
+[78    => ':-j',       'hidden v6',    0,      "oh go on"],
+[79    => '(*)',       'hidden v6',    0x02606,        "star"],
+[72    => 'o->',       'hidden v6',    0,      "hiro"],
+[73    => 'o=>',       'hidden v6',    0,      "billy"],
+[74    => 'o-+',       'hidden v6',    0,      "april"],
+[75    => '(%)',       'hidden v6',    0x0262F,        "yin yang"],
+[115   => ':bz',       'hidden',       0x1F41D,        "bee"],
+[transformer   => '[..]',      'hidden ext',   0,      "transformer"],
 
 # http://www.wackyb.co.nz/Archive_Yahoo_Messenger_Smiley_History/
 
index 690f9e379fb66e41f1b44194e2210ad3912aa397..0d733c72c301ea7d35ade1a65b37d2071617e40c 100644 (file)
--- a/emoji.plp
+++ b/emoji.plp
@@ -12,6 +12,7 @@ Html({
                chat im messenger msn yahoo ym gmail google
        '],
        stylesheet => [qw'light'],
+       data => ['emoji-gmail.inc.pl'],
 });
 
 :>
@@ -29,13 +30,12 @@ for my $system (qw'gmail msn yahoo') {
 
        say sprintf '<div class="section"><h2>%s</h2>', $meta->{name} // $system;
        say '<table><tbody>';
-       for (my $i = 0; $i <= $#info; $i++) {
-               my $name = $info[$i];
-               unless (ref $info[$i+1] eq 'ARRAY') {
+       for my $row (@info) {
+               unless (ref $row eq 'ARRAY') {
                        say '</table><table><tbody>';
                        next;
                }
-               my ($input, $flags, $char, $desc) = @{ $info[++$i] };
+               my ($name, $input, $flags, $char, $desc) = @{$row};
                say sprintf('<tr><th><img src="%s" alt="%s"><td><kbd>%s</kbd><td>%s%s',
                        sprintf($meta->{ $flags =~ /\bext\b/ ? 'iconext' : 'icon' } // '%s', $name),
                        EscapeHTML($name),