Я столкнулся с этой проблемой сегодня. все работает, как и ожидалось, и вы должны знать, что когда ваш текст содержит арабские гласные, такие как ّ ِ ُ َ
символы, все они рассчитываются по ширине, как отдельные символы, и Android Paint.measureText не знает, что он не должен принимать во внимание эти символы, потому что они не добавят дополнительную ширину, и они будут нарисованы сверху и снизу других символов.
решение заключается в следующем: вы должны сначала удалить эти символы из текста, а затем измерить ваш текст.