33 lines
931 B
GDScript
33 lines
931 B
GDScript
extends LineEdit
|
|
|
|
|
|
func _ready() -> void:
|
|
connect("text_changed", _text_to_upper)
|
|
|
|
|
|
func _text_to_upper(new_text: String):
|
|
var ascii_map := {
|
|
"á":"a", "à":"a", "â":"a", "ä":"a", "ã":"a", "å":"a",
|
|
"é":"e", "è":"e", "ê":"e", "ë":"e",
|
|
"í":"i", "ì":"i", "î":"i", "ï":"i",
|
|
"ó":"o", "ò":"o", "ô":"o", "ö":"o", "õ":"o",
|
|
"ú":"u", "ù":"u", "û":"u", "ü":"u",
|
|
"ñ":"n", "ç":"c",
|
|
"Á":"A", "À":"A", "Â":"A", "Ä":"A", "Ã":"A", "Å":"A",
|
|
"É":"E", "È":"E", "Ê":"E", "Ë":"E",
|
|
"Í":"I", "Ì":"I", "Î":"I", "Ï":"I",
|
|
"Ó":"O", "Ò":"O", "Ô":"O", "Ö":"O", "Õ":"O",
|
|
"Ú":"U", "Ù":"U", "Û":"U", "Ü":"U",
|
|
"Ñ":"N", "Ç":"C"
|
|
}
|
|
|
|
var filtered_text := ""
|
|
for c in new_text:
|
|
if ascii_map.has(c):
|
|
filtered_text += ascii_map[c]
|
|
elif c.unicode_at(0) <= 127:
|
|
filtered_text += c
|
|
|
|
var last_caret_column = caret_column
|
|
text = filtered_text.to_upper()
|
|
caret_column = last_caret_column
|