Skip to content

Instantly share code, notes, and snippets.

@copygirl
Last active December 13, 2015 23:44
Show Gist options
  • Save copygirl/c1e786d4bdb801c8e347 to your computer and use it in GitHub Desktop.
Save copygirl/c1e786d4bdb801c8e347 to your computer and use it in GitHub Desktop.
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using System.Windows.Forms;
namespace WDTranslate
{
class MainClass
{
static readonly string Text = "✋ \ud83d\udd48⚐\ud83d\udd46☹\ud83d\udc4e☠\ud83d\udd6f❄ ☼☜\ud83d\udc4d⚐\ud83d\udca3\ud83d\udca3☜☠\ud83d\udc4e ☹⚐⚐\ud83d\ude10✋☠☝ ❄☟☼⚐\ud83d\udd46☝☟ ❄☟☜ ☝✌\ud83d\udca3☜ ☞✋☹☜\ud83d\udca7\ud83d\udcea ✡⚐\ud83d\udd46 \ud83d\udc4e⚐☠\ud83d\udd6f❄ \ud83d\ude10☠⚐\ud83d\udd48 \ud83d\udd48☟✌❄ ✡⚐\ud83d\udd46 \ud83d\udca3✋☝☟❄ ☞✋☠\ud83d\udc4e\ud83d\udcec ✋❄ \ud83d\udc4d⚐\ud83d\udd46☹\ud83d\udc4e \ud83d\udc4c☜ \ud83d\udc4e☜✌\ud83d\udc4e☹✡\ud83d\udcec ❄☟☜☼☜\ud83d\udd6f\ud83d\udca7 ✌ ☼☜✌\ud83d\udca7⚐☠ ✋\ud83d\udd6f✞☜ \ud83d\udc4c☜☜☠ ☝\ud83d\udd46✌☼\ud83d\udc4e✋☠☝ ❄☟✋\ud83d\udca7 \ud83d\udca7☜\ud83d\udc4d☼☜❄ \ud83d\udd48✋❄☟ \ud83d\udca3✡ ☹✋☞☜\ud83d\udcec";
static readonly string MyText = "I WAS REALLY BORED SO I MADE THIS TO TRANSLATE YOUR SPOOKY TEXT. COULDN'T FIND THE [Q] AND [Z] CHARACTERS IN YOUR COMMENTS, SADLY. I HAVE WAY TOO MUCH FREE TIME ...\n\nI'M NOT PERSONALLY INTERESTED IN DIGGING THROUGH THE GAME'S FILES MYSELF, THERE'S A SUBREDDIT THAT ALREADY DID THAT.";
static readonly string[] Map = {
"A", "✌",
"B", "\ud83d\udc4c",
"C", "\ud83d\udc4d",
"D", "\ud83d\udc4e",
"E", "☜",
"F", "☞",
"G", "☝",
"H", "☟",
"I", "✋",
"J", "☺",
"K", "\ud83d\ude10",
"L", "☹",
"M", "\ud83d\udca3",
"N", "☠",
"O", "⚐",
"P", "\ud83c\udff1",
//"Q", "?",
"R", "☼",
"S", "\ud83d\udca7",
"T", "❄",
"U", "\ud83d\udd46",
"V", "✞",
"W", "\ud83d\udd48",
"Y", "✡",
"X", "✠",
//"Z", "?",
",", "\ud83d\udcea",
".", "\ud83d\udcec",
"?", "✍",
"!", "✏",
"'", "\ud83d\udd6f",
" ", " ",
"\n", "\n",
};
static readonly Dictionary<char, string> MapTranslateTo = new Dictionary<char, string>();
static readonly Dictionary<string, char> MapTranslateFrom = new Dictionary<string, char>();
[STAThread]
public static void Main(string[] args)
{
for (var i = 0; i < Map.Length; i += 2) {
var chr = Map[i][0];
var unicode = StringInfo.GetNextTextElement(Map[i + 1]);
MapTranslateTo.Add(chr, unicode);
MapTranslateFrom.Add(unicode, chr);
}
var sb = new StringBuilder();
for (var e = StringInfo.GetTextElementEnumerator(Text); e.MoveNext(); ) {
char chr;
if (!MapTranslateFrom.TryGetValue((string)e.Current, out chr))
chr = '?';
sb.Append(chr);
}
Console.WriteLine(sb);
sb = new StringBuilder();
foreach (var chr in MyText) {
string str;
if (!MapTranslateTo.TryGetValue(chr, out str))
str = "?";
sb.Append(str);
}
Clipboard.SetText(sb.ToString());
Console.ReadKey();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment