/// <summary> /// Converts Coptic-Latin to Coptic-Font for displaying /// </summary> /// <param name="input">Coptic-Latin</param> /// <param name="isGreek"></param> /// <returns></returns> public static string ConvertFromString(string input, bool isGreek = false) { // Characters must be separated by a dash // For capital Coptic letters, capitalize the first letter of the Latin set if (CopticAlphabet.Keys.Count == 0) { InitAlphabet(isGreek); } string output = ""; string[] split = input.Split(new string[] { "-" }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in split) { string copt; if (s.EndsWith("`")) { CopticAlphabet.TryGetValue(s, out copt); output += copt; output += "~"; } else if (s == " ") { output += " "; } else if (s == ";") { output += ";"; } else if (s == ":") { output += ":"; } else if (s == ".") { output += "."; } else { CopticAlphabet.TryGetValue(s, out copt); output += copt; } } return(output); }
/// <summary> /// Converts Coptic-Font to Coptic-Latin for saving /// </summary> /// <param name="input">Coptin-Font</param> /// <param name="isGreek"></param> /// <returns></returns> public static string ConvertToString(string input, bool isGreek = false) { if (CopticAlphabet.Keys.Count == 0) { InitAlphabet(isGreek); } string output = ""; foreach (char ch in input.ToList()) { string s = ch.ToString(); if (s == " ") { output += " -"; } else if (s == "~") { output += "`-"; } else if (s == ";") { output += ";-"; } else if (s == ":") { output += ":-"; } else if (s == ".") { output += ".-"; } else if (s == "\n") { output += "&#xD;-"; } else { output += CopticAlphabet.FirstOrDefault(x => x.Value == s).Key + "-"; } } return(output); }