Community
Participate
Working Groups
Created attachment 97059 [details] ScreenShots Build ID: I20080419 Steps To Reproduce: XXXX:Arabic Letters 1.Open New Project dialog from Eclipse File menu, select Business Intelligence and Reporting Tools, and click Next. 2.Type any Arabic Project name on Report Project dialog and click Finish. Open Associated Perspective dialog is displayed. Click Yes. 3.On Navigator view, right click the project and select Import, select File System, and select the XXXX_Flat_File_CSV.rptdesign attached, then click Finish. 4.Double click the XXXX_Flat_File_CSV.rptdesign on Navigator view. The report design is displayed. Then, double click the Data Source and set the “Select Folder” to the path you have copied XXXX_CSV.csv file attached. 5.Preview the report in Web Viewer from Run->Run Report->In Web Viewer menu, again. Open Export Report dialog, select PDF, and click OK 6.Repeat step 4 for PPT. Expected Results:The Arabic data is displayed correctly Actual Results: 1.On PDF : The Arabic Statement is Reversed 2.On PPT : The Letters of each Arabic word is reversed. More information: Locale : Arabic Locale
Created attachment 97173 [details] ScreenShots
Created attachment 97724 [details] Expected appearance (?) Mohamed, can you please tell if this screen shot shows Arabic text correctly? Thanks.
(In reply to comment #2) > Created an attachment (id=97724) [details] > Expected appearance (?) > Mohamed, can you please tell if this screen shot shows Arabic text correctly? > Thanks. Yes , it is correct. Thanks.
Created attachment 97982 [details] Proposed patch The size of this patch is around 75 effective lines of code. It is supposed to fix the order of words and also non-word Bidi runs, but not the reversed order of characters in PPT outputs. The latter is supposed to be covered by bug 225536.
The proposed patch is supposed to address reordering of bidirectional text for presentation purposes, by the PDF layout and rendering engine. The Bidirectional Algorithm (http://www.unicode.org/reports/tr9) prescribes three main phases of Bidi reordering: 1. "Separation of the input text into paragraphs." 2. "Resolution of the embedding levels of the text." 3. "Reordering the text for display on a line-by-line basis using the resolved embedding levels, once the text has been broken into lines." The patch applies to the phases (2) and (3). Phase (2) has already been handled in the layout engine, e.g. by the ChunkGenerator and BidiSplitter classes. Some minor changes were made though in order to operate absolute embedding (nesting) levels instead of run directions. Absolute levels are required in phase (3). Phase (3) is concerned with the actual reordering of the Bidi chunks determined in phase (2) and is implemented in org.eclipse.birt.report.engine.layout.pdf. emitter.LineLayout#reorderVisually method. This method is invoked by a PDF line layout manager, at the line aligning stage. First, it invokes ICU to reorder (a copy of) text chunks, placing them into the visual (display) order. (Note that the order of original chunks is not affected.) Second, it changes X positions of the actual text chunks in accordance with the just determined display order. Please note that instead of the standard Java java.text.Bidi engine we now use the ICU Bidi engine (com.ibm.icu.text.Bidi), which may have a better standard-compliance.
Created attachment 98017 [details] Proposed patch using ICU I resubmit the patch after correcting one place that accidentally refers to java.text.Bidi instead of com.ibm.icu.text.Bidi.
I hope this patch will block bug #181909.
This issue is affecting the translation enablement testing in the BiDi area. The code size of the patch for fixing this problem is pretty small. Can the patch be accepted into the BIRT code base as soon as possible?
Mohamed, can you attach the report design? I need it to test the result.
Albert, Mohamed supplied a report design with attachment 97173 [details].
ouch, sorry - attachment 97059 [details].
The patch has been checked into cvs. Fixed.
This problem has been verified fix for the PDF export, but still persists in the PPT exported file.
In PPT 2007, bidi text can be reversed automatically. But in PPT 2003, PPT does not has this feature. the bidi text need to be reversed in PPT emitter.
As the latest 2007 support it, I think we needn't fix this issue. If you have different opinion, please reopen this entry.
It works for me also in PPT 2003. To support Bidi, pre-2007 PPT needs Bidi feature to be enabled at the OS level. To do so on non-Bidi locales, one has to select Windows "Regional and Language Options -> Languages -> Install files for Complex script and right-to-left languages..." (Perhaps in the future we could check in BIRT if Bidi is enabled as the default or a supplemental locale, and proceed with PPT reordering accordingly.)
(In reply to comment #16) > (Perhaps in the future we could check in BIRT if Bidi is enabled as the default > or a supplemental locale, and proceed with PPT reordering accordingly.) - Actually, this doesn't make much sense, since end user operating system settings may be different. So it's user responsibility to enable his OS for Bidi.
Comment on attachment 98017 [details] Proposed patch using ICU per Ganymede IP log
Fixed
The fix patch should also cover the following bugs: - bug 129567 - bug 181909