1 // This file is part of Smuxi and is licensed under the terms of MIT/X11 2 // 3 // Copyright (c) 2015 Carlos Martín Nieto 4 // Copyright (c) 2017 Mirco Bauer <meebey@meebey.net> 5 // 6 // Permission is hereby granted, free of charge, to any person obtaining a copy 7 // of this software and associated documentation files (the "Software"), to deal 8 // in the Software without restriction, including without limitation the rights 9 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 // copies of the Software, and to permit persons to whom the Software is 11 // furnished to do so, subject to the following conditions: 12 // 13 // The above copyright notice and this permission notice shall be included in 14 // all copies or substantial portions of the Software. 15 // 16 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 // THE SOFTWARE. 23 using System; 24 using System.Collections.Generic; 25 26 namespace Smuxi.Common 27 { 28 public partial class Emojione 29 { 30 readonly static string BaseUri = "http://cdnjs.cloudflare.com/ajax/libs/emojione/2.2.7/assets/png/"; 31 32 public static Dictionary<string, string> ShortnameToUnicodeMap { 33 get { 34 return map; 35 } 36 } 37 ShortnameToUnicode(string shortName)38 public static string ShortnameToUnicode(string shortName) 39 { 40 string val; 41 if (map.TryGetValue(shortName, out val)) { 42 return val; 43 } 44 45 return null; 46 } 47 UnicodeToUrl(string unicode)48 public static string UnicodeToUrl(string unicode) 49 { 50 // the filename has to be lower case, otherwise it will HTTP 404 51 unicode = unicode.ToLowerInvariant(); 52 return String.Format("{0}{1}.png", BaseUri, unicode); 53 } 54 ShortnameToUri(string shortName)55 public static string ShortnameToUri(string shortName) 56 { 57 var unicode = ShortnameToUnicode(shortName); 58 if (String.IsNullOrEmpty(unicode)) { 59 return null; 60 } 61 62 return UnicodeToUrl(unicode); 63 } 64 } 65 } 66 67