private static void Load_emotic() { DirectoryInfo di = new DirectoryInfo(Settings.AppPath + "emoticons"); FileInfo[] files = di.GetFiles(); ex_emotic = new ExtendedEmoticon[files.Length]; for (int i = 0; i < files.Length; i++) { using (MemoryStream ms = new MemoryStream(File.ReadAllBytes(files[i].FullName))) using (Bitmap raw = new Bitmap(ms)) { ExtendedEmoticon ex = new ExtendedEmoticon(); ex.Img = new Bitmap(raw.Width, raw.Height); using (Graphics g = Graphics.FromImage(ex.Img)) g.DrawImage(raw, new Point(0, 0)); ex.ShortcutText = Path.GetFileNameWithoutExtension(files[i].Name).ToUpper(); ex.Height = ex.Img.Height; ex_emotic[i] = ex; } } emotic = new Bitmap[49]; int count = 0; Rectangle r1 = new Rectangle(0, 0, 16, 16); Rectangle r2 = new Rectangle(0, 0, 16, 16); using (Bitmap raw = Properties.Resources.emotic) { for (int y = 0; y < 7; y++) { for (int x = 0; x < 7; x++) { emotic[count] = new Bitmap(16, 16); r2.X = (x * 16); r2.Y = (y * 16); using (Graphics g = Graphics.FromImage(emotic[count])) g.DrawImage(raw, r1, r2, GraphicsUnit.Pixel); emotic[count].MakeTransparent(Color.Magenta); count++; } } } Emoji.Load(); }
public EmoticonMenu() { this.InitializeComponent(); this.ClientSize = new Size(232, 267); this.MaximumSize = this.Size; this.MinimumSize = this.Size; this.emRegMenu1.EmoticonClicked += this.RegEmoticonClicked; this.VisibleChanged += this.EmoticonMenu_VisibleChanged; String path = Path.Combine(Settings.AniEmoticPath, "ext"); FileInfo[] files = new DirectoryInfo(path).GetFiles(); for (int i = 0; i < files.Length; i++) { PictureBox pb = new PictureBox(); pb.BackColor = Color.White; pb.Size = new Size(50, 50); pb.Location = new Point(1 + ((i % 4) * 50) + (i % 4), 1 + ((i / 4) * 50) + (i / 4)); pb.ImageLocation = files[i].FullName; pb.SizeMode = PictureBoxSizeMode.CenterImage | PictureBoxSizeMode.StretchImage; pb.Tag = Path.GetFileNameWithoutExtension(files[i].FullName); pb.Click += this.EmoticonClicked; pb.Cursor = Cursors.Hand; this.emExtMenu1.Controls.Add(pb); } this.ilist = new ImageList(); this.ilist.Images.Add((Bitmap)Emoticons.emotic[0].Clone()); this.ilist.Images.Add((Bitmap)Emoji.EmojiFromFileName("1f43c.png").Image.Clone()); this.tabControl1.ImageList = this.ilist; this.tabControl1.TabPages[0].ImageIndex = 0; this.tabControl1.TabPages[1].ImageIndex = 1; this.tabControl1.SelectedIndexChanged += this.MenuSelectedIndexChanged; this.toolStripButton1.Image = (Bitmap)Emoji.EmojiFromFileName("1f604.png").Image.Clone(); this.toolStripButton1.Tag = EmojiMenuBarSelectedItem.People; this.toolStripButton2.Image = (Bitmap)Emoji.EmojiFromFileName("1f338.png").Image.Clone(); this.toolStripButton2.Tag = EmojiMenuBarSelectedItem.Nature; this.toolStripButton3.Image = (Bitmap)Emoji.EmojiFromFileName("1f514.png").Image.Clone(); this.toolStripButton3.Tag = EmojiMenuBarSelectedItem.Objects; this.toolStripButton4.Image = (Bitmap)Emoji.EmojiFromFileName("1f698.png").Image.Clone(); this.toolStripButton4.Tag = EmojiMenuBarSelectedItem.Places; this.toolStripButton5.Image = (Bitmap)Emoji.EmojiFromFileName("1f523.png").Image.Clone(); this.toolStripButton5.Tag = EmojiMenuBarSelectedItem.Symbols; this.mbar = new EmojiMenuBar(); this.toolStrip1.Renderer = this.mbar; this.toolStrip1.ItemClicked += this.ToolstripItemClicked; this.e_people = new Emoji_People(); this.e_people.Dock = DockStyle.Fill; this.e_people.AutoScroll = true; this.e_people.BackColor = Color.White; this.e_people.Populate(this.EmojiClicked); this.e_nature = new Emoji_Nature(); this.e_nature.Dock = DockStyle.Fill; this.e_nature.AutoScroll = true; this.e_nature.BackColor = Color.White; this.e_nature.Populate(this.EmojiClicked); this.e_objects = new Emoji_Objects(); this.e_objects.Dock = DockStyle.Fill; this.e_objects.AutoScroll = true; this.e_objects.BackColor = Color.White; this.e_objects.Populate(this.EmojiClicked); this.e_places = new Emoji_Places(); this.e_places.Dock = DockStyle.Fill; this.e_places.AutoScroll = true; this.e_places.BackColor = Color.White; this.e_places.Populate(this.EmojiClicked); this.e_symbols = new Emoji_Symbols(); this.e_symbols.Dock = DockStyle.Fill; this.e_symbols.AutoScroll = true; this.e_symbols.BackColor = Color.White; this.e_symbols.Populate(this.EmojiClicked); this.panel1.Controls.Add(this.e_people); }
private void Render(String txt, String name, bool can_col, int first_col, AresFont _ff) { String text = txt.Replace("\r\n", "\r").Replace("\n", "\r").Replace("", "").Replace("]̽", "").Replace(" ̽", "").Replace("͊", "").Replace("]͊", "").Replace("͠", "").Replace("̶", "").Replace("̅", ""); List <Color> cols = new List <Color>(); StringBuilder rtf = new StringBuilder(); int col_index; String bg_test; AresFont ff = _ff; if (!Settings.GetReg <bool>("receive_ppl_fonts", true)) { ff = null; } if (ff == null) { cols.Add(this.GetColorFromCode(first_col)); } else { bg_test = ff.TextColor.ToUpper().Replace("#", String.Empty); if (bg_test == "000000" && this.IsBlack) { bg_test = "#FFFFFF"; } else if (bg_test == "FFFFFF" && !this.IsBlack) { bg_test = "#000000"; } else { bg_test = ff.TextColor; } cols.Add(this.HTMLColorToColor(bg_test)); } rtf.Append("\\cf1 "); if (this.GetColorIndex(ref cols, this.IsBlack ? Color.Black : Color.White) == -1) { cols.Add(this.IsBlack ? Color.Black : Color.White); rtf.Append("\\highlight2 "); } else { rtf.Append("\\highlight1 "); } char[] letters = text.ToCharArray(); bool bold = false, italic = false, underline = false; bool can_emoticon = Settings.GetReg <bool>("can_emoticon", true); int emote_count = 0; Color back_color = this.IsBlack ? Color.Black : Color.White; bool bg_code_used = false; EmojiItem emojiitem; String tmp; int itmp; using (Graphics richtextbox = this.CreateGraphics()) { for (int i = 0; i < letters.Length; i++) { switch (letters[i]) { case '\x0006': bold = !bold; rtf.Append(bold ? "\\b" : "\\b0"); break; case '\x0007': underline = !underline; rtf.Append(underline ? "\\ul" : "\\ul0"); break; case '\x0009': italic = !italic; rtf.Append(italic ? "\\i" : "\\i0"); break; case '\x03': if (letters.Length >= (i + 8)) { tmp = text.Substring((i + 1), 7); if (Helpers.IsHexCode(tmp)) { if (!bg_code_used) { if (this.IsBlack && tmp == "#000000") { itmp = 0; } else if (!this.IsBlack && tmp.ToUpper() == "#FFFFFF") { itmp = 1; } } col_index = this.GetColorIndex(ref cols, this.HTMLColorToColor(tmp)); if (col_index > -1) { rtf.Append("\\cf0\\cf" + (col_index + 1) + " "); } else { cols.Add(this.HTMLColorToColor(tmp)); rtf.Append("\\cf0\\cf" + cols.Count + " "); } i += 7; break; } } if (letters.Length >= (i + 3)) { tmp = text.Substring((i + 1), 2); if (int.TryParse(tmp, out itmp)) { if (!bg_code_used) { if (this.IsBlack && itmp == 1) { itmp = 0; } else if (!this.IsBlack && itmp == 0) { itmp = 1; } } col_index = this.GetColorIndex(ref cols, this.GetColorFromCode(itmp)); if (col_index > -1) { rtf.Append("\\cf0\\cf" + (col_index + 1) + " "); } else { cols.Add(this.GetColorFromCode(itmp)); rtf.Append("\\cf0\\cf" + cols.Count + " "); } i += 2; break; } } goto default; case '\x05': if (letters.Length >= (i + 8)) { tmp = text.Substring((i + 1), 7); if (Helpers.IsHexCode(tmp)) { back_color = this.HTMLColorToColor(tmp); col_index = this.GetColorIndex(ref cols, back_color); if (col_index > -1) { rtf.Append("\\highlight0\\highlight" + (col_index + 1) + " "); } else { cols.Add(back_color); rtf.Append("\\highlight0\\highlight" + cols.Count + " "); } bg_code_used = true; i += 7; break; } } if (letters.Length >= (i + 3)) { tmp = text.Substring((i + 1), 2); if (int.TryParse(tmp, out itmp)) { back_color = this.GetColorFromCode(itmp); col_index = this.GetColorIndex(ref cols, back_color); if (col_index > -1) { rtf.Append("\\highlight0\\highlight" + (col_index + 1) + " "); } else { cols.Add(back_color); rtf.Append("\\highlight0\\highlight" + cols.Count + " "); } bg_code_used = true; i += 2; break; } } goto default; case (char)35: case (char)48: case (char)49: case (char)50: case (char)51: case (char)52: case (char)53: case (char)54: case (char)55: case (char)56: case (char)57: case (char)169: case (char)174: case (char)55356: case (char)55357: case (char)8252: case (char)8265: case (char)8482: case (char)8505: case (char)8596: case (char)8597: case (char)8598: case (char)8599: case (char)8600: case (char)8601: case (char)8617: case (char)8618: case (char)8986: case (char)8987: case (char)9193: case (char)9194: case (char)9195: case (char)9196: case (char)9200: case (char)9203: case (char)9410: case (char)9642: case (char)9643: case (char)9654: case (char)9664: case (char)9723: case (char)9724: case (char)9725: case (char)9726: case (char)9728: case (char)9729: case (char)9742: case (char)9745: case (char)9748: case (char)9749: case (char)9757: case (char)9786: case (char)9800: case (char)9801: case (char)9802: case (char)9803: case (char)9804: case (char)9805: case (char)9806: case (char)9807: case (char)9808: case (char)9809: case (char)9810: case (char)9811: case (char)9824: case (char)9827: case (char)9829: case (char)9830: case (char)9832: case (char)9851: case (char)9855: case (char)9875: case (char)9888: case (char)9889: case (char)9898: case (char)9899: case (char)9917: case (char)9918: case (char)9924: case (char)9925: case (char)9934: case (char)9940: case (char)9962: case (char)9970: case (char)9971: case (char)9973: case (char)9978: case (char)9981: case (char)9986: case (char)9989: case (char)9992: case (char)9993: case (char)9994: case (char)9995: case (char)9996: case (char)9999: case (char)10002: case (char)10004: case (char)10006: case (char)10024: case (char)10035: case (char)10036: case (char)10052: case (char)10055: case (char)10060: case (char)10062: case (char)10067: case (char)10068: case (char)10069: case (char)10071: case (char)10084: case (char)10133: case (char)10134: case (char)10135: case (char)10145: case (char)10160: case (char)10175: case (char)10548: case (char)10549: case (char)11013: case (char)11014: case (char)11015: case (char)11035: case (char)11036: case (char)11088: case (char)11093: case (char)12336: case (char)12349: case (char)12951: case (char)12953: if (can_emoticon) { emojiitem = Emoji.GetEmoji24(letters, i); if (emojiitem != null) { if (emote_count++ < 8) { rtf.Append(Emoticons.GetRTFEmoji(emojiitem.Image, back_color, richtextbox)); i += (emojiitem.Length - 1); break; } else { goto default; } } } goto default; case '(': case ':': case ';': if (can_emoticon) { Emotic em = Emoticons.FindEmoticon(text.ToString().Substring(i).ToUpper()); if (em != null) { if (emote_count++ < 8) { rtf.Append(Emoticons.GetRTFEmoticon(em.Index, back_color, richtextbox)); i += (em.Shortcut.Length - 1); break; } else { goto default; } } em = this.FindNewEmoticon(text.ToString().Substring(i).ToUpper()); if (em != null) { if (emote_count++ < 8) { rtf.Append(Emoticons.GetRTFExEmoticon(em.Index, back_color, richtextbox)); i += (em.Shortcut.Length - 1); break; } else { goto default; } } } goto default; default: rtf.Append("\\u" + ((int)letters[i]) + "?"); break; } } } if (underline) { rtf.Append("\\ul0"); } if (italic) { rtf.Append("\\i0"); } if (bold) { rtf.Append("\\b0"); } rtf.Append("\\highlight0\\cf0"); if (!String.IsNullOrEmpty(name)) { StringBuilder name_builder = new StringBuilder(); if (ff == null) { Color colfromcode = this.GetColorFromCode(GlobalSettings.GetDefaultColorInt(GlobalSettings.DefaultColorType.Name, this.IsBlack)); col_index = this.GetColorIndex(ref cols, colfromcode); if (col_index > -1) { name_builder.Append("\\cf" + (col_index + 1) + " "); } else { cols.Add(this.IsBlack ? Color.Yellow : Color.Black); name_builder.Append("\\cf" + cols.Count + " "); } } else { bg_test = ff.NameColor.ToUpper().Replace("#", String.Empty); if (bg_test == "000000" && this.IsBlack) { bg_test = "#FFFF00"; } else if (bg_test == "FFFFFF" && !this.IsBlack) { bg_test = "#000000"; } else { bg_test = ff.NameColor; } col_index = this.GetColorIndex(ref cols, this.HTMLColorToColor(bg_test)); if (col_index > -1) { name_builder.Append("\\cf" + (col_index + 1) + " "); } else { cols.Add(this.HTMLColorToColor(bg_test)); name_builder.Append("\\cf" + cols.Count + " "); } } col_index = this.GetColorIndex(ref cols, this.IsBlack ? Color.Black : Color.White); if (col_index > -1) { name_builder.Append("\\highlight" + (col_index + 1) + " "); } else { cols.Add(this.IsBlack ? Color.Black : Color.White); name_builder.Append("\\highlight" + cols.Count + " "); } char[] name_chrs = (name + "> ").ToCharArray(); for (int i = 0; i < name_chrs.Length; i++) { name_builder.Append("\\u" + ((int)name_chrs[i]) + "?"); } name_builder.Append("\\highlight0\\cf0"); rtf.Insert(0, name_builder.ToString()); name_builder = null; } if (this.Lines.Length > 0) { rtf.Insert(0, "\\par"); } if (ff == null) { rtf.Insert(0, "\\fs" + (Settings.GetReg <int>("global_font_size", 10) * 2)); } else { int org_size = Settings.GetReg <int>("global_font_size", 10); int difference = (org_size - 10); int user_size = ff.Size + difference; rtf.Insert(0, "\\fs" + (user_size * 2)); } StringBuilder header = new StringBuilder(); header.Append("\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1040{\\fonttbl{\\f0\\fswiss\\fprq2\\fcharset0"); if (ff == null) { header.Append(Settings.GetReg <String>("global_font", "Tahoma") + ";}}"); } else { header.Append(ff.FontName + ";}}"); } header.Append(this.ColorsToRTFColorTable(cols.ToArray())); this.SelectionLength = 0; this.SelectionStart = this.Text.Length; this.TrimLines(); this.SelectedRtf = "{" + header + rtf + "}"; this.SelectionLength = 0; this.SelectionStart = this.Text.Length; cols.Clear(); cols = null; rtf = null; text = null; while (this.CanUndo) { this.ClearUndo(); } }
public void RenderChannelListItem(ChannelListViewItem item, FavouritesListItem org) { using (Bitmap bmp = new Bitmap(154, 15)) using (Graphics g = Graphics.FromImage(bmp)) { g.Clear(Color.White); String text = org.Name; char[] letters = text.ToCharArray(); int x = 0; for (var i = 0; i < letters.Length; i++) { switch (letters[i]) { case ' ': x += 3; break; default: int w = (int)Math.Round((double)g.MeasureString(letters[i].ToString(), this.t_font, 100, StringFormat.GenericTypographic).Width); if ((w + x) < 154) { g.DrawString(letters[i].ToString(), this.t_font, Brushes.Black, new PointF(x, 0)); } x += w; break; } if (x >= 154) { break; } } item.NameImg = new Bitmap(x + 2, 15); using (Graphics g2 = Graphics.FromImage(item.NameImg)) { g2.Clear(Color.Transparent); g2.DrawImage(bmp, new Point(0, 0)); } } using (Bitmap bmp = new Bitmap(35, 15)) using (Graphics g = Graphics.FromImage(bmp)) { g.Clear(Color.White); String text = org.CountString; if (String.IsNullOrEmpty(text)) { text = String.Empty; } char[] letters = text.ToCharArray(); int x = 0; for (var i = 0; i < letters.Length; i++) { switch (letters[i]) { case ' ': x += 3; break; default: int w = (int)Math.Round((double)g.MeasureString(letters[i].ToString(), this.t_font, 100, StringFormat.GenericTypographic).Width); if ((w + x) < 35) { g.DrawString(letters[i].ToString(), this.t_font, Brushes.Black, new PointF(x, 0)); } x += w; break; } if (x >= 35) { break; } } item.CountImg = new Bitmap(x + 2, 15); using (Graphics g2 = Graphics.FromImage(item.CountImg)) { g2.Clear(Color.Transparent); g2.DrawImage(bmp, new Point(0, 0)); } } using (Bitmap bmp = new Bitmap(1024, 15)) using (Graphics g = Graphics.FromImage(bmp)) { g.Clear(Color.White); g.CompositingQuality = CompositingQuality.HighQuality; g.InterpolationMode = InterpolationMode.HighQualityBilinear; String text = org.Topic; char[] letters = text.ToCharArray(); int x = 0; bool bold = false, italic = false, underline = false; Color fore_color = Color.Black; int color_finder; EmojiItem emoji_item; for (var i = 0; i < letters.Length; i++) { switch (letters[i]) { case '\x0006': bold = !bold; break; case '\x0007': underline = !underline; break; case '\x0009': italic = !italic; break; case '\x0003': if (letters.Length >= (i + 3)) { if (int.TryParse(text.Substring(i + 1, 2), out color_finder)) { fore_color = this.GetColorFromCode(color_finder); i += 2; } else { goto default; } } else { goto default; } break; case '\x0005': if (letters.Length >= (i + 3)) { if (int.TryParse(text.Substring(i + 1, 2), out color_finder)) { Color back_color = this.GetColorFromCode(color_finder); i += 2; using (SolidBrush brush = new SolidBrush(back_color)) g.FillRectangle(brush, new Rectangle(x + 2, 0, 1024 - x - 2, 15)); } else { goto default; } } else { goto default; } break; case ' ': x += underline ? 2 : (bold ? 4 : 3); if (underline) { using (Font font = new Font(this.t_font, this.CreateFont(bold, italic, underline))) using (SolidBrush brush = new SolidBrush(fore_color)) g.DrawString(" ", font, brush, new PointF(x, 0)); } break; case '(': case ':': case ';': Emotic em = Emoticons.FindEmoticon(text.Substring(i).ToUpper()); if (em != null) { g.DrawImage(Emoticons.emotic[em.Index], new RectangleF(x + 2, 0, 15, 15)); x += 15; i += (em.Shortcut.Length - 1); break; } else { goto default; } case (char)35: case (char)48: case (char)49: case (char)50: case (char)51: case (char)52: case (char)53: case (char)54: case (char)55: case (char)56: case (char)57: case (char)169: case (char)174: case (char)55356: case (char)55357: case (char)8252: case (char)8265: case (char)8482: case (char)8505: case (char)8596: case (char)8597: case (char)8598: case (char)8599: case (char)8600: case (char)8601: case (char)8617: case (char)8618: case (char)8986: case (char)8987: case (char)9193: case (char)9194: case (char)9195: case (char)9196: case (char)9200: case (char)9203: case (char)9410: case (char)9642: case (char)9643: case (char)9654: case (char)9664: case (char)9723: case (char)9724: case (char)9725: case (char)9726: case (char)9728: case (char)9729: case (char)9742: case (char)9745: case (char)9748: case (char)9749: case (char)9757: case (char)9786: case (char)9800: case (char)9801: case (char)9802: case (char)9803: case (char)9804: case (char)9805: case (char)9806: case (char)9807: case (char)9808: case (char)9809: case (char)9810: case (char)9811: case (char)9824: case (char)9827: case (char)9829: case (char)9830: case (char)9832: case (char)9851: case (char)9855: case (char)9875: case (char)9888: case (char)9889: case (char)9898: case (char)9899: case (char)9917: case (char)9918: case (char)9924: case (char)9925: case (char)9934: case (char)9940: case (char)9962: case (char)9970: case (char)9971: case (char)9973: case (char)9978: case (char)9981: case (char)9986: case (char)9989: case (char)9992: case (char)9993: case (char)9994: case (char)9995: case (char)9996: case (char)9999: case (char)10002: case (char)10004: case (char)10006: case (char)10024: case (char)10035: case (char)10036: case (char)10052: case (char)10055: case (char)10060: case (char)10062: case (char)10067: case (char)10068: case (char)10069: case (char)10071: case (char)10084: case (char)10133: case (char)10134: case (char)10135: case (char)10145: case (char)10160: case (char)10175: case (char)10548: case (char)10549: case (char)11013: case (char)11014: case (char)11015: case (char)11035: case (char)11036: case (char)11088: case (char)11093: case (char)12336: case (char)12349: case (char)12951: case (char)12953: emoji_item = Emoji.GetEmoji24(letters, i); if (emoji_item != null) { g.DrawImage(emoji_item.Image, new RectangleF(x + 2, 0, 15, 15)); x += 15; i += (emoji_item.Length - 1); break; } else { goto default; } default: using (Font f = new Font(this.t_font, this.CreateFont(bold, italic, underline))) using (SolidBrush brush = new SolidBrush(fore_color)) { int w = (int)Math.Round((double)g.MeasureString(letters[i].ToString(), f, 100, StringFormat.GenericTypographic).Width); g.DrawString(letters[i].ToString(), f, brush, new PointF(x, 0)); x += w; } break; } } item.TopicImg = new Bitmap(x + 2, 15); using (Graphics g2 = Graphics.FromImage(item.TopicImg)) { g2.Clear(Color.Transparent); g2.DrawImage(bmp, new Point(0, 0)); } } }
public void Populate(EventHandler callback) { this.tip = new ToolTip(); EmojiMenuShortcutItem[] items = new EmojiMenuShortcutItem[207]; items[0] = new EmojiMenuShortcutItem { SurrogateSequence = "49 8419", Shortcut = "1⃣", Description = "Keycap 1" }; items[1] = new EmojiMenuShortcutItem { SurrogateSequence = "50 8419", Shortcut = "2⃣", Description = "Keycap 2" }; items[2] = new EmojiMenuShortcutItem { SurrogateSequence = "51 8419", Shortcut = "3⃣", Description = "Keycap 3" }; items[3] = new EmojiMenuShortcutItem { SurrogateSequence = "52 8419", Shortcut = "4⃣", Description = "Keycap 4" }; items[4] = new EmojiMenuShortcutItem { SurrogateSequence = "53 8419", Shortcut = "5⃣", Description = "Keycap 5" }; items[5] = new EmojiMenuShortcutItem { SurrogateSequence = "54 8419", Shortcut = "6⃣", Description = "Keycap 6" }; items[6] = new EmojiMenuShortcutItem { SurrogateSequence = "55 8419", Shortcut = "7⃣", Description = "Keycap 7" }; items[7] = new EmojiMenuShortcutItem { SurrogateSequence = "56 8419", Shortcut = "8⃣", Description = "Keycap 8" }; items[8] = new EmojiMenuShortcutItem { SurrogateSequence = "57 8419", Shortcut = "9⃣", Description = "Keycap 9" }; items[9] = new EmojiMenuShortcutItem { SurrogateSequence = "48 8419", Shortcut = "0⃣", Description = "Keycap 0" }; items[10] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56607", Shortcut = "🔟", Description = "Keycap Ten" }; items[11] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56610", Shortcut = "🔢", Description = "Input Symbol For Numbers" }; items[12] = new EmojiMenuShortcutItem { SurrogateSequence = "35 8419", Shortcut = "#⃣", Description = "Hash Key" }; items[13] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56611", Shortcut = "🔣", Description = "Input Symbol For Symbols" }; items[14] = new EmojiMenuShortcutItem { SurrogateSequence = "11014", Shortcut = "⬆", Description = "Upwards Black Arrow" }; items[15] = new EmojiMenuShortcutItem { SurrogateSequence = "11015", Shortcut = "⬇", Description = "Downwards Black Arrow" }; items[16] = new EmojiMenuShortcutItem { SurrogateSequence = "11013", Shortcut = "⬅", Description = "Leftwards Black Arrow" }; items[17] = new EmojiMenuShortcutItem { SurrogateSequence = "10145", Shortcut = "➡", Description = "Black Rightwards Arrow" }; items[18] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56608", Shortcut = "🔠", Description = "Input Symbol For Latin Capital Letters" }; items[19] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56609", Shortcut = "🔡", Description = "Input Symbol For Latin Small Letters" }; items[20] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56612", Shortcut = "🔤", Description = "Input Symbol For Latin Letters" }; items[21] = new EmojiMenuShortcutItem { SurrogateSequence = "8599", Shortcut = "↗", Description = "North East Arrow" }; items[22] = new EmojiMenuShortcutItem { SurrogateSequence = "8598", Shortcut = "↖", Description = "North West Arrow" }; items[23] = new EmojiMenuShortcutItem { SurrogateSequence = "8600", Shortcut = "↘", Description = "South East Arrow" }; items[24] = new EmojiMenuShortcutItem { SurrogateSequence = "8601", Shortcut = "↙", Description = "South West Arrow" }; items[25] = new EmojiMenuShortcutItem { SurrogateSequence = "8596", Shortcut = "↔", Description = "Left Right Arrow" }; items[26] = new EmojiMenuShortcutItem { SurrogateSequence = "8597", Shortcut = "↕", Description = "Up Down Arrow" }; items[27] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56580", Shortcut = "🔄", Description = "Anticlockwise Downwards And Upwards" }; items[28] = new EmojiMenuShortcutItem { SurrogateSequence = "9664", Shortcut = "◀", Description = "Black Left-Pointing Triangle" }; items[29] = new EmojiMenuShortcutItem { SurrogateSequence = "9654", Shortcut = "▶", Description = "Black Right-Pointing Triangle" }; items[30] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56636", Shortcut = "🔼", Description = "Up-Pointing Small Red Triangle" }; items[31] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56637", Shortcut = "🔽", Description = "Down-Pointing Small Red Triangle" }; items[32] = new EmojiMenuShortcutItem { SurrogateSequence = "8617", Shortcut = "↩", Description = "Leftwards Arrow With Hook" }; items[33] = new EmojiMenuShortcutItem { SurrogateSequence = "8618", Shortcut = "↪", Description = "Rightwards Arrow With Hook" }; items[34] = new EmojiMenuShortcutItem { SurrogateSequence = "8505", Shortcut = "ℹ", Description = "Information Source" }; items[35] = new EmojiMenuShortcutItem { SurrogateSequence = "9194", Shortcut = "⏪", Description = "Black Left-Pointing Double Triangle" }; items[36] = new EmojiMenuShortcutItem { SurrogateSequence = "9193", Shortcut = "⏩", Description = "Black Right-Pointing Double Triangle" }; items[37] = new EmojiMenuShortcutItem { SurrogateSequence = "9195", Shortcut = "⏫", Description = "Black Up-Pointing Double Triangle" }; items[38] = new EmojiMenuShortcutItem { SurrogateSequence = "9196", Shortcut = "⏬", Description = "Black Down-Pointing Double Triangle" }; items[39] = new EmojiMenuShortcutItem { SurrogateSequence = "10549", Shortcut = "⤵", Description = "Arrow Pointing Rightwards Then Curving Downwards" }; items[40] = new EmojiMenuShortcutItem { SurrogateSequence = "10548", Shortcut = "⤴", Description = "Arrow Pointing Rightwards Then Curving Upwards" }; items[41] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56727", Shortcut = "🆗", Description = "Squared OK" }; items[42] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56576", Shortcut = "🔀", Description = "Twisted Rightwards Arrows" }; items[43] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56577", Shortcut = "🔁", Description = "Clockwise Rightwards And Leftwards Open Circle Arrows" }; items[44] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56578", Shortcut = "🔂", Description = "Clockwise Rightwards And Leftwards Open Circle Arrows With Circled One Overlay" }; items[45] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56725", Shortcut = "🆕", Description = "Squared New" }; items[46] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56729", Shortcut = "🆙", Description = "Squared Up With Exclamation Mark" }; items[47] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56722", Shortcut = "🆒", Description = "Squared Cool" }; items[48] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56723", Shortcut = "🆓", Description = "Squared Free" }; items[49] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56726", Shortcut = "🆖", Description = "Squared NG" }; items[50] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56566", Shortcut = "📶", Description = "Antenna With Bars" }; items[51] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57254", Shortcut = "🎦", Description = "Cinema" }; items[52] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56833", Shortcut = "🈁", Description = "Squared Katakana Koko" }; items[53] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56879", Shortcut = "🈯", Description = "Squared CJK Unified Ideograph-6307" }; items[54] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56883", Shortcut = "🈳", Description = "Squared CJK Unified Ideograph-7A7A" }; items[55] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56885", Shortcut = "🈵", Description = "Squared CJK Unified Ideograph-6E80" }; items[56] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56884", Shortcut = "🈴", Description = "Squared CJK Unified Ideograph-5408" }; items[57] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56882", Shortcut = "🈲", Description = "Squared CJK Unified Ideograph-7981" }; items[58] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56912", Shortcut = "🉐", Description = "Circled Ideograph Advantage" }; items[59] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56889", Shortcut = "🈹", Description = "Squared CJK Unified Ideograph-5272" }; items[60] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56890", Shortcut = "🈺", Description = "Squared CJK Unified Ideograph-55B6" }; items[61] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56886", Shortcut = "🈶", Description = "Squared CJK Unified Ideograph-6709" }; items[62] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56858", Shortcut = "🈚", Description = "Squared CJK Unified Ideograph-7121" }; items[63] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57019", Shortcut = "🚻", Description = "Restroom" }; items[64] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57017", Shortcut = "🚹", Description = "Mens Symbol" }; items[65] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57018", Shortcut = "🚺", Description = "Womens Symbol" }; items[66] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57020", Shortcut = "🚼", Description = "Baby Symbol" }; items[67] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57022", Shortcut = "🚾", Description = "Water Closet" }; items[68] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57008", Shortcut = "🚰", Description = "Potable Water Symbol" }; items[69] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57006", Shortcut = "🚮", Description = "Put Litter In Its Place Symbol" }; items[70] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56703", Shortcut = "🅿", Description = "Negative Squared Latin Capital Letter P" }; items[71] = new EmojiMenuShortcutItem { SurrogateSequence = "9855", Shortcut = "♿", Description = "Wheelchair Symbol" }; items[72] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57005", Shortcut = "🚭", Description = "No Smoking Symbol" }; items[73] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56887", Shortcut = "🈷", Description = "Squared CJK Unified Ideograph-6708" }; items[74] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56888", Shortcut = "🈸", Description = "Squared CJK Unified Ideograph-7533" }; items[75] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56834", Shortcut = "🈂", Description = "Squared Katakana Sa" }; items[76] = new EmojiMenuShortcutItem { SurrogateSequence = "9410", Shortcut = "Ⓜ", Description = "Circled Latin Capital Letter M" }; items[77] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57026", Shortcut = "🛂", Description = "Passport Control" }; items[78] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57028", Shortcut = "🛄", Description = "Baggage Claim" }; items[79] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57029", Shortcut = "🛅", Description = "Left Luggage" }; items[80] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57027", Shortcut = "🛃", Description = "Customs" }; items[81] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56913", Shortcut = "🉑", Description = "Circled Ideograph Accept" }; items[82] = new EmojiMenuShortcutItem { SurrogateSequence = "12953", Shortcut = "㊙", Description = "Circled Ideograph Secret" }; items[83] = new EmojiMenuShortcutItem { SurrogateSequence = "12951", Shortcut = "㊗", Description = "Circled Ideograph Congratulation" }; items[84] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56721", Shortcut = "🆑", Description = "Squared CL" }; items[85] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56728", Shortcut = "🆘", Description = "Squared SOS" }; items[86] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56724", Shortcut = "🆔", Description = "Squared ID" }; items[87] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57003", Shortcut = "🚫", Description = "No Entry Sign" }; items[88] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56606", Shortcut = "🔞", Description = "No One Under Eighteen Symbol" }; items[89] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56565", Shortcut = "📵", Description = "No Mobile Phones" }; items[90] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57007", Shortcut = "🚯", Description = "Do Not Litter Symbol" }; items[91] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57009", Shortcut = "🚱", Description = "Non-Potable Water Symbol" }; items[92] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57011", Shortcut = "🚳", Description = "No Bicycles" }; items[93] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57015", Shortcut = "🚷", Description = "No Pedestrians" }; items[94] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57016", Shortcut = "🚸", Description = "Children Crossing" }; items[95] = new EmojiMenuShortcutItem { SurrogateSequence = "9940", Shortcut = "⛔", Description = "No Entry" }; items[96] = new EmojiMenuShortcutItem { SurrogateSequence = "10035", Shortcut = "✳", Description = "Eight Spoked Asterisk" }; items[97] = new EmojiMenuShortcutItem { SurrogateSequence = "10055", Shortcut = "❇", Description = "Sparkle" }; items[98] = new EmojiMenuShortcutItem { SurrogateSequence = "10062", Shortcut = "❎", Description = "Negative Squared Cross Mark" }; items[99] = new EmojiMenuShortcutItem { SurrogateSequence = "9989", Shortcut = "✅", Description = "White Heavy Check Mark" }; items[100] = new EmojiMenuShortcutItem { SurrogateSequence = "10036", Shortcut = "✴", Description = "Eight Pointed Black Star" }; items[101] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56479", Shortcut = "💟", Description = "Heart Decoration" }; items[102] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56730", Shortcut = "🆚", Description = "Squared VS" }; items[103] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56563", Shortcut = "📳", Description = "Vibration Mode" }; items[104] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56564", Shortcut = "📴", Description = "Mobile Phone Off" }; items[105] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56688", Shortcut = "🅰", Description = "Negative Squared Latin Capital Letter A" }; items[106] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56689", Shortcut = "🅱", Description = "Negative Squared Latin Capital Letter B" }; items[107] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56718", Shortcut = "🆎", Description = "Negative Squared AB" }; items[108] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56702", Shortcut = "🅾", Description = "Negative Squared Latin Capital Letter O" }; items[109] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56480", Shortcut = "💠", Description = "Diamond Shape With A Dot Inside" }; items[110] = new EmojiMenuShortcutItem { SurrogateSequence = "10175", Shortcut = "➿", Description = "Double Curly Loop" }; items[111] = new EmojiMenuShortcutItem { SurrogateSequence = "9851", Shortcut = "♻", Description = "Black Universal Recycling Symbol" }; items[112] = new EmojiMenuShortcutItem { SurrogateSequence = "9800", Shortcut = "♈", Description = "Aries" }; items[113] = new EmojiMenuShortcutItem { SurrogateSequence = "9801", Shortcut = "♉", Description = "Taurus" }; items[114] = new EmojiMenuShortcutItem { SurrogateSequence = "9802", Shortcut = "♊", Description = "Gemini" }; items[115] = new EmojiMenuShortcutItem { SurrogateSequence = "9803", Shortcut = "♋", Description = "Cancer" }; items[116] = new EmojiMenuShortcutItem { SurrogateSequence = "9804", Shortcut = "♌", Description = "Leo" }; items[117] = new EmojiMenuShortcutItem { SurrogateSequence = "9805", Shortcut = "♍", Description = "Virgo" }; items[118] = new EmojiMenuShortcutItem { SurrogateSequence = "9806", Shortcut = "♎", Description = "Libra" }; items[119] = new EmojiMenuShortcutItem { SurrogateSequence = "9807", Shortcut = "♏", Description = "Scorpius" }; items[120] = new EmojiMenuShortcutItem { SurrogateSequence = "9808", Shortcut = "♐", Description = "Sagittarius" }; items[121] = new EmojiMenuShortcutItem { SurrogateSequence = "9809", Shortcut = "♑", Description = "Capricorn" }; items[122] = new EmojiMenuShortcutItem { SurrogateSequence = "9810", Shortcut = "♒", Description = "Aquarius" }; items[123] = new EmojiMenuShortcutItem { SurrogateSequence = "9811", Shortcut = "♓", Description = "Pisces" }; items[124] = new EmojiMenuShortcutItem { SurrogateSequence = "9934", Shortcut = "⛎", Description = "Ophiuchus" }; items[125] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56623", Shortcut = "🔯", Description = "Six Pointed Star With Middle Dot " }; items[126] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57319", Shortcut = "🏧", Description = "Automated Teller Machine" }; items[127] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56505", Shortcut = "💹", Description = "Chart With Upwards Trend And Yen Sign" }; items[128] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56498", Shortcut = "💲", Description = "Heavy Dollar Sign" }; items[129] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56497", Shortcut = "💱", Description = "Currency Exchange" }; items[130] = new EmojiMenuShortcutItem { SurrogateSequence = "169", Shortcut = "©", Description = "Copyright Sign" }; items[131] = new EmojiMenuShortcutItem { SurrogateSequence = "174", Shortcut = "®", Description = "Registered Sign" }; items[132] = new EmojiMenuShortcutItem { SurrogateSequence = "8482", Shortcut = "™", Description = "Trade Mark Sign" }; items[133] = new EmojiMenuShortcutItem { SurrogateSequence = "10060", Shortcut = "❌", Description = "Cross Mark" }; items[134] = new EmojiMenuShortcutItem { SurrogateSequence = "8252", Shortcut = "‼", Description = "Double Exclamation Mark" }; items[135] = new EmojiMenuShortcutItem { SurrogateSequence = "8265", Shortcut = "⁉", Description = "Exclamation Question Mark" }; items[136] = new EmojiMenuShortcutItem { SurrogateSequence = "10071", Shortcut = "❗", Description = "Heavy Exclamation Mark Symbol" }; items[137] = new EmojiMenuShortcutItem { SurrogateSequence = "10067", Shortcut = "❓", Description = "Black Question Mark Ornament" }; items[138] = new EmojiMenuShortcutItem { SurrogateSequence = "10069", Shortcut = "❕", Description = "White Exclamation Mark Ornament" }; items[139] = new EmojiMenuShortcutItem { SurrogateSequence = "10068", Shortcut = "❔", Description = "White Question Mark Ornament" }; items[140] = new EmojiMenuShortcutItem { SurrogateSequence = "11093", Shortcut = "⭕", Description = "Heavy Large Circle" }; items[141] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56605", Shortcut = "🔝", Description = "Top With Upwards Arrow Above" }; items[142] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56602", Shortcut = "🔚", Description = "End With Leftwards Arrow Above" }; items[143] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56601", Shortcut = "🔙", Description = "Back With Leftwards Arrow Above" }; items[144] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56603", Shortcut = "🔛", Description = "On With Exclamation Mark With Left Right Arrow Above" }; items[145] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56604", Shortcut = "🔜", Description = "Soon With Rightwards Arrow Above" }; items[146] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56579", Shortcut = "🔃", Description = "Clockwise Downwards And Upwards Open Circle Arrows" }; items[147] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56667", Shortcut = "🕛", Description = "Clock Face Twelve O’Clock" }; items[148] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56679", Shortcut = "🕧", Description = "Clock Face Twelve-Thirty" }; items[149] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56656", Shortcut = "🕐", Description = "Clock Face One O’Clock" }; items[150] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56668", Shortcut = "🕜", Description = "Clock Face One-Thirty" }; items[151] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56657", Shortcut = "🕑", Description = "Clock Face Two O’Clock" }; items[152] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56669", Shortcut = "🕝", Description = "Clock Face Two-Thirty" }; items[153] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56658", Shortcut = "🕒", Description = "Clock Face Three O’Clock" }; items[154] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56670", Shortcut = "🕞", Description = "Clock Face Three-Thirty" }; items[155] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56659", Shortcut = "🕓", Description = "Clock Face Four O’Clock" }; items[156] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56671", Shortcut = "🕟", Description = "Clock Face Four-Thirty" }; items[157] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56660", Shortcut = "🕔", Description = "Clock Face Five O’Clock" }; items[158] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56672", Shortcut = "🕠", Description = "Clock Face Five-Thirty" }; items[159] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56661", Shortcut = "🕕", Description = "Clock Face Six O’Clock" }; items[160] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56673", Shortcut = "🕡", Description = "Clock Face Six-Thirty" }; items[161] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56662", Shortcut = "🕖", Description = "Clock Face Seven O’Clock" }; items[162] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56674", Shortcut = "🕢", Description = "Clock Face Seven-Thirty" }; items[163] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56663", Shortcut = "🕗", Description = "Clock Face Eight O’Clock" }; items[164] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56675", Shortcut = "🕣", Description = "Clock Face Eight-Thirty" }; items[165] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56664", Shortcut = "🕘", Description = "Clock Face Nine O’Clock" }; items[166] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56676", Shortcut = "🕤", Description = "Clock Face Nine-Thirty" }; items[167] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56665", Shortcut = "🕙", Description = "Clock Face Ten O’Clock" }; items[168] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56677", Shortcut = "🕥", Description = "Clock Face Ten-Thirty" }; items[169] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56666", Shortcut = "🕚", Description = "Clock Face Eleven O’Clock" }; items[170] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56678", Shortcut = "🕦", Description = "Clock Face Eleven-Thirty" }; items[171] = new EmojiMenuShortcutItem { SurrogateSequence = "10006", Shortcut = "✖", Description = "Heavy Multiplication X" }; items[172] = new EmojiMenuShortcutItem { SurrogateSequence = "10133", Shortcut = "➕", Description = "Heavy Plus Sign" }; items[173] = new EmojiMenuShortcutItem { SurrogateSequence = "10134", Shortcut = "➖", Description = "Heavy Minus Sign" }; items[174] = new EmojiMenuShortcutItem { SurrogateSequence = "10135", Shortcut = "➗", Description = "Heavy Division Sign" }; items[175] = new EmojiMenuShortcutItem { SurrogateSequence = "9824", Shortcut = "♠", Description = "Black Spade Suit" }; items[176] = new EmojiMenuShortcutItem { SurrogateSequence = "9829", Shortcut = "♥", Description = "Black Heart Suit" }; items[177] = new EmojiMenuShortcutItem { SurrogateSequence = "9827", Shortcut = "♣", Description = "Black Club Suit" }; items[178] = new EmojiMenuShortcutItem { SurrogateSequence = "9830", Shortcut = "♦", Description = "Black Diamond Suit" }; items[179] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56494", Shortcut = "💮", Description = "White Flower" }; items[180] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56495", Shortcut = "💯", Description = "Hundred Points Symbol" }; items[181] = new EmojiMenuShortcutItem { SurrogateSequence = "10004", Shortcut = "✔", Description = "Heavy Check Mark" }; items[182] = new EmojiMenuShortcutItem { SurrogateSequence = "9745", Shortcut = "☑", Description = "Ballot Box With Check" }; items[183] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56600", Shortcut = "🔘", Description = "Radio Button" }; items[184] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56599", Shortcut = "🔗", Description = "Link Symbol" }; items[185] = new EmojiMenuShortcutItem { SurrogateSequence = "10160", Shortcut = "➰", Description = "Curly Loop" }; items[186] = new EmojiMenuShortcutItem { SurrogateSequence = "12336", Shortcut = "〰", Description = "Wavy Dash" }; items[187] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56625", Shortcut = "🔱", Description = "Trident Emblem" }; items[188] = new EmojiMenuShortcutItem { SurrogateSequence = "9724", Shortcut = "◼", Description = "Black Medium Square" }; items[189] = new EmojiMenuShortcutItem { SurrogateSequence = "9723", Shortcut = "◻", Description = "White Medium Square" }; items[190] = new EmojiMenuShortcutItem { SurrogateSequence = "9725", Shortcut = "◽", Description = "White Medium Small Square" }; items[191] = new EmojiMenuShortcutItem { SurrogateSequence = "9642", Shortcut = "▪", Description = "Black Small Square" }; items[192] = new EmojiMenuShortcutItem { SurrogateSequence = "9643", Shortcut = "▫", Description = "White Small Square" }; items[193] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56634", Shortcut = "🔺", Description = "Up-Pointing Red Triangle" }; items[194] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56626", Shortcut = "🔲", Description = "Black Square Button" }; items[195] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56627", Shortcut = "🔳", Description = "White Square Button" }; items[196] = new EmojiMenuShortcutItem { SurrogateSequence = "9899", Shortcut = "⚫", Description = "Medium Black Circle" }; items[197] = new EmojiMenuShortcutItem { SurrogateSequence = "9898", Shortcut = "⚪", Description = "Medium White Circle" }; items[198] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56628", Shortcut = "🔴", Description = "Large Red Circle" }; items[199] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56629", Shortcut = "🔵", Description = "Large Blue Circle" }; items[200] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56635", Shortcut = "🔻", Description = "Down-Pointing Red Triangle" }; items[201] = new EmojiMenuShortcutItem { SurrogateSequence = "11036", Shortcut = "⬜", Description = "White Large Square" }; items[202] = new EmojiMenuShortcutItem { SurrogateSequence = "11035", Shortcut = "⬛", Description = "Black Large Square" }; items[203] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56630", Shortcut = "🔶", Description = "Large Orange Diamond" }; items[204] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56631", Shortcut = "🔷", Description = "Large Blue Diamond" }; items[205] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56632", Shortcut = "🔸", Description = "Small Orange Diamond" }; items[206] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56633", Shortcut = "🔹", Description = "Small Blue Diamond" }; for (int i = 0; i < items.Length; i++) { PictureBox pic = new PictureBox(); pic.BackColor = Color.White; pic.Size = new Size(24, 24); int per_line = 8; pic.Location = new Point(1 + ((i % per_line) * 24) + (i % per_line), 1 + ((i / per_line) * 24) + (i / per_line)); pic.Cursor = Cursors.Hand; pic.Tag = items[i]; pic.MouseHover += this.pic_MouseHover; pic.Click += callback; EmojiItem item = Emoji.EmojiFromSurrogate(items[i].SurrogateSequence); pic.ImageLocation = Path.Combine(Settings.AppPath, "emoji", "at24", item.FileName); pic.SizeMode = PictureBoxSizeMode.CenterImage; this.Controls.Add(pic); } }
public void Populate(EventHandler callback) { this.tip = new ToolTip(); EmojiMenuShortcutItem[] items = new EmojiMenuShortcutItem[230]; items[0] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57229", Shortcut = "🎍", Description = "Pine Decoration" }; items[1] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56477", Shortcut = "💝", Description = "Heart With Ribbon" }; items[2] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57230", Shortcut = "🎎", Description = "Japanese Dolls" }; items[3] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57234", Shortcut = "🎒", Description = "School Satchel" }; items[4] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57235", Shortcut = "🎓", Description = "Graduation Cap" }; items[5] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57231", Shortcut = "🎏", Description = "Carp Streamer" }; items[6] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57222", Shortcut = "🎆", Description = "Fireworks" }; items[7] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57223", Shortcut = "🎇", Description = "Firework Sparkler" }; items[8] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57232", Shortcut = "🎐", Description = "Wind Chime" }; items[9] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57233", Shortcut = "🎑", Description = "Moon Viewing Ceremony" }; items[10] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57219", Shortcut = "🎃", Description = "Jack-O-Lantern" }; items[11] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56443", Shortcut = "👻", Description = "Ghost" }; items[12] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57221", Shortcut = "🎅", Description = "Father Christmas" }; items[13] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57220", Shortcut = "🎄", Description = "Christmas Tree" }; items[14] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57217", Shortcut = "🎁", Description = "Wrapped Present" }; items[15] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57227", Shortcut = "🎋", Description = "Tanabata Tree" }; items[16] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57225", Shortcut = "🎉", Description = "Party Popper" }; items[17] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57226", Shortcut = "🎊", Description = "Confetti Ball" }; items[18] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57224", Shortcut = "🎈", Description = "Balloon" }; items[19] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57228", Shortcut = "🎌", Description = "Crossed Flags" }; items[20] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56622", Shortcut = "🔮", Description = "Crystal Ball" }; items[21] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57253", Shortcut = "🎥", Description = "Movie Camera" }; items[22] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56567", Shortcut = "📷", Description = "Camera" }; items[23] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56569", Shortcut = "📹", Description = "Video Camera" }; items[24] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56572", Shortcut = "📼", Description = "Videocassette" }; items[25] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56511", Shortcut = "💿", Description = "Optical Disc" }; items[26] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56512", Shortcut = "📀", Description = "DVD" }; items[27] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56509", Shortcut = "💽", Description = "Minidisc" }; items[28] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56510", Shortcut = "💾", Description = "Floppy Disk" }; items[29] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56507", Shortcut = "💻", Description = "Personal Computer" }; items[30] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56561", Shortcut = "📱", Description = "Mobile Phone" }; items[31] = new EmojiMenuShortcutItem { SurrogateSequence = "9742", Shortcut = "☎", Description = "Black Telephone" }; items[32] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56542", Shortcut = "📞", Description = "Telephone Receiver" }; items[33] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56543", Shortcut = "📟", Description = "Pager" }; items[34] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56544", Shortcut = "📠", Description = "Fax Machine" }; items[35] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56545", Shortcut = "📡", Description = "Satellite Antenna" }; items[36] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56570", Shortcut = "📺", Description = "Television" }; items[37] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56571", Shortcut = "📻", Description = "Radio" }; items[38] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56586", Shortcut = "🔊", Description = "Speaker With Three Sound Waves" }; items[39] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56585", Shortcut = "🔉", Description = "Speaker With One Sound Wave" }; items[40] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56584", Shortcut = "🔈", Description = "Speaker" }; items[41] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56583", Shortcut = "🔇", Description = "Speaker With Cancellation Stroke" }; items[42] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56596", Shortcut = "🔔", Description = "Bell" }; items[43] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56597", Shortcut = "🔕", Description = "Bell With Cancellation Stroke" }; items[44] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56546", Shortcut = "📢", Description = "Public Address Loudspeaker" }; items[45] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56547", Shortcut = "📣", Description = "Cheering Megaphone" }; items[46] = new EmojiMenuShortcutItem { SurrogateSequence = "9203", Shortcut = "⏳", Description = "Hourglass With Flowing Sand" }; items[47] = new EmojiMenuShortcutItem { SurrogateSequence = "8987", Shortcut = "⌛", Description = "Hourglass" }; items[48] = new EmojiMenuShortcutItem { SurrogateSequence = "9200", Shortcut = "⏰", Description = "Alarm Clock" }; items[49] = new EmojiMenuShortcutItem { SurrogateSequence = "8986", Shortcut = "⌚", Description = "Watch" }; items[50] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56595", Shortcut = "🔓", Description = "Open Lock" }; items[51] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56594", Shortcut = "🔒", Description = "Lock" }; items[52] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56591", Shortcut = "🔏", Description = "Lock With Ink Pen" }; items[53] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56592", Shortcut = "🔐", Description = "Closed Lock With Key" }; items[54] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56593", Shortcut = "🔑", Description = "Key" }; items[55] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56590", Shortcut = "🔎", Description = "Right-Pointing Magnifying Glass" }; items[56] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56481", Shortcut = "💡", Description = "Electric Light Bulb" }; items[57] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56614", Shortcut = "🔦", Description = "Electric Torch" }; items[58] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56582", Shortcut = "🔆", Description = "High Brightness Symbol" }; items[59] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56581", Shortcut = "🔅", Description = "Low Brightness Symbol" }; items[60] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56588", Shortcut = "🔌", Description = "Electric Plug" }; items[61] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56587", Shortcut = "🔋", Description = "Battery" }; items[62] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56589", Shortcut = "🔍", Description = "Left-Pointing Magnifying Glass" }; items[63] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57025", Shortcut = "🛁", Description = "Bathtub" }; items[64] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57024", Shortcut = "🛀", Description = "Bath" }; items[65] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57023", Shortcut = "🚿", Description = "Shower" }; items[66] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57021", Shortcut = "🚽", Description = "Toilet" }; items[67] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56615", Shortcut = "🔧", Description = "Wrench" }; items[68] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56617", Shortcut = "🔩", Description = "Nut And Bolt" }; items[69] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56616", Shortcut = "🔨", Description = "Hammer" }; items[70] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57002", Shortcut = "🚪", Description = "Door" }; items[71] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57004", Shortcut = "🚬", Description = "Smoking Symbol" }; items[72] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56483", Shortcut = "💣", Description = "Bomb" }; items[73] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56619", Shortcut = "🔫", Description = "Pistol" }; items[74] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56618", Shortcut = "🔪", Description = "Hocho" }; items[75] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56458", Shortcut = "💊", Description = "Pill" }; items[76] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56457", Shortcut = "💉", Description = "Syringe" }; items[77] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56496", Shortcut = "💰", Description = "Money Bag" }; items[78] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56500", Shortcut = "💴", Description = "Banknote With Yen Sign" }; items[79] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56501", Shortcut = "💵", Description = "Banknote With Dollar Sign" }; items[80] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56503", Shortcut = "💷", Description = "Banknote With Pound Sign" }; items[81] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56502", Shortcut = "💶", Description = "Banknote With Euro Sign" }; items[82] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56499", Shortcut = "💳", Description = "Credit Card" }; items[83] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56504", Shortcut = "💸", Description = "Money With Wings" }; items[84] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56562", Shortcut = "📲", Description = "Mobile Phone With Rightwards Arrow At Left" }; items[85] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56551", Shortcut = "📧", Description = "E-Mail Symbol" }; items[86] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56549", Shortcut = "📥", Description = "Inbox Tray" }; items[87] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56548", Shortcut = "📤", Description = "Outbox Tray" }; items[88] = new EmojiMenuShortcutItem { SurrogateSequence = "9993", Shortcut = "✉", Description = "Envelope" }; items[89] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56553", Shortcut = "📩", Description = "Envelope With Downwards Arrow Above" }; items[90] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56552", Shortcut = "📨", Description = "Incoming Envelope" }; items[91] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56559", Shortcut = "📯", Description = "Postal Horn" }; items[92] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56555", Shortcut = "📫", Description = "Closed Mailbox With Raised Flag" }; items[93] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56554", Shortcut = "📪", Description = "Closed Mailbox With Lowered Flag" }; items[94] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56556", Shortcut = "📬", Description = "Open Mailbox With Raised Flag" }; items[95] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56557", Shortcut = "📭", Description = "Open Mailbox With Lowered Flag" }; items[96] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56558", Shortcut = "📮", Description = "Postbox" }; items[97] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56550", Shortcut = "📦", Description = "Package" }; items[98] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56541", Shortcut = "📝", Description = "Memo" }; items[99] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56516", Shortcut = "📄", Description = "Page Facing Up" }; items[100] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56515", Shortcut = "📃", Description = "Page With Curl" }; items[101] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56529", Shortcut = "📑", Description = "Bookmark Tabs" }; items[102] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56522", Shortcut = "📊", Description = "Bar Chart" }; items[103] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56520", Shortcut = "📈", Description = "Chart With Upwards Trend" }; items[104] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56521", Shortcut = "📉", Description = "Chart With Downwards Trend" }; items[105] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56540", Shortcut = "📜", Description = "Scroll" }; items[106] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56523", Shortcut = "📋", Description = "Clipboard" }; items[107] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56517", Shortcut = "📅", Description = "Calendar" }; items[108] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56518", Shortcut = "📆", Description = "Tear-Off Calendar" }; items[109] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56519", Shortcut = "📇", Description = "Card Index" }; items[110] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56513", Shortcut = "📁", Description = "File Folder" }; items[111] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56514", Shortcut = "📂", Description = "Open File Folder" }; items[112] = new EmojiMenuShortcutItem { SurrogateSequence = "9986", Shortcut = "✂", Description = "Black Scissors" }; items[113] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56524", Shortcut = "📌", Description = "Pushpin" }; items[114] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56526", Shortcut = "📎", Description = "Paperclip" }; items[115] = new EmojiMenuShortcutItem { SurrogateSequence = "10002", Shortcut = "✒", Description = "Black Nib" }; items[116] = new EmojiMenuShortcutItem { SurrogateSequence = "9999", Shortcut = "✏", Description = "Pencil" }; items[117] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56527", Shortcut = "📏", Description = "Straight Ruler" }; items[118] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56528", Shortcut = "📐", Description = "Triangular Ruler" }; items[119] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56533", Shortcut = "📕", Description = "Closed Book" }; items[120] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56535", Shortcut = "📗", Description = "Green Book" }; items[121] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56536", Shortcut = "📘", Description = "Blue Book" }; items[122] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56537", Shortcut = "📙", Description = "Orange Book" }; items[123] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56531", Shortcut = "📓", Description = "Notebook" }; items[124] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56532", Shortcut = "📔", Description = "Notebook With Decorative Cover" }; items[125] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56530", Shortcut = "📒", Description = "Ledger" }; items[126] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56538", Shortcut = "📚", Description = "Books" }; items[127] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56534", Shortcut = "📖", Description = "Open Book" }; items[128] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56598", Shortcut = "🔖", Description = "Bookmark" }; items[129] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56539", Shortcut = "📛", Description = "Name Badge" }; items[130] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56620", Shortcut = "🔬", Description = "Microscope" }; items[131] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56621", Shortcut = "🔭", Description = "Telescope " }; items[132] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56560", Shortcut = "📰", Description = "Newspaper" }; items[133] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57256", Shortcut = "🎨", Description = "Artist Palette" }; items[134] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57260", Shortcut = "🎬", Description = "Clapper Board" }; items[135] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57252", Shortcut = "🎤", Description = "Microphone" }; items[136] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57255", Shortcut = "🎧", Description = "Headphone" }; items[137] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57276", Shortcut = "🎼", Description = "Musical Score" }; items[138] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57269", Shortcut = "🎵", Description = "Musical Note" }; items[139] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57270", Shortcut = "🎶", Description = "Multiple Musical Notes" }; items[140] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57273", Shortcut = "🎹", Description = "Musical Keyboard" }; items[141] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57275", Shortcut = "🎻", Description = "Violin" }; items[142] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57274", Shortcut = "🎺", Description = "Trumpet" }; items[143] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57271", Shortcut = "🎷", Description = "Saxophone" }; items[144] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57272", Shortcut = "🎸", Description = "Guitar" }; items[145] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56446", Shortcut = "👾", Description = "Alien Monster" }; items[146] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57262", Shortcut = "🎮", Description = "Video Game" }; items[147] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56527", Shortcut = "🃏", Description = "Playing Card Black Joker" }; items[148] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57268", Shortcut = "🎴", Description = "Flower Playing Cards" }; items[149] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56324", Shortcut = "🀄", Description = "Mahjong Tile Red Dragon" }; items[150] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57266", Shortcut = "🎲", Description = "Game Die" }; items[151] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57263", Shortcut = "🎯", Description = "Direct Hit" }; items[152] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57288", Shortcut = "🏈", Description = "American Football" }; items[153] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57280", Shortcut = "🏀", Description = "Basketball And Hoop" }; items[154] = new EmojiMenuShortcutItem { SurrogateSequence = "9917", Shortcut = "⚽", Description = "Soccer Ball" }; items[155] = new EmojiMenuShortcutItem { SurrogateSequence = "9918", Shortcut = "⚾", Description = "Baseball" }; items[156] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57278", Shortcut = "🎾", Description = "Tennis Racquet And Ball" }; items[157] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57265", Shortcut = "🎱", Description = "Billiards" }; items[158] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57289", Shortcut = "🏉", Description = "Rugby Football" }; items[159] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57267", Shortcut = "🎳", Description = "Bowling" }; items[160] = new EmojiMenuShortcutItem { SurrogateSequence = "9971", Shortcut = "⛳", Description = "Flag In Hole" }; items[161] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57013", Shortcut = "🚵", Description = "Mountain Bicyclist" }; items[162] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57012", Shortcut = "🚴", Description = "Bicyclist" }; items[163] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57281", Shortcut = "🏁", Description = "Chequered Flag" }; items[164] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57287", Shortcut = "🏇", Description = "Horse Racing" }; items[165] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57286", Shortcut = "🏆", Description = "Trophy" }; items[166] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57279", Shortcut = "🎿", Description = "Ski And Ski Boot" }; items[167] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57282", Shortcut = "🏂", Description = "Snowboarder" }; items[168] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57290", Shortcut = "🏊", Description = "Swimmer" }; items[169] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57284", Shortcut = "🏄", Description = "Surfer" }; items[170] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57251", Shortcut = "🎣", Description = "Fishing Pole And Fish" }; items[171] = new EmojiMenuShortcutItem { SurrogateSequence = "9749", Shortcut = "☕", Description = "Hot Beverage" }; items[172] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57205", Shortcut = "🍵", Description = "Teacup Without Handle" }; items[173] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57206", Shortcut = "🍶", Description = "Sake Bottle And Cup" }; items[174] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57212", Shortcut = "🍼", Description = "Baby Bottle" }; items[175] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57210", Shortcut = "🍺", Description = "Beer Mug" }; items[176] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57211", Shortcut = "🍻", Description = "Clinking Beer Mugs" }; items[177] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57208", Shortcut = "🍸", Description = "Cocktail Glass" }; items[178] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57209", Shortcut = "🍹", Description = "Tropical Drink" }; items[179] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57207", Shortcut = "🍷", Description = "Wine Glass" }; items[180] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57204", Shortcut = "🍴", Description = "Fork And Knife" }; items[181] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57173", Shortcut = "🍕", Description = "Slice Of Pizza" }; items[182] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57172", Shortcut = "🍔", Description = "Hamburger" }; items[183] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57183", Shortcut = "🍟", Description = "French Fries" }; items[184] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57175", Shortcut = "🍗", Description = "Poultry Leg" }; items[185] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57174", Shortcut = "🍖", Description = "Meat On Bone" }; items[186] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57181", Shortcut = "🍝", Description = "Spaghetti" }; items[187] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57179", Shortcut = "🍛", Description = "Curry And Rice" }; items[188] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57188", Shortcut = "🍤", Description = "Fried Shrimp" }; items[189] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57201", Shortcut = "🍱", Description = "Bento Box" }; items[190] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57187", Shortcut = "🍣", Description = "Sushi" }; items[191] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57189", Shortcut = "🍥", Description = "Fish Cake With Swirl Design" }; items[192] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57177", Shortcut = "🍙", Description = "Rice Ball" }; items[193] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57176", Shortcut = "🍘", Description = "Rice Cracker" }; items[194] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57178", Shortcut = "🍚", Description = "Cooked Rice" }; items[195] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57180", Shortcut = "🍜", Description = "Steaming Bowl" }; items[196] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57202", Shortcut = "🍲", Description = "Pot Of Food" }; items[197] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57186", Shortcut = "🍢", Description = "Oden" }; items[198] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57185", Shortcut = "🍡", Description = "Dango" }; items[199] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57203", Shortcut = "🍳", Description = "Cooking" }; items[200] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57182", Shortcut = "🍞", Description = "Bread" }; items[201] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57193", Shortcut = "🍩", Description = "Doughnut" }; items[202] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57198", Shortcut = "🍮", Description = "Custard" }; items[203] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57190", Shortcut = "🍦", Description = "Soft Ice Cream" }; items[204] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57192", Shortcut = "🍨", Description = "Ice Cream" }; items[205] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57191", Shortcut = "🍧", Description = "Shaved Ice" }; items[206] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57218", Shortcut = "🎂", Description = "Birthday Cake" }; items[207] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57200", Shortcut = "🍰", Description = "Shortcake" }; items[208] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57194", Shortcut = "🍪", Description = "Cookie" }; items[209] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57195", Shortcut = "🍫", Description = "Chocolate Bar" }; items[210] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57196", Shortcut = "🍬", Description = "Candy" }; items[211] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57197", Shortcut = "🍭", Description = "Lollipop" }; items[212] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57199", Shortcut = "🍯", Description = "Honey Pot" }; items[213] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57166", Shortcut = "🍎", Description = "Red Apple" }; items[214] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57167", Shortcut = "🍏", Description = "Green Apple" }; items[215] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57162", Shortcut = "🍊", Description = "Tangerine" }; items[216] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57163", Shortcut = "🍋", Description = "Lemon" }; items[217] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57170", Shortcut = "🍒", Description = "Cherries" }; items[218] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57159", Shortcut = "🍇", Description = "Grapes" }; items[219] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57161", Shortcut = "🍉", Description = "Watermelon" }; items[220] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57171", Shortcut = "🍓", Description = "Strawberry" }; items[221] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57169", Shortcut = "🍑", Description = "Peach" }; items[222] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57160", Shortcut = "🍈", Description = "Melon" }; items[223] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57164", Shortcut = "🍌", Description = "Banana" }; items[224] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57168", Shortcut = "🍐", Description = "Pear" }; items[225] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57165", Shortcut = "🍍", Description = "Pineapple" }; items[226] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57184", Shortcut = "🍠", Description = "Roasted Sweet Potato" }; items[227] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57158", Shortcut = "🍆", Description = "Aubergine" }; items[228] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57157", Shortcut = "🍅", Description = "Tomato" }; items[229] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57149", Shortcut = "🌽", Description = "Ear Of Maize" }; for (int i = 0; i < items.Length; i++) { PictureBox pic = new PictureBox(); pic.BackColor = Color.White; pic.Size = new Size(24, 24); int per_line = 8; pic.Location = new Point(1 + ((i % per_line) * 24) + (i % per_line), 1 + ((i / per_line) * 24) + (i / per_line)); pic.Cursor = Cursors.Hand; pic.Tag = items[i]; pic.MouseHover += this.pic_MouseHover; pic.Click += callback; EmojiItem item = Emoji.EmojiFromSurrogate(items[i].SurrogateSequence); pic.ImageLocation = Path.Combine(Settings.AppPath, "emoji", "at24", item.FileName); pic.SizeMode = PictureBoxSizeMode.CenterImage; this.Controls.Add(pic); } }
public void Populate(EventHandler callback) { this.tip = new ToolTip(); EmojiMenuShortcutItem[] items = new EmojiMenuShortcutItem[116]; items[0] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56374", Shortcut = "🐶", Description = "Dog Face" }; items[1] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56378", Shortcut = "🐺", Description = "Wolf Face" }; items[2] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56369", Shortcut = "🐱", Description = "Cat Face" }; items[3] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56365", Shortcut = "🐭", Description = "Mouse Face" }; items[4] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56377", Shortcut = "🐹", Description = "Hamster Face" }; items[5] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56368", Shortcut = "🐰", Description = "Rabbit Face" }; items[6] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56376", Shortcut = "🐸", Description = "Frog Face" }; items[7] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56367", Shortcut = "🐯", Description = "Tiger Face" }; items[8] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56360", Shortcut = "🐨", Description = "Koala" }; items[9] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56379", Shortcut = "🐻", Description = "Bear Face" }; items[10] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56375", Shortcut = "🐷", Description = "Pig Face" }; items[11] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56381", Shortcut = "🐽", Description = "Pig Nose" }; items[12] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56366", Shortcut = "🐮", Description = "Cow Face" }; items[13] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56343", Shortcut = "🐗", Description = "Boar" }; items[14] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56373", Shortcut = "🐵", Description = "Monkey Face" }; items[15] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56338", Shortcut = "🐒", Description = "Monkey" }; items[16] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56372", Shortcut = "🐴", Description = "Horse Face" }; items[17] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56337", Shortcut = "🐑", Description = "Sheep" }; items[18] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56344", Shortcut = "🐘", Description = "Elephant" }; items[19] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56380", Shortcut = "🐼", Description = "Panda Face" }; items[20] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56359", Shortcut = "🐧", Description = "Penguin" }; items[21] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56358", Shortcut = "🐦", Description = "Bird" }; items[22] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56356", Shortcut = "🐤", Description = "Baby Chick" }; items[23] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56357", Shortcut = "🐥", Description = "Front-Facing Baby Chick" }; items[24] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56355", Shortcut = "🐣", Description = "Hatching Chick" }; items[25] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56340", Shortcut = "🐔", Description = "Chicken" }; items[26] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56333", Shortcut = "🐍", Description = "Snake" }; items[27] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56354", Shortcut = "🐢", Description = "Turtle" }; items[28] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56347", Shortcut = "🐛", Description = "Bug" }; items[29] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56349", Shortcut = "🐝", Description = "Honeybee" }; items[30] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56348", Shortcut = "🐜", Description = "Ant" }; items[31] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56350", Shortcut = "🐞", Description = "Lady Beetle" }; items[32] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56332", Shortcut = "🐌", Description = "Snail" }; items[33] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56345", Shortcut = "🐙", Description = "Octopus" }; items[34] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56346", Shortcut = "🐚", Description = "Spiral Shell" }; items[35] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56352", Shortcut = "🐠", Description = "Tropical Fish" }; items[36] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56351", Shortcut = "🐟", Description = "Fish" }; items[37] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56364", Shortcut = "🐬", Description = "Dolphin" }; items[38] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56371", Shortcut = "🐳", Description = "Spouting Whale" }; items[39] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56331", Shortcut = "🐋", Description = "Whale" }; items[40] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56324", Shortcut = "🐄", Description = "Cow" }; items[41] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56335", Shortcut = "🐏", Description = "Ram" }; items[42] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56320", Shortcut = "🐀", Description = "Rat" }; items[43] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56323", Shortcut = "🐃", Description = "Water Buffalo" }; items[44] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56325", Shortcut = "🐅", Description = "Tiger" }; items[45] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56327", Shortcut = "🐇", Description = "Rabbit" }; items[46] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56329", Shortcut = "🐉", Description = "Dragon" }; items[47] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56334", Shortcut = "🐎", Description = "Horse" }; items[48] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56336", Shortcut = "🐐", Description = "Goat" }; items[49] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56339", Shortcut = "🐓", Description = "Rooster" }; items[50] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56341", Shortcut = "🐕", Description = "Dog" }; items[51] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56342", Shortcut = "🐖", Description = "Pig" }; items[52] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56321", Shortcut = "🐁", Description = "Mouse" }; items[53] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56322", Shortcut = "🐂", Description = "Ox" }; items[54] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56370", Shortcut = "🐲", Description = "Dragon Face" }; items[55] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56353", Shortcut = "🐡", Description = "Blowfish" }; items[56] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56330", Shortcut = "🐊", Description = "Crocodile" }; items[57] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56363", Shortcut = "🐫", Description = "Bactrian Camel" }; items[58] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56362", Shortcut = "🐪", Description = "Dromedary Camel" }; items[59] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56326", Shortcut = "🐆", Description = "Leopard" }; items[60] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56328", Shortcut = "🐈", Description = "Cat" }; items[61] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56361", Shortcut = "🐩", Description = "Poodle" }; items[62] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56382", Shortcut = "🐾", Description = "Paw Prints" }; items[63] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56464", Shortcut = "💐", Description = "Bouquet" }; items[64] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57144", Shortcut = "🌸", Description = "Cherry Blossom" }; items[65] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57143", Shortcut = "🌷", Description = "Tulip" }; items[66] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57152", Shortcut = "🍀", Description = "Four Leaf Clover" }; items[67] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57145", Shortcut = "🌹", Description = "Rose" }; items[68] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57147", Shortcut = "🌻", Description = "Sunflower" }; items[69] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57146", Shortcut = "🌺", Description = "Hibiscus" }; items[70] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57153", Shortcut = "🍁", Description = "Maple Leaf" }; items[71] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57155", Shortcut = "🍃", Description = "Leaf Fluttering In Wind" }; items[72] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57154", Shortcut = "🍂", Description = "Fallen Leaf" }; items[73] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57151", Shortcut = "🌿", Description = "Herb" }; items[74] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57150", Shortcut = "🌾", Description = "Ear Of Rice" }; items[75] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57156", Shortcut = "🍄", Description = "Mushroom" }; items[76] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57141", Shortcut = "🌵", Description = "Cactus" }; items[77] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57140", Shortcut = "🌴", Description = "Palm Tree" }; items[78] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57138", Shortcut = "🌲", Description = "Evergreen Tree" }; items[79] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57139", Shortcut = "🌳", Description = "Deciduous Tree" }; items[80] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57136", Shortcut = "🌰", Description = "Chestnut" }; items[81] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57137", Shortcut = "🌱", Description = "Seedling" }; items[82] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57148", Shortcut = "🌼", Description = "Blossom " }; items[83] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57104", Shortcut = "🌐", Description = "Globe With Meridians" }; items[84] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57118", Shortcut = "🌞", Description = "Sun With Face" }; items[85] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57117", Shortcut = "🌝", Description = "Full Moon With Face" }; items[86] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57114", Shortcut = "🌚", Description = "New Moon With Face" }; items[87] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57105", Shortcut = "🌑", Description = "New Moon Symbol" }; items[88] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57106", Shortcut = "🌒", Description = "Waxing Crescent Moon Symbol" }; items[89] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57107", Shortcut = "🌓", Description = "First Quarter Moon Symbol" }; items[90] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57108", Shortcut = "🌔", Description = "Waxing Gibbous Moon Symbol" }; items[91] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57109", Shortcut = "🌕", Description = "Full Moon Symbol" }; items[92] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57110", Shortcut = "🌖", Description = "Waning Gibbous Moon Symbol" }; items[93] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57111", Shortcut = "🌗", Description = "Last Quarter Moon Symbol" }; items[94] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57112", Shortcut = "🌘", Description = "Waning Crescent Moon Symbol" }; items[95] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57116", Shortcut = "🌜", Description = "Last Quarter Moon With Face" }; items[96] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57115", Shortcut = "🌛", Description = "First Quarter Moon With Face" }; items[97] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57113", Shortcut = "🌙", Description = "Crescent Moon" }; items[98] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57101", Shortcut = "🌍", Description = "Earth Globe Europe-Africa" }; items[99] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57102", Shortcut = "🌎", Description = "Earth Globe Americas" }; items[100] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57103", Shortcut = "🌏", Description = "Earth Globe Asia-Australia" }; items[101] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57099", Shortcut = "🌋", Description = "Volcano" }; items[102] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57100", Shortcut = "🌌", Description = "Milky Way" }; items[103] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57120", Shortcut = "🌠", Description = "Shooting Star" }; items[104] = new EmojiMenuShortcutItem { SurrogateSequence = "11088", Shortcut = "⭐", Description = "White Medium Star" }; items[105] = new EmojiMenuShortcutItem { SurrogateSequence = "9728", Shortcut = "☀", Description = "Black Sun With Rays" }; items[106] = new EmojiMenuShortcutItem { SurrogateSequence = "9925", Shortcut = "⛅", Description = "Sun Behind Cloud" }; items[107] = new EmojiMenuShortcutItem { SurrogateSequence = "9729", Shortcut = "☁", Description = "Cloud" }; items[108] = new EmojiMenuShortcutItem { SurrogateSequence = "9889", Shortcut = "⚡", Description = "High Voltage Sign" }; items[109] = new EmojiMenuShortcutItem { SurrogateSequence = "9748", Shortcut = "☔", Description = "Umbrella With Rain Drops" }; items[110] = new EmojiMenuShortcutItem { SurrogateSequence = "10052", Shortcut = "❄", Description = "Snowflake" }; items[111] = new EmojiMenuShortcutItem { SurrogateSequence = "9924", Shortcut = "⛄", Description = "Snowman Without Snow" }; items[112] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57088", Shortcut = "🌀", Description = "Cyclone" }; items[113] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57089", Shortcut = "🌁", Description = "Foggy" }; items[114] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57096", Shortcut = "🌈", Description = "Rainbow" }; items[115] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57098", Shortcut = "🌊", Description = "Water Wave" }; for (int i = 0; i < items.Length; i++) { PictureBox pic = new PictureBox(); pic.BackColor = Color.White; pic.Size = new Size(24, 24); int per_line = 8; pic.Location = new Point(1 + ((i % per_line) * 24) + (i % per_line), 1 + ((i / per_line) * 24) + (i / per_line)); pic.Cursor = Cursors.Hand; pic.Tag = items[i]; pic.MouseHover += this.pic_MouseHover; pic.Click += callback; EmojiItem item = Emoji.EmojiFromSurrogate(items[i].SurrogateSequence); pic.ImageLocation = Path.Combine(Settings.AppPath, "emoji", "at24", item.FileName); pic.SizeMode = PictureBoxSizeMode.CenterImage; this.Controls.Add(pic); } }
public void Populate(EventHandler callback) { this.tip = new ToolTip(); EmojiMenuShortcutItem[] items = new EmojiMenuShortcutItem[189]; items[0] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56836", Shortcut = "😄", Description = "Smiling Face With Open Mouth And Smiling Eyes" }; items[1] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56835", Shortcut = "😃", Description = "Smiling Face With Open Mouth" }; items[2] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56832", Shortcut = "😀", Description = "Grinning Face" }; items[3] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56842", Shortcut = "😊", Description = "Smiling Face With Smiling Eyes" }; items[4] = new EmojiMenuShortcutItem { SurrogateSequence = "9786", Shortcut = "☺", Description = "White Smiling Face" }; items[5] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56841", Shortcut = "😉", Description = "Winking Face" }; items[6] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56845", Shortcut = "😍", Description = "Smiling Face With Heart-Shaped Eyes" }; items[7] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56856", Shortcut = "😘", Description = "Face Throwing A Kiss" }; items[8] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56858", Shortcut = "😚", Description = "Kissing Face With Closed Eyes" }; items[9] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56855", Shortcut = "😗", Description = "Kissing Face" }; items[10] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56857", Shortcut = "😙", Description = "Kissing Face With Smiling Eyes" }; items[11] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56860", Shortcut = "😜", Description = "Face With Stuck-Out Tongue And Winking Eye" }; items[12] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56861", Shortcut = "😝", Description = "Face With Stuck-Out Tongue And Tightly-Closed Eyes" }; items[13] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56859", Shortcut = "😛", Description = "Face With Stuck-Out Tongue" }; items[14] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56883", Shortcut = "😳", Description = "Flushed Face" }; items[15] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56833", Shortcut = "😁", Description = "Grinning Face With Smiling Eyes" }; items[16] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56852", Shortcut = "😔", Description = "Pensive Face" }; items[17] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56844", Shortcut = "😌", Description = "Relieved Face" }; items[18] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56850", Shortcut = "😒", Description = "Unamused Face" }; items[19] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56862", Shortcut = "😞", Description = "Disappointed Face" }; items[20] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56867", Shortcut = "😣", Description = "Persevering Face" }; items[21] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56866", Shortcut = "😢", Description = "Crying Face" }; items[22] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56834", Shortcut = "😂", Description = "Face With Tears Of Joy" }; items[23] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56877", Shortcut = "😭", Description = "Loudly Crying Face" }; items[24] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56874", Shortcut = "😪", Description = "Sleepy Face" }; items[25] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56869", Shortcut = "😥", Description = "Disappointed But Relieved Face" }; items[26] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56880", Shortcut = "😰", Description = "Face With Open Mouth And Cold Sweat" }; items[27] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56837", Shortcut = "😅", Description = "Smiling Face With Open Mouth And Cold Sweat" }; items[28] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56851", Shortcut = "😓", Description = "Face With Cold Sweat" }; items[29] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56873", Shortcut = "😩", Description = "Weary Face" }; items[30] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56875", Shortcut = "😫", Description = "Tired Face" }; items[31] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56872", Shortcut = "😨", Description = "Fearful Face" }; items[32] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56881", Shortcut = "😱", Description = "Face Screaming In Fear" }; items[33] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56864", Shortcut = "😠", Description = "Angry Face" }; items[34] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56865", Shortcut = "😡", Description = "Pouting Face" }; items[35] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56868", Shortcut = "😤", Description = "Face With Look Of Triumph" }; items[36] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56854", Shortcut = "😖", Description = "Confounded Face" }; items[37] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56838", Shortcut = "😆", Description = "Smiling Face With Open Mouth And Tightly-Closed Eyes" }; items[38] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56843", Shortcut = "😋", Description = "Face Savouring Delicious Food" }; items[39] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56887", Shortcut = "😷", Description = "Face With Medical Mask" }; items[40] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56846", Shortcut = "😎", Description = "Smiling Face With Sunglasses" }; items[41] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56884", Shortcut = "😴", Description = "Sleeping Face" }; items[42] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56885", Shortcut = "😵", Description = "Dizzy Face" }; items[43] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56882", Shortcut = "😲", Description = "Astonished Face" }; items[44] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56863", Shortcut = "😟", Description = "Worried Face" }; items[45] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56870", Shortcut = "😦", Description = "Frowning Face With Open Mouth" }; items[46] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56871", Shortcut = "😧", Description = "Anguished Face" }; items[47] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56840", Shortcut = "😈", Description = "Smiling Face With Horns" }; items[48] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56447", Shortcut = "👿", Description = "Imp" }; items[49] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56878", Shortcut = "😮", Description = "Face With Open Mouth" }; items[50] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56876", Shortcut = "😬", Description = "Grimacing Face" }; items[51] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56848", Shortcut = "😐", Description = "Neutral Face" }; items[52] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56853", Shortcut = "😕", Description = "Confused Face" }; items[53] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56879", Shortcut = "😯", Description = "Hushed Face" }; items[54] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56886", Shortcut = "😶", Description = "Face Without Mouth" }; items[55] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56839", Shortcut = "😇", Description = "Smiling Face With Halo" }; items[56] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56847", Shortcut = "😏", Description = "Smirking Face" }; items[57] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56849", Shortcut = "😑", Description = "Expressionless Face" }; items[58] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56434", Shortcut = "👲", Description = "Man With Gua Pi Mao" }; items[59] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56435", Shortcut = "👳", Description = "Man With Turban" }; items[60] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56430", Shortcut = "👮", Description = "Police Officer" }; items[61] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56439", Shortcut = "👷", Description = "Construction Worker" }; items[62] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56450", Shortcut = "💂", Description = "Guardsman" }; items[63] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56438", Shortcut = "👶", Description = "Baby" }; items[64] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56422", Shortcut = "👦", Description = "Boy" }; items[65] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56423", Shortcut = "👧", Description = "Girl" }; items[66] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56424", Shortcut = "👨", Description = "Man" }; items[67] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56425", Shortcut = "👩", Description = "Woman" }; items[68] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56436", Shortcut = "👴", Description = "Older Man" }; items[69] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56437", Shortcut = "👵", Description = "Older Woman" }; items[70] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56433", Shortcut = "👱", Description = "Person With Blond Hair" }; items[71] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56444", Shortcut = "👼", Description = "Baby Angel" }; items[72] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56440", Shortcut = "👸", Description = "Princess" }; items[73] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56890", Shortcut = "😺", Description = "Smiling Cat Face With Open Mouth" }; items[74] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56888", Shortcut = "😸", Description = "Grinning Cat Face With Smiling Eyes" }; items[75] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56891", Shortcut = "😻", Description = "Smiling Cat Face With Heart-Shaped Eyes" }; items[76] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56893", Shortcut = "😽", Description = "Kissing Cat Face With Closed Eyes" }; items[77] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56892", Shortcut = "😼", Description = "Cat Face With Wry Smile" }; items[78] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56896", Shortcut = "🙀", Description = "Weary Cat Face" }; items[79] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56895", Shortcut = "😿", Description = "Crying Cat Face" }; items[80] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56889", Shortcut = "😹", Description = "Cat Face With Tears Of Joy" }; items[81] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56894", Shortcut = "😾", Description = "Pouting Cat Face" }; items[82] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56441", Shortcut = "👹", Description = "Japanese Ogre" }; items[83] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56442", Shortcut = "👺", Description = "Japanese Goblin" }; items[84] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56904", Shortcut = "🙈", Description = "See-No-Evil Monkey" }; items[85] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56905", Shortcut = "🙉", Description = "Hear-No-Evil Monkey" }; items[86] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56906", Shortcut = "🙊", Description = "Speak-No-Evil Monkey" }; items[87] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56448", Shortcut = "💀", Description = "Skull" }; items[88] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56445", Shortcut = "👽", Description = "Extraterrestrial Alien" }; items[89] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56489", Shortcut = "💩", Description = "Pile Of Poo" }; items[90] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56613", Shortcut = "🔥", Description = "Fire" }; items[91] = new EmojiMenuShortcutItem { SurrogateSequence = "10024", Shortcut = "✨", Description = "Sparkles" }; items[92] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57119", Shortcut = "🌟", Description = "Glowing Star" }; items[93] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56491", Shortcut = "💫", Description = "Dizzy Symbol" }; items[94] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56485", Shortcut = "💥", Description = "Collision Symbol" }; items[95] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56482", Shortcut = "💢", Description = "Anger Symbol" }; items[96] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56486", Shortcut = "💦", Description = "Splashing Sweat Symbol" }; items[97] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56487", Shortcut = "💧", Description = "Droplet" }; items[98] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56484", Shortcut = "💤", Description = "Sleeping Symbol" }; items[99] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56488", Shortcut = "💨", Description = "Dash Symbol " }; items[100] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56386", Shortcut = "👂", Description = "Ear" }; items[101] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56384", Shortcut = "👀", Description = "Eyes" }; items[102] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56387", Shortcut = "👃", Description = "Nose" }; items[103] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56389", Shortcut = "👅", Description = "Tongue" }; items[104] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56388", Shortcut = "👄", Description = "Mouth" }; items[105] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56397", Shortcut = "👍", Description = "Thumbs Up Sign" }; items[106] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56398", Shortcut = "👎", Description = "Thumbs Down Sign" }; items[107] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56396", Shortcut = "👌", Description = "Ok Hand Sign" }; items[108] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56394", Shortcut = "👊", Description = "Fisted Hand Sign" }; items[109] = new EmojiMenuShortcutItem { SurrogateSequence = "9994", Shortcut = "✊", Description = "Raised Fist" }; items[110] = new EmojiMenuShortcutItem { SurrogateSequence = "9996", Shortcut = "✌", Description = "Victory Hand" }; items[111] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56395", Shortcut = "👋", Description = "Waving Hand Sign" }; items[112] = new EmojiMenuShortcutItem { SurrogateSequence = "9995", Shortcut = "✋", Description = "Raised Hand" }; items[113] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56400", Shortcut = "👐", Description = "Open Hands Sign" }; items[114] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56390", Shortcut = "👆", Description = "White Up Pointing Backhand Index" }; items[115] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56391", Shortcut = "👇", Description = "White Down Pointing Backhand Index" }; items[116] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56393", Shortcut = "👉", Description = "White Right Pointing Backhand Index" }; items[117] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56392", Shortcut = "👈", Description = "White Left Pointing Backhand Index" }; items[118] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56908", Shortcut = "🙌", Description = "Person Raising Both Hands In Celebration" }; items[119] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56911", Shortcut = "🙏", Description = "Person With Folded Hands" }; items[120] = new EmojiMenuShortcutItem { SurrogateSequence = "9757", Shortcut = "☝", Description = "White Up Pointing Index" }; items[121] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56399", Shortcut = "👏", Description = "Clapping Hands Sign" }; items[122] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56490", Shortcut = "💪", Description = "Flexed Biceps" }; items[123] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57014", Shortcut = "🚶", Description = "Pedestrian" }; items[124] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57283", Shortcut = "🏃", Description = "Runner" }; items[125] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56451", Shortcut = "💃", Description = "Dancer" }; items[126] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56427", Shortcut = "👫", Description = "Man And Woman Holding Hands" }; items[127] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56426", Shortcut = "👪", Description = "Family" }; items[128] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56428", Shortcut = "👬", Description = "Two Men Holding Hands" }; items[129] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56429", Shortcut = "👭", Description = "Two Women Holding Hands" }; items[130] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56463", Shortcut = "💏", Description = "Kiss" }; items[131] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56465", Shortcut = "💑", Description = "Couple With Heart" }; items[132] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56431", Shortcut = "👯", Description = "Woman With Bunny Ears" }; items[133] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56902", Shortcut = "🙆", Description = "Face With Ok Gesture" }; items[134] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56901", Shortcut = "🙅", Description = "Face With No Good Gesture" }; items[135] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56449", Shortcut = "💁", Description = "Information Desk Person" }; items[136] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56907", Shortcut = "🙋", Description = "Happy Person Raising One Hand" }; items[137] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56454", Shortcut = "💆", Description = "Face Massage" }; items[138] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56455", Shortcut = "💇", Description = "Haircut" }; items[139] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56453", Shortcut = "💅", Description = "Nail Polish" }; items[140] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56432", Shortcut = "👰", Description = "Bride With Veil" }; items[141] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56910", Shortcut = "🙎", Description = "Person With Pouting Face" }; items[142] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56909", Shortcut = "🙍", Description = "Person Frowning" }; items[143] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56903", Shortcut = "🙇", Description = "Person Bowing Deeply" }; items[144] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57257", Shortcut = "🎩", Description = "Top Hat" }; items[145] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56401", Shortcut = "👑", Description = "Crown" }; items[146] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56402", Shortcut = "👒", Description = "Womans Hat" }; items[147] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56415", Shortcut = "👟", Description = "Athletic Shoe" }; items[148] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56414", Shortcut = "👞", Description = "Mans Shoe" }; items[149] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56417", Shortcut = "👡", Description = "Womans Sandal" }; items[150] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56416", Shortcut = "👠", Description = "High-Heeled Shoe" }; items[151] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56418", Shortcut = "👢", Description = "Womans Boots" }; items[152] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56405", Shortcut = "👕", Description = "T-Shirt" }; items[153] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56404", Shortcut = "👔", Description = "Necktie" }; items[154] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56410", Shortcut = "👚", Description = "Womans Clothes" }; items[155] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56407", Shortcut = "👗", Description = "Dress" }; items[156] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57277", Shortcut = "🎽", Description = "Running Shirt With Sash" }; items[157] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56406", Shortcut = "👖", Description = "Jeans" }; items[158] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56408", Shortcut = "👘", Description = "Kimono" }; items[159] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56409", Shortcut = "👙", Description = "Bikini" }; items[160] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56508", Shortcut = "💼", Description = "Briefcase" }; items[161] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56412", Shortcut = "👜", Description = "Handbag" }; items[162] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56413", Shortcut = "👝", Description = "Pouch" }; items[163] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56411", Shortcut = "👛", Description = "Purse" }; items[164] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56403", Shortcut = "👓", Description = "Eyeglasses" }; items[165] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57216", Shortcut = "🎀", Description = "Ribbon" }; items[166] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57090", Shortcut = "🌂", Description = "Closed Umbrella" }; items[167] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56452", Shortcut = "💄", Description = "Lipstick" }; items[168] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56475", Shortcut = "💛", Description = "Yellow Heart" }; items[169] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56473", Shortcut = "💙", Description = "Blue Heart" }; items[170] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56476", Shortcut = "💜", Description = "Purple Heart" }; items[171] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56474", Shortcut = "💚", Description = "Green Heart" }; items[172] = new EmojiMenuShortcutItem { SurrogateSequence = "10084", Shortcut = "❤", Description = "Heavy Black Heart" }; items[173] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56468", Shortcut = "💔", Description = "Broken Heart" }; items[174] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56471", Shortcut = "💗", Description = "Growing Heart" }; items[175] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56467", Shortcut = "💓", Description = "Beating Heart" }; items[176] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56469", Shortcut = "💕", Description = "Two Hearts" }; items[177] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56470", Shortcut = "💖", Description = "Sparkling Heart" }; items[178] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56478", Shortcut = "💞", Description = "Revolving Hearts" }; items[179] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56472", Shortcut = "💘", Description = "Heart With Arrow" }; items[180] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56460", Shortcut = "💌", Description = "Love Letter" }; items[181] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56459", Shortcut = "💋", Description = "Kiss Mark" }; items[182] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56461", Shortcut = "💍", Description = "Ring" }; items[183] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56462", Shortcut = "💎", Description = "Gem Stone" }; items[184] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56420", Shortcut = "👤", Description = "Bust In Silhouette" }; items[185] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56421", Shortcut = "👥", Description = "Busts In Silhouette" }; items[186] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56492", Shortcut = "💬", Description = "Speech Balloon" }; items[187] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56419", Shortcut = "👣", Description = "Footprints" }; items[188] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56493", Shortcut = "💭", Description = "Thought Balloon" }; for (int i = 0; i < items.Length; i++) { PictureBox pic = new PictureBox(); pic.BackColor = Color.White; pic.Size = new Size(24, 24); int per_line = 8; pic.Location = new Point(1 + ((i % per_line) * 24) + (i % per_line), 1 + ((i / per_line) * 24) + (i / per_line)); pic.Cursor = Cursors.Hand; pic.Tag = items[i]; pic.MouseHover += this.pic_MouseHover; pic.Click += callback; EmojiItem item = Emoji.EmojiFromSurrogate(items[i].SurrogateSequence); pic.ImageLocation = Path.Combine(Settings.AppPath, "emoji", "at24", item.FileName); pic.SizeMode = PictureBoxSizeMode.CenterImage; this.Controls.Add(pic); } }
protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e) { Rectangle bounds = new Rectangle(0, 0, e.ToolStrip.Width, e.ToolStrip.Height); using (LinearGradientBrush brush = new LinearGradientBrush(bounds, Color.Gainsboro, Color.WhiteSmoke, LinearGradientMode.Vertical)) e.Graphics.FillRectangle(brush, bounds); if (e.ToolStrip is ToolStripDropDownMenu) { return; } // topic if (this.TopicText != null) { Rectangle r = new Rectangle(2, (e.ToolStrip.Height / 2) - 9, (e.ToolStrip.Width - 60), 20); char[] letters = this.TopicText.ToCharArray(); Color fg = Color.Black; bool bold = false, italic = false, underline = false, back_color_required = false; int x = r.X, y = r.Y, max_x = (r.Width + 2), clen = 0, tcol = 0; EmojiItem emoji_item; for (int i = 0; i < letters.Length; i++) { switch (letters[i]) { case '\x0006': bold = !bold; break; case '\x0007': underline = !underline; break; case '\x0009': italic = !italic; break; case '\x0003': if (letters.Length >= (i + 3)) { if (int.TryParse(this.TopicText.Substring(i + 1, 2), out tcol)) { fg = this.GetColorFromCode(tcol); i += 2; } else { goto default; } } else { goto default; } break; case '\x0005': if (letters.Length >= (i + 3)) { if (int.TryParse(this.TopicText.Substring(i + 1, 2), out tcol)) { Color back_color = this.GetColorFromCode(tcol); back_color_required = true; i += 2; if ((max_x - x) > 0) { using (SolidBrush brush = new SolidBrush(back_color)) e.Graphics.FillRectangle(brush, new Rectangle(x + 2, y, max_x - x, 20)); } } else { goto default; } } else { goto default; } break; case ' ': x += underline ? 2 : (bold ? 4 : 3); if (x >= max_x) { break; } if (underline) { using (Font font = new Font(this.t_font, this.CreateFont(bold, italic, underline))) using (SolidBrush brush = new SolidBrush(fg)) e.Graphics.DrawString(" ", font, brush, new PointF(x, (y + 1))); } break; case '(': case ':': case ';': Emotic emote_index = Emoticons.FindEmoticon(this.TopicText.Substring(i).ToUpper()); if (emote_index != null) { if ((x + 15) >= max_x) { x += 15; break; } e.Graphics.DrawImage(Emoticons.emotic[emote_index.Index], new RectangleF(x + 3, y + 2, 16, 16)); x += 18; i += (emote_index.Shortcut.Length - 1); break; } else { goto default; } case (char)35: case (char)48: case (char)49: case (char)50: case (char)51: case (char)52: case (char)53: case (char)54: case (char)55: case (char)56: case (char)57: case (char)169: case (char)174: case (char)55356: case (char)55357: case (char)8252: case (char)8265: case (char)8482: case (char)8505: case (char)8596: case (char)8597: case (char)8598: case (char)8599: case (char)8600: case (char)8601: case (char)8617: case (char)8618: case (char)8986: case (char)8987: case (char)9193: case (char)9194: case (char)9195: case (char)9196: case (char)9200: case (char)9203: case (char)9410: case (char)9642: case (char)9643: case (char)9654: case (char)9664: case (char)9723: case (char)9724: case (char)9725: case (char)9726: case (char)9728: case (char)9729: case (char)9742: case (char)9745: case (char)9748: case (char)9749: case (char)9757: case (char)9786: case (char)9800: case (char)9801: case (char)9802: case (char)9803: case (char)9804: case (char)9805: case (char)9806: case (char)9807: case (char)9808: case (char)9809: case (char)9810: case (char)9811: case (char)9824: case (char)9827: case (char)9829: case (char)9830: case (char)9832: case (char)9851: case (char)9855: case (char)9875: case (char)9888: case (char)9889: case (char)9898: case (char)9899: case (char)9917: case (char)9918: case (char)9924: case (char)9925: case (char)9934: case (char)9940: case (char)9962: case (char)9970: case (char)9971: case (char)9973: case (char)9978: case (char)9981: case (char)9986: case (char)9989: case (char)9992: case (char)9993: case (char)9994: case (char)9995: case (char)9996: case (char)9999: case (char)10002: case (char)10004: case (char)10006: case (char)10024: case (char)10035: case (char)10036: case (char)10052: case (char)10055: case (char)10060: case (char)10062: case (char)10067: case (char)10068: case (char)10069: case (char)10071: case (char)10084: case (char)10133: case (char)10134: case (char)10135: case (char)10145: case (char)10160: case (char)10175: case (char)10548: case (char)10549: case (char)11013: case (char)11014: case (char)11015: case (char)11035: case (char)11036: case (char)11088: case (char)11093: case (char)12336: case (char)12349: case (char)12951: case (char)12953: emoji_item = Emoji.GetEmoji24(letters, i); if (emoji_item != null) { if ((x + 15) >= max_x) { x += 15; break; } e.Graphics.DrawImage(emoji_item.Image, new RectangleF(x + 3, y + 2, 16, 16)); x += 18; i += (emoji_item.Length - 1); break; } else { goto default; } default: using (Font font = new Font(this.t_font, this.CreateFont(bold, italic, underline))) { clen = (int)Math.Round((double)e.Graphics.MeasureString(letters[i].ToString(), font, 100, StringFormat.GenericTypographic).Width); if ((x + clen) >= max_x) { x += clen; break; } using (SolidBrush brush = new SolidBrush(fg)) e.Graphics.DrawString(letters[i].ToString(), font, brush, new PointF(x, (y + 1))); x += clen; } break; } if (x >= max_x) { break; } } if (back_color_required) { if ((max_x - x) > 0) { Rectangle excess = new Rectangle((x + 2), 0, (max_x - x), e.ToolStrip.Height); using (LinearGradientBrush lb = new LinearGradientBrush(excess, Color.Gainsboro, Color.WhiteSmoke, LinearGradientMode.Vertical)) e.Graphics.FillRectangle(lb, excess); } } } // close if (this.close_hottracking) { Rectangle rec = new Rectangle(e.ToolStrip.Width - 19, 7, 12, 10); e.Graphics.FillRectangle(this.close_brush, rec); } }
public void Draw(DrawItemEventArgs e, bool selected, bool tracked, bool is_black) { Color item_bg = is_black ? Color.Black : Color.White; if (tracked) { item_bg = is_black ? Color.DimGray : Color.Gainsboro; } if (selected) { item_bg = is_black ? Color.DarkBlue : Color.LightSteelBlue; } using (SolidBrush brush = new SolidBrush(item_bg)) e.Graphics.FillRectangle(brush, e.Bounds); if (this.Owner.AvatarBytes.Length > 0) { using (MemoryStream ms = new MemoryStream(this.Owner.AvatarBytes)) using (Bitmap bmp = new Bitmap(ms)) e.Graphics.DrawImage(bmp, new Point(e.Bounds.X + 1, e.Bounds.Y + 2)); } else { using (MemoryStream ms = new MemoryStream(Avatar.DefaultAvatar)) using (Bitmap bmp = new Bitmap(ms)) e.Graphics.DrawImage(bmp, new Point(e.Bounds.X + 1, e.Bounds.Y + 2)); } int img_x = 58; Color name_color = is_black ? Color.White : Color.Black; if (this.Owner.Level == 3) { name_color = Color.Red; } else if (this.Owner.Level == 2) { name_color = is_black ? Color.Lime : Color.Green; } else if (this.Owner.Level == 1) { name_color = is_black ? Color.Aqua : Color.Blue; } if (this.Owner.HasFiles) { using (MemoryStream ms = new MemoryStream(Avatar.BrowseIcon)) using (Bitmap bmp = new Bitmap(ms)) e.Graphics.DrawImage(bmp, new Rectangle(e.Bounds.X + img_x, e.Bounds.Y + 7, 14, 14)); img_x += 15; } if (this.Owner.IsAway) { using (MemoryStream ms = new MemoryStream(Avatar.AwayIcon)) using (Bitmap bmp = new Bitmap(ms)) e.Graphics.DrawImage(bmp, new Rectangle(e.Bounds.X + img_x, e.Bounds.Y + 7, 14, 14)); img_x += 15; } if (this.Owner.SupportsVC) { using (MemoryStream ms = new MemoryStream(is_black ? Avatar.VoiceIconBlack : Avatar.VoiceIcon)) using (Bitmap bmp = new Bitmap(ms)) e.Graphics.DrawImage(bmp, new Rectangle(e.Bounds.X + img_x, e.Bounds.Y + 7, 14, 14)); img_x += 15; } using (Font name_font = new Font(e.Font, FontStyle.Bold)) using (SolidBrush brush = new SolidBrush(name_color)) { char[] n_letters = this.Owner.Name.ToCharArray(); int n_x_pos = e.Bounds.X + img_x; int n_y_pos = e.Bounds.Y + 7; int n_max_width = (n_x_pos + e.Bounds.Width); for (int i = 0; i < n_letters.Length; i++) { switch (n_letters[i]) { case ' ': n_x_pos += 4; break; default: try { int w = (int)Math.Round((double)e.Graphics.MeasureString(n_letters[i].ToString(), name_font, 100, StringFormat.GenericTypographic).Width); if ((n_x_pos + w) < n_max_width) { e.Graphics.DrawString(n_letters[i].ToString(), name_font, brush, new PointF(n_x_pos, n_y_pos)); } n_x_pos += w; } catch { break; } break; } if (n_x_pos >= n_max_width) { break; } } } try { using (SolidBrush brush = new SolidBrush(is_black ? Color.WhiteSmoke : Color.Gray)) e.Graphics.DrawString(this.Owner.ToASLString(), e.Font, brush, new PointF(e.Bounds.X + 58, e.Bounds.Y + 24)); } catch { } String text = this.Owner.PersonalMessage; bool is_song = false; if (text.StartsWith("\x0007")) { text = Helpers.StripColors(text); if (is_black) { text = "\x0007\x000311" + text; } else { text = "\x0007\x000312" + text; } is_song = true; } if (!String.IsNullOrEmpty(text)) { char[] letters = text.ToCharArray(); bool bold = false, italic = false, underline = false; int x = e.Bounds.X + 58, y = e.Bounds.Y + 38; int max_width = (e.Bounds.X + e.Bounds.Width); Color fore_color = is_black ? Color.WhiteSmoke : Color.Gray; int color_finder; EmojiItem emojiitem; if (is_song) { using (MemoryStream ms = new MemoryStream(is_black ? Avatar.MusicIconBlack : Avatar.MusicIcon)) using (Bitmap bmp = new Bitmap(ms)) e.Graphics.DrawImage(bmp, new RectangleF(x, y, 14, 14)); x += 15; } for (int i = 0; i < letters.Length; i++) { switch (letters[i]) { case '\x0006': bold = !bold; break; case '\x0007': underline = !underline; break; case '\x0009': italic = !italic; break; case '\x0003': if (letters.Length >= (i + 3)) { if (int.TryParse(text.Substring(i + 1, 2), out color_finder)) { fore_color = this.GetColorFromCode(color_finder); i += 2; } else { goto default; } } else { goto default; } break; case '\x0005': if (letters.Length >= (i + 3)) { if (int.TryParse(text.Substring(i + 1, 2), out color_finder)) { i += 2; } else { goto default; } } else { goto default; } break; case ' ': x += underline ? 2 : (bold ? 4 : 3); break; case '(': case ':': case ';': Emotic em = Emoticons.FindEmoticon(text.Substring(i).ToUpper()); if (em != null && !is_song) { if ((x + 15) < max_width) { e.Graphics.DrawImage(Emoticons.emotic[em.Index], new RectangleF(x + 3, y, 14, 14)); } x += 15; i += (em.Shortcut.Length - 1); break; } else { goto default; } case (char)35: case (char)48: case (char)49: case (char)50: case (char)51: case (char)52: case (char)53: case (char)54: case (char)55: case (char)56: case (char)57: case (char)169: case (char)174: case (char)55356: case (char)55357: case (char)8252: case (char)8265: case (char)8482: case (char)8505: case (char)8596: case (char)8597: case (char)8598: case (char)8599: case (char)8600: case (char)8601: case (char)8617: case (char)8618: case (char)8986: case (char)8987: case (char)9193: case (char)9194: case (char)9195: case (char)9196: case (char)9200: case (char)9203: case (char)9410: case (char)9642: case (char)9643: case (char)9654: case (char)9664: case (char)9723: case (char)9724: case (char)9725: case (char)9726: case (char)9728: case (char)9729: case (char)9742: case (char)9745: case (char)9748: case (char)9749: case (char)9757: case (char)9786: case (char)9800: case (char)9801: case (char)9802: case (char)9803: case (char)9804: case (char)9805: case (char)9806: case (char)9807: case (char)9808: case (char)9809: case (char)9810: case (char)9811: case (char)9824: case (char)9827: case (char)9829: case (char)9830: case (char)9832: case (char)9851: case (char)9855: case (char)9875: case (char)9888: case (char)9889: case (char)9898: case (char)9899: case (char)9917: case (char)9918: case (char)9924: case (char)9925: case (char)9934: case (char)9940: case (char)9962: case (char)9970: case (char)9971: case (char)9973: case (char)9978: case (char)9981: case (char)9986: case (char)9989: case (char)9992: case (char)9993: case (char)9994: case (char)9995: case (char)9996: case (char)9999: case (char)10002: case (char)10004: case (char)10006: case (char)10024: case (char)10035: case (char)10036: case (char)10052: case (char)10055: case (char)10060: case (char)10062: case (char)10067: case (char)10068: case (char)10069: case (char)10071: case (char)10084: case (char)10133: case (char)10134: case (char)10135: case (char)10145: case (char)10160: case (char)10175: case (char)10548: case (char)10549: case (char)11013: case (char)11014: case (char)11015: case (char)11035: case (char)11036: case (char)11088: case (char)11093: case (char)12336: case (char)12349: case (char)12951: case (char)12953: emojiitem = Emoji.GetEmoji24(letters, i); if (emojiitem != null && !is_song) { if ((x + 15) < max_width) { e.Graphics.DrawImage(emojiitem.Image, new RectangleF(x + 3, y, 14, 14)); } x += 15; i += (emojiitem.Length - 1); break; } else { goto default; } default: using (Font f = new Font(e.Font, this.CreateFont(bold, italic, underline))) using (SolidBrush brush = new SolidBrush(fore_color)) { try { int w = (int)Math.Round((double)e.Graphics.MeasureString(letters[i].ToString(), f, 100, StringFormat.GenericTypographic).Width); if ((x + w) < max_width) { e.Graphics.DrawString(letters[i].ToString(), f, brush, new PointF(x, y)); } x += w; } catch { break; } } break; } if (x >= max_width) { break; } } } }
public void Populate(EventHandler callback) { this.tip = new ToolTip(); EmojiMenuShortcutItem[] items = new EmojiMenuShortcutItem[101]; items[0] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57312", Shortcut = "🏠", Description = "House Building" }; items[1] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57313", Shortcut = "🏡", Description = "House With Garden" }; items[2] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57323", Shortcut = "🏫", Description = "School" }; items[3] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57314", Shortcut = "🏢", Description = "Office Building" }; items[4] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57315", Shortcut = "🏣", Description = "Japanese Post Office" }; items[5] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57317", Shortcut = "🏥", Description = "Hospital" }; items[6] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57318", Shortcut = "🏦", Description = "Bank" }; items[7] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57322", Shortcut = "🏪", Description = "Convenience Store" }; items[8] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57321", Shortcut = "🏩", Description = "Love Hotel" }; items[9] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57320", Shortcut = "🏨", Description = "Hotel" }; items[10] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56466", Shortcut = "💒", Description = "Wedding" }; items[11] = new EmojiMenuShortcutItem { SurrogateSequence = "9962", Shortcut = "⛪", Description = "Church" }; items[12] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57324", Shortcut = "🏬", Description = "Department Store" }; items[13] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57316", Shortcut = "🏤", Description = "European Post Office" }; items[14] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57095", Shortcut = "🌇", Description = "Sunset Over Buildings" }; items[15] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57094", Shortcut = "🌆", Description = "Cityscape At Dusk" }; items[16] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57327", Shortcut = "🏯", Description = "Japanese Castle" }; items[17] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57328", Shortcut = "🏰", Description = "European Castle" }; items[18] = new EmojiMenuShortcutItem { SurrogateSequence = "9978", Shortcut = "⛺", Description = "Tent" }; items[19] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57325", Shortcut = "🏭", Description = "Factory" }; items[20] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56828", Shortcut = "🗼", Description = "Tokyo Tower" }; items[21] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56830", Shortcut = "🗾", Description = "Silhouette Of Japan" }; items[22] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56827", Shortcut = "🗻", Description = "Mount Fuji" }; items[23] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57092", Shortcut = "🌄", Description = "Sunrise Over Mountains" }; items[24] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57093", Shortcut = "🌅", Description = "Sunrise" }; items[25] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57091", Shortcut = "🌃", Description = "Night With Stars" }; items[26] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56829", Shortcut = "🗽", Description = "Statue Of Liberty" }; items[27] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57097", Shortcut = "🌉", Description = "Bridge At Night" }; items[28] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57248", Shortcut = "🎠", Description = "Carousel Horse" }; items[29] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57249", Shortcut = "🎡", Description = "Ferris Wheel" }; items[30] = new EmojiMenuShortcutItem { SurrogateSequence = "9970", Shortcut = "⛲", Description = "Fountain" }; items[31] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57250", Shortcut = "🎢", Description = "Roller Coaster" }; items[32] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56994", Shortcut = "🚢", Description = "Ship" }; items[33] = new EmojiMenuShortcutItem { SurrogateSequence = "9973", Shortcut = "⛵", Description = "Sailboat" }; items[34] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56996", Shortcut = "🚤", Description = "Speedboat" }; items[35] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56995", Shortcut = "🚣", Description = "Rowboat" }; items[36] = new EmojiMenuShortcutItem { SurrogateSequence = "9875", Shortcut = "⚓", Description = "Anchor" }; items[37] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56960", Shortcut = "🚀", Description = "Rocket" }; items[38] = new EmojiMenuShortcutItem { SurrogateSequence = "9992", Shortcut = "✈", Description = "Airplane" }; items[39] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56506", Shortcut = "💺", Description = "Seat" }; items[40] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56961", Shortcut = "🚁", Description = "Helicopter" }; items[41] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56962", Shortcut = "🚂", Description = "Steam Locomotive" }; items[42] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56970", Shortcut = "🚊", Description = "Tram" }; items[43] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56969", Shortcut = "🚉", Description = "Station" }; items[44] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56990", Shortcut = "🚞", Description = "Mountain Railway" }; items[45] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56966", Shortcut = "🚆", Description = "Train" }; items[46] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56964", Shortcut = "🚄", Description = "High-Speed Train" }; items[47] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56965", Shortcut = "🚅", Description = "High-Speed Train With Bullet Nose" }; items[48] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56968", Shortcut = "🚈", Description = "Light Rail" }; items[49] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56967", Shortcut = "🚇", Description = "Metro" }; items[50] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56989", Shortcut = "🚝", Description = "Monorail" }; items[51] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56971", Shortcut = "🚋", Description = "Tram Car" }; items[52] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56963", Shortcut = "🚃", Description = "Railway Car" }; items[53] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56974", Shortcut = "🚎", Description = "Trolleybus" }; items[54] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56972", Shortcut = "🚌", Description = "Bus" }; items[55] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56973", Shortcut = "🚍", Description = "Oncoming Bus" }; items[56] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56985", Shortcut = "🚙", Description = "Recreational Vehicle" }; items[57] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56984", Shortcut = "🚘", Description = "Oncoming Automobile" }; items[58] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56983", Shortcut = "🚗", Description = "Automobile" }; items[59] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56981", Shortcut = "🚕", Description = "Taxi" }; items[60] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56982", Shortcut = "🚖", Description = "Oncoming Taxi" }; items[61] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56987", Shortcut = "🚛", Description = "Articulated Lorry" }; items[62] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56986", Shortcut = "🚚", Description = "Delivery Truck" }; items[63] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57000", Shortcut = "🚨", Description = "Police Cars Revolving Light" }; items[64] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56979", Shortcut = "🚓", Description = "Police Car" }; items[65] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56980", Shortcut = "🚔", Description = "Oncoming Police Car" }; items[66] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56978", Shortcut = "🚒", Description = "Fire Engine" }; items[67] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56977", Shortcut = "🚑", Description = "Ambulance" }; items[68] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56976", Shortcut = "🚐", Description = "Minibus" }; items[69] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57010", Shortcut = "🚲", Description = "Bicycle " }; items[70] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56993", Shortcut = "🚡", Description = "Aerial Tramway" }; items[71] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56991", Shortcut = "🚟", Description = "Suspension Railway" }; items[72] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56992", Shortcut = "🚠", Description = "Mountain Cableway" }; items[73] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56988", Shortcut = "🚜", Description = "Tractor" }; items[74] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56456", Shortcut = "💈", Description = "Barber Pole" }; items[75] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56975", Shortcut = "🚏", Description = "Bus Stop" }; items[76] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57259", Shortcut = "🎫", Description = "Ticket" }; items[77] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56998", Shortcut = "🚦", Description = "Vertical Traffic Light" }; items[78] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56997", Shortcut = "🚥", Description = "Horizontal Traffic Light" }; items[79] = new EmojiMenuShortcutItem { SurrogateSequence = "9888", Shortcut = "⚠", Description = "Warning Sign" }; items[80] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56999", Shortcut = "🚧", Description = "Construction Sign" }; items[81] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56624", Shortcut = "🔰", Description = "Japanese Symbol For Beginner" }; items[82] = new EmojiMenuShortcutItem { SurrogateSequence = "9981", Shortcut = "⛽", Description = "Fuel Pump" }; items[83] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57326", Shortcut = "🏮", Description = "Izakaya Lantern" }; items[84] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57264", Shortcut = "🎰", Description = "Slot Machine" }; items[85] = new EmojiMenuShortcutItem { SurrogateSequence = "9832", Shortcut = "♨", Description = "Hot Springs" }; items[86] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56831", Shortcut = "🗿", Description = "Moyai" }; items[87] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57258", Shortcut = "🎪", Description = "Circus Tent" }; items[88] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 57261", Shortcut = "🎭", Description = "Performing Arts" }; items[89] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 56525", Shortcut = "📍", Description = "Round Pushpin" }; items[90] = new EmojiMenuShortcutItem { SurrogateSequence = "55357 57001", Shortcut = "🚩", Description = "Triangular Flag On Post" }; items[91] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56815 55356 56821", Shortcut = "🇯🇵", Description = "Flag For Japan" }; items[92] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56816 55356 56823", Shortcut = "🇰🇷", Description = "Flag For South Korea" }; items[93] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56809 55356 56810", Shortcut = "🇩🇪", Description = "Flag For Germany" }; items[94] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56808 55356 56819", Shortcut = "🇨🇳", Description = "Flag For China" }; items[95] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56826 55356 56824", Shortcut = "🇺🇸", Description = "Flag For USA" }; items[96] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56811 55356 56823", Shortcut = "🇫🇷", Description = "Flag For France" }; items[97] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56810 55356 56824", Shortcut = "🇪🇸", Description = "Flag For Spain" }; items[98] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56814 55356 56825", Shortcut = "🇮🇹", Description = "Flag For Italy" }; items[99] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56823 55356 56826", Shortcut = "🇷🇺", Description = "Flag For Russia" }; items[100] = new EmojiMenuShortcutItem { SurrogateSequence = "55356 56812 55356 56807", Shortcut = "🇬🇧", Description = "Flag For Great Britain" }; for (int i = 0; i < items.Length; i++) { PictureBox pic = new PictureBox(); pic.BackColor = Color.White; pic.Size = new Size(24, 24); int per_line = 8; pic.Location = new Point(1 + ((i % per_line) * 24) + (i % per_line), 1 + ((i / per_line) * 24) + (i / per_line)); pic.Cursor = Cursors.Hand; pic.Tag = items[i]; pic.MouseHover += this.pic_MouseHover; pic.Click += callback; EmojiItem item = Emoji.EmojiFromSurrogate(items[i].SurrogateSequence); pic.ImageLocation = Path.Combine(Settings.AppPath, "emoji", "at24", item.FileName); pic.SizeMode = PictureBoxSizeMode.CenterImage; this.Controls.Add(pic); } }