Index: gc_core/js/char_player.js ================================================================== --- gc_core/js/char_player.js +++ gc_core/js/char_player.js @@ -24,10 +24,14 @@ sRes += this._dTransChars.gl_get(c, c); } return sRes.replace("eau", "o").replace("au", "o"); }, + aVowel: new Set("aáàâäāeéèêëēiíìîïīoóòôöōuúùûüūyýỳŷÿȳœæAÁÀÂÄĀEÉÈÊËĒIÍÌÎÏĪOÓÒÔÖŌUÚÙÛÜŪYÝỲŶŸȲŒÆ"), + aConsonant: new Set("bcdefghjklmnñpqrstvwxzBCDEFGHJKLMNÑPQRSTVWXZ"), + aDouble: new Set("bcdfjklmnprstzBCDFJKLMNPRSTZ"), // letter that may be used twice successively + // Similar chars d1to1: new Map([ ["1", "liîLIÎ"], @@ -162,16 +166,22 @@ ["C", ["CC", "SS", "QU", "CH"]], ["ç", ["ss", "cc", "qh", "ch"]], ["Ç", ["SS", "CC", "QH", "CH"]], ["d", ["dd",]], ["D", ["DD",]], + ["é", ["ai", "ei"]], + ["É", ["AI", "EI"]], + ["è", ["ai", "ei"]], + ["È", ["AI", "EI"]], + ["ê", ["ai", "ei"]], + ["Ê", ["AI", "EI"]], + ["ë", ["ai", "ei"]], + ["Ë", ["AI", "EI"]], ["f", ["ff", "ph"]], ["F", ["FF", "PH"]], ["g", ["gu", "ge", "gg", "gh"]], ["G", ["GU", "GE", "GG", "GH"]], - ["i", ["ii",]], - ["I", ["II",]], ["j", ["jj", "dj"]], ["J", ["JJ", "DJ"]], ["k", ["qu", "ck", "ch", "cu", "kk", "kh"]], ["K", ["QU", "CK", "CH", "CU", "KK", "KH"]], ["l", ["ll",]], Index: gc_core/py/char_player.py ================================================================== --- gc_core/py/char_player.py +++ gc_core/py/char_player.py @@ -16,10 +16,15 @@ def cleanWord (sWord): "word simplication before calculating distance between words" return sWord.lower().translate(_xTransChars).replace("eau", "o").replace("au", "o") + +aVowel = set("aáàâäāeéèêëēiíìîïīoóòôöōuúùûüūyýỳŷÿȳœæAÁÀÂÄĀEÉÈÊËĒIÍÌÎÏĪOÓÒÔÖŌUÚÙÛÜŪYÝỲŶŸȲŒÆ") +aConsonant = set("bcdefghjklmnñpqrstvwxzBCDEFGHJKLMNÑPQRSTVWXZ") +aDouble = set("bcdfjklmnprstzBCDFJKLMNPRSTZ") # letter that may be used twice successively + # Similar chars d1to1 = { "1": "liîLIÎ", @@ -154,16 +159,22 @@ "C": ("CC", "SS", "QU", "CH"), "ç": ("ss", "cc", "qh", "ch"), "Ç": ("SS", "CC", "QH", "CH"), "d": ("dd",), "D": ("DD",), + "é": ("ai", "ei"), + "É": ("AI", "EI"), + "è": ("ai", "ei"), + "È": ("AI", "EI"), + "ê": ("ai", "ei"), + "Ê": ("AI", "EI"), + "ë": ("ai", "ei"), + "Ë": ("AI", "EI"), "f": ("ff", "ph"), "F": ("FF", "PH"), "g": ("gu", "ge", "gg", "gh"), "G": ("GU", "GE", "GG", "GH"), - "i": ("ii",), - "I": ("II",), "j": ("jj", "dj"), "J": ("JJ", "DJ"), "k": ("qu", "ck", "ch", "cu", "kk", "kh"), "K": ("QU", "CK", "CH", "CU", "KK", "KH"), "l": ("ll",),