Bug 130587 - [BiDi] Strings with basic LTR reading order not rendered correctly in RTL locales
Summary: [BiDi] Strings with basic LTR reading order not rendered correctly in RTL loc...
Status: CLOSED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform UI Triaged CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords: nl
Depends on: 150562 119517 119928 145842
Blocks: 131156
  Show dependency tree
 
Reported: 2006-03-06 12:54 EST by Karice McIntyre CLA
Modified: 2022-01-11 15:06 EST (History)
0 users

See Also:


Attachments
screen shots of examples of incorrect rendering (189.87 KB, application/zip)
2006-03-06 12:55 EST, Karice McIntyre CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Karice McIntyre CLA 2006-03-06 12:54:34 EST
In RTL orientation, there are some strings that should maintain basic LTR reading order - examples are file paths, URLs and file associations.  Even though Eclipse provides full BiDi support as of 3.1, these strings are special cases and so are not rendered correctly due to the presence of neutral characters - that is, characters whose directionality is determined based on the directionality of its surrounding text.  See http://www.unicode.org/reports/tr9/ for the full specification on the Bidirectional algorithm.  The Eclipse platform now provides API that will render these strings correctly in RTL locales (Hebrew and Arabic) by inserting directional marker characters into the string in the appropriate places.  Strings that utilize this API are intended to have an overall reading order of left to right (e.g.file paths, file associations, URLs) and are segmented according to delimiter characters where each segment will have the usual BiDi rendering algorithm applied to it.  To use this API, call
    org.eclipse.osgi.util.TextProcessor.process(String, String) 
where the first string is the string to manipulate (e.g. a file path, URL, etc) and the second string is a string of delimiters which define how the string should be segmented.
  
Example 1 
string=d:\AAA\bbb\CCC\ddd.html
delimiter=".:\"

Example 2
string=*.html
delimiter="*."

Example 3
http://AAA/bbb/ccc.html
delimiter=".:/"


Since file paths and URLs will likely be the most common use case for this API, a set of default delimiters="./\:" is provided so a call to 
    org.eclipse.osgi.util.TextProcessor.process(String) 
is all that is required in these cases.  

Test cases to check for:
URL example to test = http:\\abc\ABC where lower case is Latin (e.g. English) and upper case is Hebrew/Arabic
Without using the new API, it renders CBA\http:\\abc

File path to test = d:\abc\ABC where lower case is Latin (e.g. English) and upper case is Hebrew/Arabic
Without using the new API, it renders CBA\d:\abc

Originating from bug 119517.

Please do a complete review of the UI elements of this component in order to identify and call the new API for all occurrences of file/directory paths, URLs, file associations and any other strings that should have overall left to right reading order.  Check views, wizards, property and preference pages, and dialogs as a starting point.  Some examples of this problem that I have found in this component thus far are:

*Import User Libraries Dialog: File location field.
*Keys preference page: Key Sequences with 2 consecutive neutral characters (like Ctrl+.)
*Linked Resources preference page: Defined path variables
*New project wizard: Default location field
*Import Preferences: From file field
*Import File System and Archive: From directory and Into folder fields
*Export File System and Archive: To directory field
*Edit External Web Browser dialog: Location field
*Edit Variable Entry dialog: Path field
*New Variable: Location field
*Swtich workspace dialog: Workspace field
*Problems view: Resource column (ABC.java displays java.ABC should be CBA.java)
Comment 1 Karice McIntyre CLA 2006-03-06 12:55:35 EST
Created attachment 35769 [details]
screen shots of examples of incorrect rendering
Comment 2 Karice McIntyre CLA 2006-03-07 09:29:34 EST
This only occurs on Windows (and maybe Mac), but not Linux.
Comment 3 Karice McIntyre CLA 2006-04-18 12:41:33 EDT
Deferring to 3.3 - this will not be a trivial task.
Comment 4 Karice McIntyre CLA 2007-04-24 15:10:59 EDT
defer
Comment 5 Eclipse Webmaster CLA 2019-09-06 16:15:10 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.
Comment 6 Eclipse Genie CLA 2022-01-11 15:06:22 EST
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug.

If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.