[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Arabisation
- To: Development Discussions <developer at arabeyes dot org>
- Subject: Re: Arabisation
- From: Nadim Shaikli <shaikli at yahoo dot com>
- Date: Mon, 26 Sep 2005 11:44:15 -0700 (PDT)
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=xVVQbEVopkqAp/JUz1u1ZzQwJ8bhXVT7KpLLqhiMHC9Wdc68E+8F0lzUAVUu4rzLolNJQ0o1TyxyKisdUUhtI18/espT9c1yYS4DzF2gbGKwnI/6zx6gy2o3jDBrnZgCS8NUPB2GvITfCaBgTw8NU4taZKNZCpzOVXtna9fmpTA= ;
--- ben sassi rakia <rakia_sassi at yahoo dot fr> wrote:
> Can someone help me by tell how can we "arabiser" a software, the
> differents ways to program and show letters in arabic language?
This is a rather complex question that can't really be answered in
a few lines/paragraphs, but we can provide some insight on what is
required/needed for you to go read more about the various topics.
Arabic is a Right-to-Left (RTL) language which more likely than not
is accompanied with latin text (english, french, german, etc) which
are Left-to-Right strings resulting in a problem - how does one display
both texts on the same page ? Bidirectionality (Bidi for short) is the
answer that Unicode [1] has provided that the majority of software out
there uses. The specification [2] is available as are a number of sample
implementations and actual real world libraries and applications (akin
to Fribidi and miniBidi among others). The encoding that the characters
use (how a particular character is stored in memory or disk) also needs
to be specified - UTF-8 is a rather common all encompassing character
encoding (translates a character to a set of bytes) and is highly
supported (you can view the Arabic character-set sans encoding here [3]).
Last but not least is the need for the Arabic characters to be molded
(the same Arabic character looks different depending on where it is
within a word) and this process is called shaping (or less common known
as joining). Shaping is so fundamental that is doesn't have a stand-alone
library (yet) and is not specified by any consortium which leaves
developers completely free to develop whatever they see fit.
So in short, look into unicode's Bidi spec, unicode's character maps,
the various encoding methods and the general shaping (Arabic language)
requirements. There are plenty of good examples out there in terms
of libraries and/or application that one can look into to learn (some
might be overwhelming (ICU, pango come to mind :-) others are less demanding).
Hope that helps (I know this is NOT complete, but it is a start).
Salam.
[1] http://www.unicode.org
[2] http://www.unicode.org/reports/tr9
[3] http://www.unicode.org/charts
- Nadim
__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com