/// <summary> /// Removes accents from ASCII/Unicode Gumrukhi letters with their base letter. /// Useful for generalising search queries. /// </summary> /// <param name="text">The text to convert.</param> /// <returns>A simplified version of the provided Gurmukhi string.</returns> public static string StripAccents(string text) { var baseLetterMap = Mapping.AccentMapping(); // Adds ASCII mapping for each AccentMapping foreach (var(key, value) in baseLetterMap.ToArray()) { baseLetterMap.TryAdd(ToAsciiGurmukhi(key), ToAsciiGurmukhi(value)); } // Removes accents from ASCII/Unicode Gumrukhi letters with their base letter. return(string.Join("", text.Select(c => baseLetterMap.TryGetValue(c.ToString(), out var character) ? character : c.ToString()))); }