ReportLab 4.4.0 - Arabic, accessible tables and more...
Initial support for Right-To-Left and Shaping and many more languages
We’re happy to announce versions 4.4.0 of our ReportLab PLUS (our commercial package) and reportlab (Open Source) packages. We are now able to begin producing output in Arabic and many other languages…
Accessible multi-page tables
Accessibility support came in last year, but we have made some refinements for tables. Now, you can define the summary and caption to go with each table, and these will appear in the tagging info and thus be accessible to visually impaired readers.
In addition, if you have a large table that gets split over many pages, each of the “split” tables will be labelled with the correct caption and summary.
Support for RTL and Shaping
Arabic, Hebrew and Persian go from Right to Left (RTL), and each letter has different forms in the start, middle and end of each word. This greatly complicates the layout of the document - especially so when you have English phrases mixed in, variations within a paragraph in fonts, or breaking over lines.
In addition, many South Asian languages as well as Thai and Khmer combine glyphs in very complex ways, with vertical stacking as well as changes in letter forms.
Building on many years of work by Behdad Esfahbod and his Harfbuzz library, we can now work out which characters to draw and where, which are very different to the bytes in the input text. Similarly, using bidirectional text libraries, we can do the character rearrangements needed for Arabic and Hebrew.
We have a page of documentation here on how to get started rendering Arabic output.
Next steps
This can be considered experimental, in the sense that we don’t promise we’re rendering these languages correctly - in fact, we are certain refinements are needed.
We hope, with the help of users and evaluators, to quickly compile test documents in a number of these languages in the coming couple of months, and thus to flush out any errors. When we are confident of the output, and have documentation on any needed fonts etc, we will release this as a major Version 5.0
If you can help us test, we’d be most grateful! The best way to give us feedback is with self-contained RML files in the commercial version (which can run without a licence in evaluation mode), and/or self-contained runnable Python scripts; please be very clear about any resources they need such as fonts.
Please contact us on either enquiries@reportlab.com or the reportlab-users Google group