Bug
Normalizer inserts a ZWNJ (\u200c) before ها when the preceding letter is non-left-joining (ا, د, ذ, ر, ز, ژ, و). The ZWNJ is unnecessary here since these letters already produce a visual gap.
Reproduce
from hazm import Normalizer
print(repr(Normalizer().normalize("بندر ها")))
Actual: 'بندر\u200cها'
Expected: 'بندرها'
Works correctly for left-joining letters: "کتاب ها" → "کتاب\u200cها"
Bug
Normalizerinserts a ZWNJ (\u200c) beforeهاwhen the preceding letter is non-left-joining (ا,د,ذ,ر,ز,ژ,و). The ZWNJ is unnecessary here since these letters already produce a visual gap.Reproduce
Actual:
'بندر\u200cها'Expected:
'بندرها'Works correctly for left-joining letters:
"کتاب ها"→"کتاب\u200cها"