behdad behdad org
http://www.farsiweb.info/
http://behdad.org/download/Presentations/bidi-layouts/
http://behdad.org/download/Presentations/bidi-layouts/bidi-layouts.tar.gz
Bidirectional Layouts in GTK+, DDC'2004 | 1 |
Bidirectional Layouts in GTK+, DDC'2004 | 2 |
Bidirectional Layouts in GTK+, DDC'2004 | 3 |
http://www.unicode.org/reports/tr9/
Phase 1:
Input:
|
Phase 2:
Input:
|
Bidirectional Layouts in GTK+, DDC'2004 | 4 |
Phase 1:
Input:
Line break:
Lines of text:
|
Phase 2:
Input:
|
Bidirectional Layouts in GTK+, DDC'2004 | 5 |
Line break:
Lines of text:
Phase 1:
Input:
|
Phase 2:
Input:
|
Bidirectional Layouts in GTK+, DDC'2004 | 6 |
Phase 1:
Input:
|
Phase 2:
Input:
Line break:
Lines of text:
|
Bidirectional Layouts in GTK+, DDC'2004 | 7 |
Bidirectional Layouts in GTK+, DDC'2004 | 8 |
Bidirectional Layouts in GTK+, DDC'2004 | 9 |
Bidirectional Layouts in GTK+, DDC'2004 | 10 |
Bidirectional Layouts in GTK+, DDC'2004 | 11 |
Bad (Current): |
Good (Ideal): |
Bidirectional Layouts in GTK+, DDC'2004 | 12 |
Bidirectional Layouts in GTK+, DDC'2004 | 13 |
Right direction (RTL)
نمیدانم. ولی به نظر تنها کاری میرسید که در هفتهی اولِ
ژانویهی ۱۹۶۴ میشد انجام داد، و دو نفر را هم پیدا کردم که
همراهیام کنند. یکی از آنها خواسته که نامش فاش نشود، که عیبی
ندارد... |
نمیدانم. ولی به نظر تنها کاری میرسید که در هفتهی اولِ
ژانویهی ۱۹۶۴ میشد انجام داد، و دو نفر را هم پیدا کردم که
همراهیام کنند. یکی از آنها خواسته که نامش فاش نشود، که عیبی
ندارد... |
نمیدانم. ولی به نظر تنها کاری میرسید که در هفتهی اولِ
ژانویهی ۱۹۶۴ میشد انجام داد، و دو نفر را هم پیدا کردم که
همراهیام کنند. یکی از آنها خواسته که نامش فاش نشود، که عیبی
ندارد... |
||
نمیدانم. ولی به نظر تنها کاری میرسید که در هفتهی اولِ
ژانویهی ۱۹۶۴ میشد انجام داد، و دو نفر را هم پیدا کردم که
همراهیام کنند. یکی از آنها خواسته که نامش فاش نشود، که عیبی
ندارد... |
نمیدانم. ولی به نظر تنها کاری میرسید که در هفتهی اولِ
ژانویهی ۱۹۶۴ میشد انجام داد، و دو نفر را هم پیدا کردم که
همراهیام کنند. یکی از آنها خواسته که نامش فاش نشود، که عیبی
ندارد... |
نمیدانم. ولی به نظر تنها کاری میرسید که در هفتهی اولِ
ژانویهی ۱۹۶۴ میشد انجام داد، و دو نفر را هم پیدا کردم که
همراهیام کنند. یکی از آنها خواسته که نامش فاش نشود، که عیبی
ندارد... |
Bidirectional Layouts in GTK+, DDC'2004 | 14 |
Classic from Pango Gallery
Bidirectional Layouts in GTK+, DDC'2004 | 15 |
Bidirectional Layouts in GTK+, DDC'2004 | 16 |
gedit under en_US (English) locale:
gedit under fa_IR (Persian) locale:
Bidirectional Layouts in GTK+, DDC'2004 | 17 |
AbiWord under en_US (English) locale:
AbiWord under fa_IR (Persian) locale:
Bidirectional Layouts in GTK+, DDC'2004 | 18 |
/* justification for label and maybe other widgets (text?) */ typedef enum { GTK_JUSTIFY_LEFT, GTK_JUSTIFY_RIGHT, GTK_JUSTIFY_CENTER, GTK_JUSTIFY_FILL } GtkJustification; void gtk_label_set_justify (GtkLabel *label, GtkJustification jtype); GtkJustification gtk_label_get_justify (GtkLabel *label);
(GTK_JUSTIFY_FILL is just a place-holder right now)
LEFT |
RIGHT |
CENTER |
FILL |
Wrong!
Bidirectional Layouts in GTK+, DDC'2004 | 19 |
23=8 different alignment functions
Bidirectional Layouts in GTK+, DDC'2004 | 20 |
en_US
|
en_US
|
en_US
|
en_US
| ||||||||||||||||||||
en_US
|
en_US
|
en_US
|
en_US
| ||||||||||||||||||||
Bidirectional Layouts in GTK+, DDC'2004 | 21 |
User: | |
Password: | |
Language: |
کاربر: | |
گذرواژه: | |
زبان: |
Bidirectional Layouts in GTK+, DDC'2004 | 22 |
But Wait!
Bidirectional Layouts in GTK+, DDC'2004 | 23 |
/* Reading directions for text */ typedef enum { GTK_TEXT_DIR_NONE, GTK_TEXT_DIR_LTR, GTK_TEXT_DIR_RTL } GtkTextDirection; /* Functions for setting directionality for widgets*/ void gtk_widget_set_direction (GtkWidget *widget, GtkTextDirection dir); GtkTextDirection gtk_widget_get_direction (GtkWidget *widget); void gtk_widget_set_default_direction (GtkTextDirection dir); GtkTextDirection gtk_widget_get_default_direction (void);
Bidirectional Layouts in GTK+, DDC'2004 | 24 |
Bidirectional Layouts in GTK+, DDC'2004 | 25 |
Bidirectional Layouts in GTK+, DDC'2004 | 26 |
~FIN~
Bidirectional Layouts in GTK+, DDC'2004 | 27 |