Bidi Support In Dojo1.4
-
Upload
guest0176bf4 -
Category
Education
-
view
3.713 -
download
2
Transcript of Bidi Support In Dojo1.4
IBM Software Group
© 2009 IBM Corporation
Overview of Bidi support in Dojo 1.4
Tomer MahlinBidi Development LabJerusalem
IBM Software Group
© 2009 IBM Corporation2
Agenda
2. Bidirectional scripts support – what is it ?
3. Aspects of Bidi support in Dojo
4. Configuration of Bidi support in Dojo
5. What works well ?
6. What is in development ?
7. References
8. Contacts
IBM Software Group
© 2009 IBM Corporation3
Bidirectional scripts support – what is it ?
A multitude of people use languages that are written in scripts which are bidirectional.
In bidirectional scripts the text is written from right to left while embedded numbers or segments of text in "western" scripts (Latin based ones such as English or French, Cyrillic based, or Greek) are written from left to right. – jerusalem NI EVIL I
The languages with a bidirectional script can be divided in two distinct groups using either the Arabic or the Hebrew script (there are a few more additional bidirectional scripts although with less users).
Bidi support stands for support for Arabic and Hebrew (and a few more) languages having bidirectional scripts.
IBM Software Group
© 2009 IBM Corporation4
Aspects of Bidi support in Dojo
1. Basic Bidi supporta) Support for proper display, typing, shaping (Arabic specific) and
editing of Bidi text (leveraging the Unicode Bidi algorithm).
• Support for controlling base text direction of text (LTR, RTL, Contextual)
• Support for proper display of structured text including Bidi characters (i.e. File path, SQL query etc.)
b) Support for national calendars (i.e. Hebrew, Hijri Islamic)
2. Bidi enablement for translation to languages with bidirectional scripts
a) Support for proper GUI mirroring
i. Controlling component orientation on the widget level
IBM Software Group
© 2009 IBM Corporation5
Configuration of Bidi support in Dojo 1.4
Support for proper display of structured text including Bidi characters (1.a.ii)
– The support is available via dojox.string.BidiComplex
dojo.require("dojox.string.BidiComplex"); var originalString = "c:\ABC\DEF"; var displayString = dojox.string.BidiComplex.createDisplayString(originalString,
"FILE_PATH");
Static case
dojo.require("dojox.string.BidiComplex"); …dojox.string.BidiComplex.attachInput(document.getElementById("ctext"), "FILE_PATH");
Dynamic case
Before:
After:
Before:
After:
IBM Software Group
© 2009 IBM Corporation6
Configuration of Bidi support in Dojo 1.4
Support for national calendars (1.b)– The support is available via
• dojox.date.hebrew.Date – calendar logic• dojox.date.hebrew.locale – parsing and formatting• dojox.date.hebrew.numerals – support for Hebrew numerals
dojo.require("dojox.date.hebrew");dojo.require("dojox.date.hebrew.Date");dojo.require("dojox.date.hebrew.locale");dojo.require(“dojox.date.hebrew.numerals”);
<input id="hebcal“ name="noDOMvalue“ value="2009-03-23“ type="text“ dojoType="dijit.form.DateTextBox“ datePackage = "dojox.date.hebrew“ lang="en" >
IBM Software Group
© 2009 IBM Corporation7
Configuration of Bidi support in Dojo 1.4
Support for national calendars (1.b)
lang = en lang = he (not mirrored GUI)
IBM Software Group
© 2009 IBM Corporation8
Configuration of Bidi support in Dojo 1.4
Support for proper GUI mirroring
– Controlled by dir attribute in the body
<body dir =ltr> <body dir =rtl>
IBM Software Group
© 2009 IBM Corporation9
What works well ?
Support for typing and display of Bidi text as part of Dojo widgets
Support for proper GUI mirroring
● Simple widgets (tree, slider etc.) are properly mirrored
Not mirrored slider
Mirrored slider
IBM Software Group
© 2009 IBM Corporation10
What is in development ?
Mirroring of complex widgets – dojox.charting.*
Not mirrored chart Mirrored chart
IBM Software Group
© 2009 IBM Corporation11
What is in development ?
Mirroring of complex widgets – dojox.gridNot mirrored grid
Mirrored grid
IBM Software Group
© 2009 IBM Corporation12
What is in development ?
Support for GUI orientation on the widget level
1122
3344
IBM Software Group
© 2009 IBM Corporation13
What is in development ?
Controlling base text direction independently from GUI orientation
Displaying Bidi text in the not mirrored GUIDisplaying English text in the mirrored GUI
IBM Software Group
© 2009 IBM Corporation14
References
Bidirectional script support: A primer: An introduction to the concepts and peculiarities of bidirectional scripts in computing systems, which forms a basis for understanding how those scripts are implemented in specific systems (http://www.ibm.com/developerworks/websphere/library/techarticles/bidi/bidigen.html).
Design document for display of complex expressions containing bidirectional text: A general design document created by Bidi architect Mati Allouche provides a way to resolve overwhelming majority of various types of expressions with a complex internal structure.https://bugs.eclipse.org/bugs/attachment.cgi?id=63835
Unicode Bidirectional Algorithm: The layout transformations use a bidirectional implicit algorithm that conforms to the Unicode Bidirectional Algorithm. http://www.unicode.org/reports/tr9/
Hebrew national calendar: Documentation of Hebrew national calendar in Dojo 1.4 is available from: http://docs.dojocampus.org/dojox/date/hebrew
Support for complex expressions: Documentation of support for complex expressions is available from http://api.dojotoolkit.org/jsdoc/1.3/dojox.string.BidiComplex
IBM Software Group
© 2009 IBM Corporation15
Contacts
GCoC – Globalization Center of Competence
– Israel Gidali ([email protected]) – Manager of GCoC Complex Text Languages
– Matitiahu Allouche ([email protected]) – Bidi architect
– Waleed Oransa ([email protected]) – Technical team lead
– Mohamed Mohie([email protected]) - Technical team lead
BDL – Bidi development lab (Jerusalem)
– Eli Shapurov ([email protected]) – Manager of HCG
– Tomer Mahlin ([email protected]) – HCG Architect
ACGC – Arabic Competence and Globalization Center (Cairo)
– Tarek Abou Aly([email protected]) – Manager of ACGC