2000-11-13 16:01:05 +00:00
|
|
|
Purpose
|
|
|
|
=======
|
|
|
|
|
|
|
|
This extension is basically a wrapper for the FriBidi implementation
|
|
|
|
of the Unicode Bidi algorithm. The need for such an algorithm rises
|
|
|
|
from the bidirectional language usage done by applications.
|
|
|
|
Arabic/Hebrew embedded within English is such a case.
|
|
|
|
|
|
|
|
Usage
|
|
|
|
=====
|
|
|
|
|
2002-09-17 16:27:27 +00:00
|
|
|
The only function used is fribidi_log2vis (logical [non-reversed] to visual [reversed]).
|
|
|
|
Input:
|
|
|
|
1) The Logical string.
|
|
|
|
2) Base direction of application. Possible values:
|
|
|
|
a) FRIBIDI_RTL - right to left
|
|
|
|
b) FRIBIDI_LTR - left to right
|
|
|
|
c) FRIBIDI_AUTO - autodetect the base direction
|
2000-11-13 16:01:05 +00:00
|
|
|
3) The char code being used, which can be one of the following
|
|
|
|
constants:
|
2002-09-26 10:43:42 +00:00
|
|
|
a) FRIBIDI_CHARSET_UTF8 (Unicode)
|
|
|
|
b) FRIBIDI_CHARSET_8859_6 (Arabic)
|
|
|
|
c) FRIBIDI_CHARSET_8859_8 (Hebrew)
|
|
|
|
d) FRIBIDI_CHARSET_CP1255 (Hebrew/Yiddish)
|
|
|
|
e) FRIBIDI_CHARSET_CP1256 (Arabic)
|
|
|
|
f) FRIBIDI_CHARSET_ISIRI_3342 (Persian)
|
|
|
|
g) FRIBIDI_CHARSET_CAP_RTL - Used for test purposes, will treat CAPS as non-English letetrs
|
2000-11-13 16:01:05 +00:00
|
|
|
|
|
|
|
Note: Currently, FriBidi supports the above Character Codes alone.
|
|
|
|
|
|
|
|
Output: A Visual string.
|
|
|
|
|
|
|
|
|
|
|
|
Compiling
|
|
|
|
===========
|
|
|
|
1) Static - ./configure --with-fribidi=base-directory-of-FriBidi-installation-path
|
|
|
|
(defaults to /usr/local).
|
|
|
|
|
2000-12-14 10:15:38 +00:00
|
|
|
2) dl - same, just add shared, to get .... --with-fribidi=shared,base....
|
2000-11-13 16:01:05 +00:00
|
|
|
|
|
|
|
Prerequisites
|
|
|
|
=============
|
2002-09-16 15:31:32 +00:00
|
|
|
1) FriBidi version 0.10.4 or later must be installed. Latest version can be obtained thru
|
2001-08-19 06:39:13 +00:00
|
|
|
http://fribidi.sourceforge.net/
|
2000-11-13 16:01:05 +00:00
|
|
|
|
|
|
|
Note
|
|
|
|
=====
|
|
|
|
|
|
|
|
The function fribidi_log2vis computes three more arrays which are currently not passed back as output.
|
|
|
|
These arrays are:
|
2002-09-17 16:27:27 +00:00
|
|
|
1) mapping from the logical to the visual string.
|
2000-11-13 16:01:05 +00:00
|
|
|
2) mapping from the visual to the logical string.
|
|
|
|
3) embedding level of characters as figured out by the FriBidi algorithm.
|
|
|
|
|
|
|
|
The extension needs further implementation to support this.
|
|
|
|
p.s. - If you don't understand this, you probably don't need it.
|