<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Hi all,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">After long discussions with Behdad behind the scenes, he has asked me to take over the maintainer task of fribidi, which I have agreed to do. Let me first of all thank Behdad for bringing fribidi to what it is today! I started the fribidi project back in 1999 as a proof of concept and hoping it would help in proliferating BiDi support in free software. Soon  Behdad took over the maintenance and with his perseverance over the years as a maintainer have helped fulfilling this goal way beyond what I had hoped for. Thanks again!</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">As I have much less experience in GNU software engineering than Behdad, I must rely on the community more than he had to, which is part of the reason for this email.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">The main task that lies ahead of us is to release fribidi with support for the isolating characters that were introduced into Unicode-6.3.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">The code is more or less ready for this branch (though possibly not fully optimized) and it resides in:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><a href="https://github.com/fribidi/fribidi/tree/unicode-10">https://github.com/fribidi/fribidi/tree/unicode-10</a></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">But, and this is the problem, that I need advice about. This version breaks binary compatibility with earlier versions. This break of compatibility is due to the bidi algorithm having introduced  dependency of the bracket type of each character, so we have to supply this bracket type as a parameter.<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">The main options are:<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><ul><li>Just let the API break, and put some comments in the header files describing to users what needs to be done.<br></li><li>Create new functions, e.g. fribidi_get_par_embedding_levels_ex() that receives the new parameter, and let the old fribidi_get_par_embedding_levels() function call the new *_ex() function with a null ptr for the bracket type. <br></li><li>Rename this library fribidi10 (10 as in the Unicode version) and let it be a different projects from the previous fribidi. This way nothing is broken in the old api, and whoever wants to use the updated bidi algo is free to use this ne library.<br></li></ul><p>Or do you have any other idea? </p><p>I would also very much appreciate to get feedback and bug reports about this new branch.<br></p><p>Thanks in advance!</p><p>Dov</p><p><br></p></div></div>