Answers To FAQs
PersoArabic And Bidi Frequently Asked Questions and Answers
This information applies to halaal software as defined in:
And Defining Halaal Internet Application Services
تعريف نرم افزار حلال و تعريف خدمات اينترنتى حلال
Questions and problems related to proprietary software (such as Microsoft Windows or Apple) or halaal software running on proprietary platforms is outside of the scope of this document.
Primary scope of the information is PersoArabic aspects of: Gnu/Linux, Emacs and XeLaTeX.
Contents
- 1 PersoArabic Emacs24 Common Questions
- 2 Bidi Interoperability Common Problems and Questions
- 3 XeLaTeX and XePersian Common Questions
1 PersoArabic Emacs24 Common Questions
1.1 Persian does not show up in the Languages Menu List – What is the problem?
You need to be at least at Rev 24.2.50 of Emacs.
1.2 PersoArabic Emacs24 Shaping/Joining Problems?
سلام shows up as: سلام , what is wrong?
There are 3 main things that may cause shaping/joining not to work right.
-
Missing or out of date m17n libraries.
Under Debian 6, m17n-db needs to be installed separately. Under Ubuntu 11.04 and later libm17n-0 depends on m17n-db and the packages are properly installed.dpkg -l | grep -i m17n
Should include: libm17n-0 and m17n-db.
- The font family in use does not support joined forms of arabic letters.
From Menus, select “Options” “Set Default Font”Then change to something like “Monospace”.
- The emacs binary in use may not have been built with the right libraries.
Re-Build the binaries with libm17n-dev and libotf-dev installed.
2 Bidi Interoperability Common Problems and Questions
2.1 Words are re-ordered when displayed in Mozilla/Firefox and Chrome?
Mozilla/Firefox and Chrome (as of late 2012) do not conform to auto paragraph detection as specified in Unicode Bidirectional Algorithm (UAX #9).
For example an email originated with emacs Gnus as:
in mixed form (persian and english) representing:
1 2 3 4 5 6 7 8 9 10 11
With paragraph-directionality properly auto-detected as right-to-left under emacs will be seen as a left-to-right paragraph under Mozilla/Firefox and Chrome sequenced as:
in mixed form representing:
3 2 1 4 5 6 9 8 7 10 11.
This is because Mozilla/Firefox and Chrome do not properly auto-detect paragraph-directionality in compliance with Unicode Bidirectional Algorithm.
This is an egregious Mozilla/Firefox and Chrome bug. Because it materially impacts human communication.
Such a bug results into serious communication problems as what is seen by the receiver is differently ordered from what was sent by the originator.
Until this bug is fixed, the solution is not to send plain text to Mozilla/Firefox and Chrome and always originate in html and specify paragraph directionality explicitly.
3 XeLaTeX and XePersian Common Questions
3.1 How Do I Generate PersoArabic HTML from XeLaTeX and XePersian?
It is possible to get HaVeA to work with XeLaTeX and XePersian. There are just a few tricks that will be included in the next revision of these FAQs.