[smuxi: 7/15] [Common] Create mapping for emoji from name to codepoint



commit 8a234a819df692877bfcf163f261c4add89af80a
Author: Carlos Martín Nieto <cmn dwim me>
Date:   Sat Jan 31 13:40:12 2015 +0100

    [Common] Create mapping for emoji from name to codepoint
    
    Add a generator to create a dictionary of short-names to unicode point
    strings which we need to retrieve the images.
    
    If anything changed, you can re-run GenerateEmojione to create a partial
    class with the dictionary.

 src/Common/Common.csproj        |    3 +
 src/Common/Emojione.cs          |   57 +++
 src/Common/GenerateEmojione.cs  |   67 ++++
 src/Common/GeneratedEmojione.cs |  738 +++++++++++++++++++++++++++++++++++++++
 src/Common/Makefile.am          |    8 +-
 5 files changed, 872 insertions(+), 1 deletions(-)
---
diff --git a/src/Common/Common.csproj b/src/Common/Common.csproj
index 9b1e4df..93afcf4 100644
--- a/src/Common/Common.csproj
+++ b/src/Common/Common.csproj
@@ -60,9 +60,12 @@
     <Compile Include="RateLimiter.cs" />
     <Compile Include="SingleApplicationInstance.cs" />
     <Compile Include="IconCache.cs" />
+    <Compile Include="Emojione.cs" />
+    <Compile Include="GeneratedEmojione.cs" />
   </ItemGroup>
   <ItemGroup>
     <None Include="Defines.cs.in" />
+    <None Include="GenerateEmojione.cs" />
   </ItemGroup>
   <ItemGroup>
     <Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=a5715cc6d5c3540b">
diff --git a/src/Common/Emojione.cs b/src/Common/Emojione.cs
new file mode 100644
index 0000000..7a80c70
--- /dev/null
+++ b/src/Common/Emojione.cs
@@ -0,0 +1,57 @@
+// This file is part of Smuxi and is licensed under the terms of MIT/X11
+//
+// Copyright (c) 2015 Carlos Martín Nieto
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.Collections.Generic;
+
+namespace Smuxi.Common
+{
+    public partial class Emojione
+    {
+        readonly static string BaseUri = "http://cdn.jsdelivr.net/emojione/assets/png/";;
+
+        public static string ShortnameToUnicode(string shortName)
+        {
+            string val;
+            if (map.TryGetValue(shortName, out val)) {
+                return val;
+            }
+
+            return null;
+        }
+
+        public static string  UnicodeToUrl(string unicode)
+        {
+            return String.Format("{0}{1}.png", BaseUri, unicode);
+        }
+
+        public static string ShortnameToUri(string shortName)
+        {
+            var unicode = ShortnameToUnicode(shortName);
+            if (String.IsNullOrEmpty(unicode)) {
+                return null;
+            }
+
+            return UnicodeToUrl(unicode);
+        }
+    }
+}
+
diff --git a/src/Common/GenerateEmojione.cs b/src/Common/GenerateEmojione.cs
new file mode 100644
index 0000000..6cb0eb1
--- /dev/null
+++ b/src/Common/GenerateEmojione.cs
@@ -0,0 +1,67 @@
+// This file is part of Smuxi and is licensed under the terms of MIT/X11
+//
+// Copyright (c) 2015 Carlos Martín Nieto
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.IO;
+using System.Collections.Generic;
+using ServiceStack.Text;
+
+namespace Smuxi.Common {
+
+    public class GenerateEmojione {
+
+        readonly static string outputHead = @"
+// This file is autogenerated
+using System;
+using System.Collections.Generic;
+
+namespace Smuxi.Common {
+    public partial class Emojione {
+        static readonly Dictionary<string, string> map = new Dictionary<string, string> () {
+";
+
+        readonly static string outputTail = @"
+        };
+    }
+}
+";
+
+        public static void Main(string[] args) {
+            if (args.Length < 2) {
+                Console.Error.WriteLine("Usage: GenerateEmojione.cs <emoji.json> <EmojiMapping.cs>");
+                Environment.Exit(1);
+            }
+
+            var emojiDesc = File.ReadAllText(args[0]);
+            var objectList = JsonSerializer.DeserializeFromString<List<JsonObject>>(emojiDesc);
+            var obj = objectList[0];
+            using (var writer = new StreamWriter(args[1])) {
+                writer.Write(outputHead);
+                foreach (var j in obj) {
+                    var emoji = JsonSerializer.DeserializeFromString<JsonObject>(j.Value);
+                    writer.WriteLine(String.Format("{{ \"{0}\", \"{1}\" }},", j.Key, emoji.Get("unicode")));
+                }
+                writer.Write(outputTail);
+                writer.Flush();
+            }
+        }
+    }
+}
diff --git a/src/Common/GeneratedEmojione.cs b/src/Common/GeneratedEmojione.cs
new file mode 100644
index 0000000..4e6ae77
--- /dev/null
+++ b/src/Common/GeneratedEmojione.cs
@@ -0,0 +1,738 @@
+
+// This file is autogenerated
+using System;
+using System.Collections.Generic;
+
+namespace Smuxi.Common {
+    public partial class Emojione {
+        static readonly Dictionary<string, string> map = new Dictionary<string, string> () {
+{ "hash", "0023-20E3" },
+{ "zero", "0030-20E3" },
+{ "one", "0031-20E3" },
+{ "two", "0032-20E3" },
+{ "three", "0033-20E3" },
+{ "four", "0034-20E3" },
+{ "five", "0035-20E3" },
+{ "six", "0036-20E3" },
+{ "seven", "0037-20E3" },
+{ "eight", "0038-20E3" },
+{ "nine", "0039-20E3" },
+{ "copyright", "00A9" },
+{ "registered", "00AE" },
+{ "bangbang", "203C" },
+{ "interrobang", "2049" },
+{ "tm", "1F1F9-1F1F2" },
+{ "information_source", "2139" },
+{ "left_right_arrow", "2194" },
+{ "arrow_up_down", "2195" },
+{ "arrow_upper_left", "2196" },
+{ "arrow_upper_right", "2197" },
+{ "arrow_lower_right", "2198" },
+{ "arrow_lower_left", "2199" },
+{ "leftwards_arrow_with_hook", "21A9" },
+{ "arrow_right_hook", "21AA" },
+{ "watch", "231A" },
+{ "hourglass", "231B" },
+{ "fast_forward", "23E9" },
+{ "rewind", "23EA" },
+{ "arrow_double_up", "23EB" },
+{ "arrow_double_down", "23EC" },
+{ "alarm_clock", "23F0" },
+{ "hourglass_flowing_sand", "23F3" },
+{ "m", "24C2" },
+{ "black_small_square", "25AA" },
+{ "white_small_square", "25AB" },
+{ "arrow_forward", "25B6" },
+{ "arrow_backward", "25C0" },
+{ "white_medium_square", "25FB" },
+{ "black_medium_square", "25FC" },
+{ "white_medium_small_square", "25FD" },
+{ "black_medium_small_square", "25FE" },
+{ "sunny", "2600" },
+{ "cloud", "2601" },
+{ "telephone", "260E" },
+{ "ballot_box_with_check", "2611" },
+{ "umbrella", "2614" },
+{ "coffee", "2615" },
+{ "point_up", "261D" },
+{ "relaxed", "263A" },
+{ "aries", "2648" },
+{ "taurus", "2649" },
+{ "gemini", "264A" },
+{ "cancer", "264B" },
+{ "leo", "264C" },
+{ "virgo", "264D" },
+{ "libra", "264E" },
+{ "scorpius", "264F" },
+{ "sagittarius", "2650" },
+{ "capricorn", "2651" },
+{ "aquarius", "2652" },
+{ "pisces", "2653" },
+{ "spades", "2660" },
+{ "clubs", "2663" },
+{ "hearts", "2665" },
+{ "diamonds", "2666" },
+{ "hotsprings", "2668" },
+{ "recycle", "267B" },
+{ "wheelchair", "267F" },
+{ "anchor", "2693" },
+{ "warning", "26A0" },
+{ "zap", "26A1" },
+{ "white_circle", "26AA" },
+{ "black_circle", "26AB" },
+{ "soccer", "26BD" },
+{ "baseball", "26BE" },
+{ "snowman", "26C4" },
+{ "partly_sunny", "26C5" },
+{ "ophiuchus", "26CE" },
+{ "no_entry", "26D4" },
+{ "church", "26EA" },
+{ "fountain", "26F2" },
+{ "golf", "26F3" },
+{ "sailboat", "26F5" },
+{ "tent", "26FA" },
+{ "fuelpump", "26FD" },
+{ "scissors", "2702" },
+{ "white_check_mark", "2705" },
+{ "airplane", "2708" },
+{ "envelope", "2709" },
+{ "fist", "270A" },
+{ "raised_hand", "270B" },
+{ "v", "270C" },
+{ "pencil2", "270F" },
+{ "black_nib", "2712" },
+{ "heavy_check_mark", "2714" },
+{ "heavy_multiplication_x", "2716" },
+{ "sparkles", "2728" },
+{ "eight_spoked_asterisk", "2733" },
+{ "eight_pointed_black_star", "2734" },
+{ "snowflake", "2744" },
+{ "sparkle", "2747" },
+{ "x", "274C" },
+{ "negative_squared_cross_mark", "274E" },
+{ "question", "2753" },
+{ "grey_question", "2754" },
+{ "grey_exclamation", "2755" },
+{ "exclamation", "2757" },
+{ "heart", "2764" },
+{ "heavy_plus_sign", "2795" },
+{ "heavy_minus_sign", "2796" },
+{ "heavy_division_sign", "2797" },
+{ "arrow_right", "27A1" },
+{ "curly_loop", "27B0" },
+{ "arrow_heading_up", "2934" },
+{ "arrow_heading_down", "2935" },
+{ "arrow_left", "2B05" },
+{ "arrow_up", "2B06" },
+{ "arrow_down", "2B07" },
+{ "black_large_square", "2B1B" },
+{ "white_large_square", "2B1C" },
+{ "star", "2B50" },
+{ "o", "2B55" },
+{ "wavy_dash", "3030" },
+{ "part_alternation_mark", "303D" },
+{ "congratulations", "3297" },
+{ "secret", "3299" },
+{ "mahjong", "1F004" },
+{ "black_joker", "1F0CF" },
+{ "a", "1F170" },
+{ "b", "1F171" },
+{ "o2", "1F17E" },
+{ "parking", "1F17F" },
+{ "ab", "1F18E" },
+{ "cl", "1F1E8-1F1F1" },
+{ "cool", "1F192" },
+{ "free", "1F193" },
+{ "id", "1F1EE-1F1E9" },
+{ "new", "1F195" },
+{ "ng", "1F1F3-1F1EC" },
+{ "ok", "1F197" },
+{ "sos", "1F198" },
+{ "up", "1F199" },
+{ "vs", "1F19A" },
+{ "cn", "1F1E8-1F1F3" },
+{ "de", "1F1E9-1F1EA" },
+{ "es", "1F1EA-1F1F8" },
+{ "fr", "1F1EB-1F1F7" },
+{ "gb", "1F1EC-1F1E7" },
+{ "it", "1F1EE-1F1F9" },
+{ "jp", "1F1EF-1F1F5" },
+{ "kr", "1F1F0-1F1F7" },
+{ "us", "1F1FA-1F1F8" },
+{ "ru", "1F1F7-1F1FA" },
+{ "koko", "1F201" },
+{ "sa", "1F1F8-1F1E6" },
+{ "u7121", "1F21A" },
+{ "u6307", "1F22F" },
+{ "u7981", "1F232" },
+{ "u7a7a", "1F233" },
+{ "u5408", "1F234" },
+{ "u6e80", "1F235" },
+{ "u6709", "1F236" },
+{ "u6708", "1F237" },
+{ "u7533", "1F238" },
+{ "u5272", "1F239" },
+{ "u55b6", "1F23A" },
+{ "ideograph_advantage", "1F250" },
+{ "accept", "1F251" },
+{ "cyclone", "1F300" },
+{ "foggy", "1F301" },
+{ "closed_umbrella", "1F302" },
+{ "night_with_stars", "1F303" },
+{ "sunrise_over_mountains", "1F304" },
+{ "sunrise", "1F305" },
+{ "city_dusk", "1F306" },
+{ "city_sunset", "1F307" },
+{ "rainbow", "1F308" },
+{ "bridge_at_night", "1F309" },
+{ "ocean", "1F30A" },
+{ "volcano", "1F30B" },
+{ "milky_way", "1F30C" },
+{ "earth_asia", "1F30F" },
+{ "new_moon", "1F311" },
+{ "first_quarter_moon", "1F313" },
+{ "waxing_gibbous_moon", "1F314" },
+{ "full_moon", "1F315" },
+{ "crescent_moon", "1F319" },
+{ "first_quarter_moon_with_face", "1F31B" },
+{ "star2", "1F31F" },
+{ "stars", "1F320" },
+{ "chestnut", "1F330" },
+{ "seedling", "1F331" },
+{ "palm_tree", "1F334" },
+{ "cactus", "1F335" },
+{ "tulip", "1F337" },
+{ "cherry_blossom", "1F338" },
+{ "rose", "1F339" },
+{ "hibiscus", "1F33A" },
+{ "sunflower", "1F33B" },
+{ "blossom", "1F33C" },
+{ "corn", "1F33D" },
+{ "ear_of_rice", "1F33E" },
+{ "herb", "1F33F" },
+{ "four_leaf_clover", "1F340" },
+{ "maple_leaf", "1F341" },
+{ "fallen_leaf", "1F342" },
+{ "leaves", "1F343" },
+{ "mushroom", "1F344" },
+{ "tomato", "1F345" },
+{ "eggplant", "1F346" },
+{ "grapes", "1F347" },
+{ "melon", "1F348" },
+{ "watermelon", "1F349" },
+{ "tangerine", "1F34A" },
+{ "banana", "1F34C" },
+{ "pineapple", "1F34D" },
+{ "apple", "1F34E" },
+{ "green_apple", "1F34F" },
+{ "peach", "1F351" },
+{ "cherries", "1F352" },
+{ "strawberry", "1F353" },
+{ "hamburger", "1F354" },
+{ "pizza", "1F355" },
+{ "meat_on_bone", "1F356" },
+{ "poultry_leg", "1F357" },
+{ "rice_cracker", "1F358" },
+{ "rice_ball", "1F359" },
+{ "rice", "1F35A" },
+{ "curry", "1F35B" },
+{ "ramen", "1F35C" },
+{ "spaghetti", "1F35D" },
+{ "bread", "1F35E" },
+{ "fries", "1F35F" },
+{ "sweet_potato", "1F360" },
+{ "dango", "1F361" },
+{ "oden", "1F362" },
+{ "sushi", "1F363" },
+{ "fried_shrimp", "1F364" },
+{ "fish_cake", "1F365" },
+{ "icecream", "1F366" },
+{ "shaved_ice", "1F367" },
+{ "ice_cream", "1F368" },
+{ "doughnut", "1F369" },
+{ "cookie", "1F36A" },
+{ "chocolate_bar", "1F36B" },
+{ "candy", "1F36C" },
+{ "lollipop", "1F36D" },
+{ "custard", "1F36E" },
+{ "honey_pot", "1F36F" },
+{ "cake", "1F370" },
+{ "bento", "1F371" },
+{ "stew", "1F372" },
+{ "egg", "1F373" },
+{ "fork_and_knife", "1F374" },
+{ "tea", "1F375" },
+{ "sake", "1F376" },
+{ "wine_glass", "1F377" },
+{ "cocktail", "1F378" },
+{ "tropical_drink", "1F379" },
+{ "beer", "1F37A" },
+{ "beers", "1F37B" },
+{ "ribbon", "1F380" },
+{ "gift", "1F381" },
+{ "birthday", "1F382" },
+{ "jack_o_lantern", "1F383" },
+{ "christmas_tree", "1F384" },
+{ "santa", "1F385" },
+{ "fireworks", "1F386" },
+{ "sparkler", "1F387" },
+{ "balloon", "1F388" },
+{ "tada", "1F389" },
+{ "confetti_ball", "1F38A" },
+{ "tanabata_tree", "1F38B" },
+{ "crossed_flags", "1F38C" },
+{ "bamboo", "1F38D" },
+{ "dolls", "1F38E" },
+{ "flags", "1F38F" },
+{ "wind_chime", "1F390" },
+{ "rice_scene", "1F391" },
+{ "school_satchel", "1F392" },
+{ "mortar_board", "1F393" },
+{ "carousel_horse", "1F3A0" },
+{ "ferris_wheel", "1F3A1" },
+{ "roller_coaster", "1F3A2" },
+{ "fishing_pole_and_fish", "1F3A3" },
+{ "microphone", "1F3A4" },
+{ "movie_camera", "1F3A5" },
+{ "cinema", "1F3A6" },
+{ "headphones", "1F3A7" },
+{ "art", "1F3A8" },
+{ "tophat", "1F3A9" },
+{ "circus_tent", "1F3AA" },
+{ "ticket", "1F3AB" },
+{ "clapper", "1F3AC" },
+{ "performing_arts", "1F3AD" },
+{ "video_game", "1F3AE" },
+{ "dart", "1F3AF" },
+{ "slot_machine", "1F3B0" },
+{ "8ball", "1F3B1" },
+{ "game_die", "1F3B2" },
+{ "bowling", "1F3B3" },
+{ "flower_playing_cards", "1F3B4" },
+{ "musical_note", "1F3B5" },
+{ "notes", "1F3B6" },
+{ "saxophone", "1F3B7" },
+{ "guitar", "1F3B8" },
+{ "musical_keyboard", "1F3B9" },
+{ "trumpet", "1F3BA" },
+{ "violin", "1F3BB" },
+{ "musical_score", "1F3BC" },
+{ "running_shirt_with_sash", "1F3BD" },
+{ "tennis", "1F3BE" },
+{ "ski", "1F3BF" },
+{ "basketball", "1F3C0" },
+{ "checkered_flag", "1F3C1" },
+{ "snowboarder", "1F3C2" },
+{ "runner", "1F3C3" },
+{ "surfer", "1F3C4" },
+{ "trophy", "1F3C6" },
+{ "football", "1F3C8" },
+{ "swimmer", "1F3CA" },
+{ "house", "1F3E0" },
+{ "house_with_garden", "1F3E1" },
+{ "office", "1F3E2" },
+{ "post_office", "1F3E3" },
+{ "hospital", "1F3E5" },
+{ "bank", "1F3E6" },
+{ "atm", "1F3E7" },
+{ "hotel", "1F3E8" },
+{ "love_hotel", "1F3E9" },
+{ "convenience_store", "1F3EA" },
+{ "school", "1F3EB" },
+{ "department_store", "1F3EC" },
+{ "factory", "1F3ED" },
+{ "izakaya_lantern", "1F3EE" },
+{ "japanese_castle", "1F3EF" },
+{ "european_castle", "1F3F0" },
+{ "snail", "1F40C" },
+{ "snake", "1F40D" },
+{ "racehorse", "1F40E" },
+{ "sheep", "1F411" },
+{ "monkey", "1F412" },
+{ "chicken", "1F414" },
+{ "boar", "1F417" },
+{ "elephant", "1F418" },
+{ "octopus", "1F419" },
+{ "shell", "1F41A" },
+{ "bug", "1F41B" },
+{ "ant", "1F41C" },
+{ "bee", "1F41D" },
+{ "beetle", "1F41E" },
+{ "fish", "1F41F" },
+{ "tropical_fish", "1F420" },
+{ "blowfish", "1F421" },
+{ "turtle", "1F422" },
+{ "hatching_chick", "1F423" },
+{ "baby_chick", "1F424" },
+{ "hatched_chick", "1F425" },
+{ "bird", "1F426" },
+{ "penguin", "1F427" },
+{ "koala", "1F428" },
+{ "poodle", "1F429" },
+{ "camel", "1F42B" },
+{ "dolphin", "1F42C" },
+{ "mouse", "1F42D" },
+{ "cow", "1F42E" },
+{ "tiger", "1F42F" },
+{ "rabbit", "1F430" },
+{ "cat", "1F431" },
+{ "dragon_face", "1F432" },
+{ "whale", "1F433" },
+{ "horse", "1F434" },
+{ "monkey_face", "1F435" },
+{ "dog", "1F436" },
+{ "pig", "1F437" },
+{ "frog", "1F438" },
+{ "hamster", "1F439" },
+{ "wolf", "1F43A" },
+{ "bear", "1F43B" },
+{ "panda_face", "1F43C" },
+{ "pig_nose", "1F43D" },
+{ "feet", "1F43E" },
+{ "eyes", "1F440" },
+{ "ear", "1F442" },
+{ "nose", "1F443" },
+{ "lips", "1F444" },
+{ "tongue", "1F445" },
+{ "point_up_2", "1F446" },
+{ "point_down", "1F447" },
+{ "point_left", "1F448" },
+{ "point_right", "1F449" },
+{ "punch", "1F44A" },
+{ "wave", "1F44B" },
+{ "ok_hand", "1F44C" },
+{ "thumbsup", "1F44D" },
+{ "thumbsdown", "1F44E" },
+{ "clap", "1F44F" },
+{ "open_hands", "1F450" },
+{ "crown", "1F451" },
+{ "womans_hat", "1F452" },
+{ "eyeglasses", "1F453" },
+{ "necktie", "1F454" },
+{ "shirt", "1F455" },
+{ "jeans", "1F456" },
+{ "dress", "1F457" },
+{ "kimono", "1F458" },
+{ "bikini", "1F459" },
+{ "womans_clothes", "1F45A" },
+{ "purse", "1F45B" },
+{ "handbag", "1F45C" },
+{ "pouch", "1F45D" },
+{ "mans_shoe", "1F45E" },
+{ "athletic_shoe", "1F45F" },
+{ "high_heel", "1F460" },
+{ "sandal", "1F461" },
+{ "boot", "1F462" },
+{ "footprints", "1F463" },
+{ "bust_in_silhouette", "1F464" },
+{ "boy", "1F466" },
+{ "girl", "1F467" },
+{ "man", "1F468" },
+{ "woman", "1F469" },
+{ "family", "1F46A" },
+{ "couple", "1F46B" },
+{ "cop", "1F46E" },
+{ "dancers", "1F46F" },
+{ "bride_with_veil", "1F470" },
+{ "person_with_blond_hair", "1F471" },
+{ "man_with_gua_pi_mao", "1F472" },
+{ "man_with_turban", "1F473" },
+{ "older_man", "1F474" },
+{ "older_woman", "1F475" },
+{ "baby", "1F476" },
+{ "construction_worker", "1F477" },
+{ "princess", "1F478" },
+{ "japanese_ogre", "1F479" },
+{ "japanese_goblin", "1F47A" },
+{ "ghost", "1F47B" },
+{ "angel", "1F47C" },
+{ "alien", "1F47D" },
+{ "space_invader", "1F47E" },
+{ "imp", "1F47F" },
+{ "skull", "1F480" },
+{ "card_index", "1F4C7" },
+{ "information_desk_person", "1F481" },
+{ "guardsman", "1F482" },
+{ "dancer", "1F483" },
+{ "lipstick", "1F484" },
+{ "nail_care", "1F485" },
+{ "ledger", "1F4D2" },
+{ "massage", "1F486" },
+{ "notebook", "1F4D3" },
+{ "haircut", "1F487" },
+{ "notebook_with_decorative_cover", "1F4D4" },
+{ "barber", "1F488" },
+{ "closed_book", "1F4D5" },
+{ "syringe", "1F489" },
+{ "book", "1F4D6" },
+{ "pill", "1F48A" },
+{ "green_book", "1F4D7" },
+{ "kiss", "1F48B" },
+{ "blue_book", "1F4D8" },
+{ "love_letter", "1F48C" },
+{ "orange_book", "1F4D9" },
+{ "ring", "1F48D" },
+{ "books", "1F4DA" },
+{ "gem", "1F48E" },
+{ "name_badge", "1F4DB" },
+{ "couplekiss", "1F48F" },
+{ "scroll", "1F4DC" },
+{ "bouquet", "1F490" },
+{ "pencil", "1F4DD" },
+{ "couple_with_heart", "1F491" },
+{ "telephone_receiver", "1F4DE" },
+{ "wedding", "1F492" },
+{ "pager", "1F4DF" },
+{ "fax", "1F4E0" },
+{ "heartbeat", "1F493" },
+{ "satellite", "1F4E1" },
+{ "loudspeaker", "1F4E2" },
+{ "broken_heart", "1F494" },
+{ "mega", "1F4E3" },
+{ "outbox_tray", "1F4E4" },
+{ "two_hearts", "1F495" },
+{ "inbox_tray", "1F4E5" },
+{ "package", "1F4E6" },
+{ "sparkling_heart", "1F496" },
+{ "e-mail", "1F4E7" },
+{ "incoming_envelope", "1F4E8" },
+{ "heartpulse", "1F497" },
+{ "envelope_with_arrow", "1F4E9" },
+{ "mailbox_closed", "1F4EA" },
+{ "cupid", "1F498" },
+{ "mailbox", "1F4EB" },
+{ "postbox", "1F4EE" },
+{ "blue_heart", "1F499" },
+{ "newspaper", "1F4F0" },
+{ "iphone", "1F4F1" },
+{ "green_heart", "1F49A" },
+{ "calling", "1F4F2" },
+{ "vibration_mode", "1F4F3" },
+{ "yellow_heart", "1F49B" },
+{ "mobile_phone_off", "1F4F4" },
+{ "signal_strength", "1F4F6" },
+{ "purple_heart", "1F49C" },
+{ "camera", "1F4F7" },
+{ "video_camera", "1F4F9" },
+{ "gift_heart", "1F49D" },
+{ "tv", "1F1F9-1F1FB" },
+{ "radio", "1F4FB" },
+{ "revolving_hearts", "1F49E" },
+{ "vhs", "1F4FC" },
+{ "arrows_clockwise", "1F503" },
+{ "heart_decoration", "1F49F" },
+{ "loud_sound", "1F50A" },
+{ "battery", "1F50B" },
+{ "diamond_shape_with_a_dot_inside", "1F4A0" },
+{ "electric_plug", "1F50C" },
+{ "mag", "1F50D" },
+{ "bulb", "1F4A1" },
+{ "mag_right", "1F50E" },
+{ "lock_with_ink_pen", "1F50F" },
+{ "anger", "1F4A2" },
+{ "closed_lock_with_key", "1F510" },
+{ "key", "1F511" },
+{ "bomb", "1F4A3" },
+{ "lock", "1F512" },
+{ "unlock", "1F513" },
+{ "zzz", "1F4A4" },
+{ "bell", "1F514" },
+{ "bookmark", "1F516" },
+{ "boom", "1F4A5" },
+{ "link", "1F517" },
+{ "radio_button", "1F518" },
+{ "sweat_drops", "1F4A6" },
+{ "back", "1F519" },
+{ "end", "1F51A" },
+{ "droplet", "1F4A7" },
+{ "on", "1F51B" },
+{ "soon", "1F51C" },
+{ "dash", "1F4A8" },
+{ "top", "1F51D" },
+{ "underage", "1F51E" },
+{ "poop", "1F4A9" },
+{ "keycap_ten", "1F51F" },
+{ "muscle", "1F4AA" },
+{ "capital_abcd", "1F520" },
+{ "abcd", "1F521" },
+{ "dizzy", "1F4AB" },
+{ "1234", "1F522" },
+{ "symbols", "1F523" },
+{ "speech_balloon", "1F4AC" },
+{ "abc", "1F524" },
+{ "fire", "1F525" },
+{ "white_flower", "1F4AE" },
+{ "flashlight", "1F526" },
+{ "wrench", "1F527" },
+{ "100", "1F4AF" },
+{ "hammer", "1F528" },
+{ "nut_and_bolt", "1F529" },
+{ "moneybag", "1F4B0" },
+{ "knife", "1F52A" },
+{ "gun", "1F52B" },
+{ "currency_exchange", "1F4B1" },
+{ "crystal_ball", "1F52E" },
+{ "heavy_dollar_sign", "1F4B2" },
+{ "six_pointed_star", "1F52F" },
+{ "credit_card", "1F4B3" },
+{ "beginner", "1F530" },
+{ "trident", "1F531" },
+{ "yen", "1F4B4" },
+{ "black_square_button", "1F532" },
+{ "white_square_button", "1F533" },
+{ "dollar", "1F4B5" },
+{ "red_circle", "1F534" },
+{ "large_blue_circle", "1F535" },
+{ "money_with_wings", "1F4B8" },
+{ "large_orange_diamond", "1F536" },
+{ "large_blue_diamond", "1F537" },
+{ "chart", "1F4B9" },
+{ "small_orange_diamond", "1F538" },
+{ "small_blue_diamond", "1F539" },
+{ "seat", "1F4BA" },
+{ "small_red_triangle", "1F53A" },
+{ "small_red_triangle_down", "1F53B" },
+{ "computer", "1F4BB" },
+{ "arrow_up_small", "1F53C" },
+{ "briefcase", "1F4BC" },
+{ "arrow_down_small", "1F53D" },
+{ "clock1", "1F550" },
+{ "minidisc", "1F4BD" },
+{ "clock2", "1F551" },
+{ "floppy_disk", "1F4BE" },
+{ "clock3", "1F552" },
+{ "cd", "1F1E8-1F1E9" },
+{ "clock4", "1F553" },
+{ "dvd", "1F4C0" },
+{ "clock5", "1F554" },
+{ "clock6", "1F555" },
+{ "file_folder", "1F4C1" },
+{ "clock7", "1F556" },
+{ "clock8", "1F557" },
+{ "open_file_folder", "1F4C2" },
+{ "clock9", "1F558" },
+{ "clock10", "1F559" },
+{ "page_with_curl", "1F4C3" },
+{ "clock11", "1F55A" },
+{ "clock12", "1F55B" },
+{ "page_facing_up", "1F4C4" },
+{ "mount_fuji", "1F5FB" },
+{ "tokyo_tower", "1F5FC" },
+{ "date", "1F4C5" },
+{ "statue_of_liberty", "1F5FD" },
+{ "japan", "1F5FE" },
+{ "calendar", "1F4C6" },
+{ "moyai", "1F5FF" },
+{ "grin", "1F601" },
+{ "joy", "1F602" },
+{ "smiley", "1F603" },
+{ "chart_with_upwards_trend", "1F4C8" },
+{ "smile", "1F604" },
+{ "sweat_smile", "1F605" },
+{ "chart_with_downwards_trend", "1F4C9" },
+{ "laughing", "1F606" },
+{ "wink", "1F609" },
+{ "bar_chart", "1F4CA" },
+{ "blush", "1F60A" },
+{ "yum", "1F60B" },
+{ "clipboard", "1F4CB" },
+{ "relieved", "1F60C" },
+{ "heart_eyes", "1F60D" },
+{ "pushpin", "1F4CC" },
+{ "smirk", "1F60F" },
+{ "unamused", "1F612" },
+{ "round_pushpin", "1F4CD" },
+{ "sweat", "1F613" },
+{ "pensive", "1F614" },
+{ "paperclip", "1F4CE" },
+{ "confounded", "1F616" },
+{ "kissing_heart", "1F618" },
+{ "straight_ruler", "1F4CF" },
+{ "kissing_closed_eyes", "1F61A" },
+{ "stuck_out_tongue_winking_eye", "1F61C" },
+{ "triangular_ruler", "1F4D0" },
+{ "stuck_out_tongue_closed_eyes", "1F61D" },
+{ "disappointed", "1F61E" },
+{ "bookmark_tabs", "1F4D1" },
+{ "angry", "1F620" },
+{ "rage", "1F621" },
+{ "cry", "1F622" },
+{ "persevere", "1F623" },
+{ "triumph", "1F624" },
+{ "disappointed_relieved", "1F625" },
+{ "fearful", "1F628" },
+{ "weary", "1F629" },
+{ "sleepy", "1F62A" },
+{ "tired_face", "1F62B" },
+{ "sob", "1F62D" },
+{ "cold_sweat", "1F630" },
+{ "scream", "1F631" },
+{ "astonished", "1F632" },
+{ "flushed", "1F633" },
+{ "dizzy_face", "1F635" },
+{ "mask", "1F637" },
+{ "smile_cat", "1F638" },
+{ "joy_cat", "1F639" },
+{ "smiley_cat", "1F63A" },
+{ "heart_eyes_cat", "1F63B" },
+{ "smirk_cat", "1F63C" },
+{ "kissing_cat", "1F63D" },
+{ "pouting_cat", "1F63E" },
+{ "crying_cat_face", "1F63F" },
+{ "scream_cat", "1F640" },
+{ "no_good", "1F645" },
+{ "ok_woman", "1F646" },
+{ "bow", "1F647" },
+{ "see_no_evil", "1F648" },
+{ "hear_no_evil", "1F649" },
+{ "speak_no_evil", "1F64A" },
+{ "raising_hand", "1F64B" },
+{ "raised_hands", "1F64C" },
+{ "person_frowning", "1F64D" },
+{ "person_with_pouting_face", "1F64E" },
+{ "pray", "1F64F" },
+{ "rocket", "1F680" },
+{ "railway_car", "1F683" },
+{ "bullettrain_side", "1F684" },
+{ "bullettrain_front", "1F685" },
+{ "metro", "1F687" },
+{ "station", "1F689" },
+{ "bus", "1F68C" },
+{ "busstop", "1F68F" },
+{ "ambulance", "1F691" },
+{ "fire_engine", "1F692" },
+{ "police_car", "1F693" },
+{ "taxi", "1F695" },
+{ "red_car", "1F697" },
+{ "blue_car", "1F699" },
+{ "truck", "1F69A" },
+{ "ship", "1F6A2" },
+{ "speedboat", "1F6A4" },
+{ "traffic_light", "1F6A5" },
+{ "construction", "1F6A7" },
+{ "rotating_light", "1F6A8" },
+{ "triangular_flag_on_post", "1F6A9" },
+{ "door", "1F6AA" },
+{ "no_entry_sign", "1F6AB" },
+{ "smoking", "1F6AC" },
+{ "no_smoking", "1F6AD" },
+{ "bike", "1F6B2" },
+{ "walking", "1F6B6" },
+{ "mens", "1F6B9" },
+{ "womens", "1F6BA" },
+{ "restroom", "1F6BB" },
+{ "baby_symbol", "1F6BC" },
+{ "toilet", "1F6BD" },
+{ "wc", "1F6BE" },
+{ "bath", "1F6C0" },
+{ "grinning", "1F600" },
+{ "innocent", "1F607" },
+{ "smiling_imp", "1F608" },
+{ "sunglasses", "1F60E" },
+{ "neutral_face", "1F610" },
+{ "expressionless", "1F611" },
+{ "confused", "1F615" },
+
+        };
+    }
+}
diff --git a/src/Common/Makefile.am b/src/Common/Makefile.am
index df95c2c..beb8c4f 100644
--- a/src/Common/Makefile.am
+++ b/src/Common/Makefile.am
@@ -43,13 +43,15 @@ PROGRAMFILES =
 LINUX_PKGCONFIG = \
        $(COMMON_PC)  
        
-all: $(ASSEMBLY) $(PROGRAMFILES) $(LINUX_PKGCONFIG) 
+all: $(ASSEMBLY) $(PROGRAMFILES) $(LINUX_PKGCONFIG)
 
 FILES = \
        $(top_srcdir)/src/AssemblyVersion.cs \
        AssemblyInfo.cs \
        AtomFeed.cs \
        Crc32.cs \
+       Emojione.cs \
+       GeneratedEmojione.cs \
        IconCache.cs \
        IOSecurity.cs \
        ITraceable.cs \
@@ -103,3 +105,7 @@ $(build_resx_resources) : %.resources: %.resx
 $(ASSEMBLY) $(ASSEMBLY_MDB): $(build_sources) $(build_resources) $(build_datafiles) $(DLL_REFERENCES) 
$(PROJECT_REFERENCES) $(build_xamlg_list) $(build_satellite_assembly_list)
        mkdir -p $(dir $(ASSEMBLY))
        $(ASSEMBLY_COMPILER_COMMAND) $(ASSEMBLY_COMPILER_FLAGS) -out:$(ASSEMBLY) -target:$(COMPILE_TARGET) 
$(build_sources_embed) $(build_resources_embed) $(build_references_ref) $(LOG4NET_LIBS)
+
+generate-emojione:
+       $(ASSEMBLY_COMPILER_COMMAND) $(ASSEMBLY_COMPILER_FLAGS) -out:$(BUILD_DIR)/GenerateEmoji.exe 
-target:exe  GenerateEmojione.cs -r:$(BUILD_DIR)/ServiceStack.Text
+       $(BUILD_DIR)/GenerateEmoji.exe $(top_srcdir)/lib/emoji.json GeneratedEmojione.cs


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]