GLM-OCR-uz / postfix.py
Saidakmal's picture
README + postfix
9173e1f verified
Raw History Blame Contribute Delete
790 Bytes
"""OCR chiqishini tozalash: kirill so'z ichidagi lotin harflari (gomogliflar va aralash qismlar) -> kirill."""
import re
HG = str.maketrans({"a": "а", "o": "о", "e": "е", "c": "с", "p": "р", "x": "х", "y": "у", "k": "к", "d": "д", "m": "м",
"t": "т", "i": "и", "n": "н", "r": "р", "b": "б", "l": "л", "s": "с", "u": "у", "h": "ҳ", "g": "г", "z": "з",
"A": "А", "O": "О", "E": "Е", "C": "С", "P": "Р", "X": "Х", "H": "Н", "K": "К", "M": "М", "T": "Т", "B": "В", "Y": "У"})
CW = re.compile(r"\w+")
CYR = re.compile(r"[а-яёўқғҳ]", re.I); LAT = re.compile(r"[a-z]", re.I)
def fix_mixed(t):
return CW.sub(lambda m: m.group().translate(HG) if CYR.search(m.group()) and LAT.search(m.group()) else m.group(), t)