mirror of
https://github.com/php/php-src.git
synced 2024-10-14 21:12:35 +00:00
372b1fae01
- Added the CapRTL charset -- should be used for testing on machines without Hebrew/Arabic/Persian fonts - Changed the note about deprecated behaviour from E_WARNING to E_NOTICE
57 lines
2.1 KiB
Plaintext
57 lines
2.1 KiB
Plaintext
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
|
|
=====
|
|
|
|
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
|
|
3) The char code being used, which can be one of the following
|
|
constants:
|
|
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
|
|
|
|
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).
|
|
|
|
2) dl - same, just add shared, to get .... --with-fribidi=shared,base....
|
|
|
|
Prerequisites
|
|
=============
|
|
1) FriBidi version 0.10.4 or later must be installed. Latest version can be obtained thru
|
|
http://fribidi.sourceforge.net/
|
|
|
|
Note
|
|
=====
|
|
|
|
The function fribidi_log2vis computes three more arrays which are currently not passed back as output.
|
|
These arrays are:
|
|
1) mapping from the logical to the visual string.
|
|
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.
|