Skip to content. | Skip to navigation

You are here: Home Answers

Answers To FAQs

PersoArabic And Bidi Frequently Asked Questions and Answers

This information applies to halaal software as defined in:

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.


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.

  1. 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.

  2. 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”.

  3. 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:

یک دو سه four five six هفت هشت نه ten eleven.

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:

یک دو سه four five six هفت هشت نه ten eleven.

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.

Document Actions
Libre/Halaal Internet Services Provided At LibreCenter By Neda

Member of By* Federation Of Autonomous Libre Services

This web site has been created based exclusively on the use of Halaal Software and Halaal Internet Application Services. It is part of the By* Federation of Autonomous Libre Services which in turn are part of the Halaal/Libre By* Digitial Ecosystem which incorporate the following software components: