16
IBM Software Group © 2009 IBM Corporation Overview of Bidi support in Dojo 1.4 Tomer Mahlin Bidi Development Lab Jerusalem

Bidi Support In Dojo1.4

Embed Size (px)

Citation preview

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

IBM Software Group

© 2009 IBM Corporation16

The END