Questions about phonemizer for a non-English language

Hello everybody! I want to train Mozilla TTS on a dataset that I have curated myself. The language is Persian, which has its own alphabet and uses diacritics, although they are usually not written and have to be conferred from the context. I have a few questions :

1-What is the practical difference between training by characters and training by phonemes?

2-Does Mozilla TTS support phonemization for Persian out of the box or should I write my own? (It is supported by espeack but I don’t know how good it is.)

3-How can I access and test the phonemizer in Mozilla TTS?

Thanks a lot!