[FriBidi] Version 0.19.2 should be considered as new both API and ABI

Artyom artyomtnk at yahoo.com
Sun Oct 10 03:33:09 PDT 2010


Hello,

I've tried to convert by project BiDiTeX (http://biditex.sourceforge.net/)
to newer version of fribidi, I had issues with missing to_cp1255 from_cp1255 
functions,
but I moved to correct public functions.

However I discovered much bigger ABI/API compatibility issue:

FriBiDi 0.10.9
--------------

fribidi_boolean
fribidi_log2vis_get_embedding_levels (    /* input */
       FriBidiChar  *str,
       FriBidiStrIndex  len,
       FriBidiCharType *pbase_dir,
       FriBidiLevel *embedding_level_list);


FriBiDi 0.19.2
---------------

FriBidiLevel
fribidi_log2vis_get_embedding_levels (
  const FriBidiCharType *bidi_types,    /* input list of bidi types as returned 
by
                                           fribidi_get_bidi_types() */
  const FriBidiStrIndex len,    /* input string length of the paragraph */
  FriBidiParType *pbase_dir,    /* requested and resolved paragraph
                                 * base direction */
  FriBidiLevel *embedding_levels        /* output list of embedding levels */
) FRIBIDI_GNUC_DEPRECATED;


Now, 1st receives TEXT as input and outputs the levels, also it reveives 
base_dir as 

number and not a enum.

The second receives the categories of characters rather then characters 
themselves and
base direct is quite different, same for return type.

Actually my program BiDiTeX is totally broken with 0.19.2 and can't be used at 
all:

I think that both API and ABI versions should be updated as keeping same ABI/API 
version
is just wrong.


Now, users complain that in upstream Ubuntu that comes with new fribidi they 
can't use
the biditex, on the other hand they can't install older fribidi because it 
conflicts with the new one
(as they have same so-version and can't be installed separately)

Artyom


      


More information about the fribidi mailing list