Clean up confusing variable row values. No need for lookups.
'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
'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
'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/
chat im messenger msn yahoo ym gmail google
'],
stylesheet => [qw'light'],
+ data => ['emoji-gmail.inc.pl'],
});
:>
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),