Code modification to support RTL (Arabic) in Badge/Poster design

Hi there,

I managed to add RTL (Arabic) support to Badge/Poster design with “minimal code change”. I only needed to change one file (and install some dependencies).

I needed to add the following two lines

content = arabic_reshaper.reshape(content)
content = get_display(content)

to indico/modules/designer/pdf.py right after the line:

content = strip_tags(content)

and of course add the following import lines in the beginning of the same file:

import arabic_reshaper
from bidi.algorithm import get_display

The above two packages need to be installed, so:

pip install arabic-reshaper
pip install python-bidi

I also added an Arabic font as described in the following post:

Lastly, I restarted uWSGI:

touch ~/web/indico.wsgi

And it’s now working fine!