Unicode 10 support and maintenance takeover
Dov Grobgeld <[email protected]> Mon, 6 Nov 2017 23:17:20 +0200
| Newsgroups | gmane.comp.internationalization.fribidi |
|---|---|
| Message-ID | <CA++fsGFEhfKBmKfiujOwRC8gL22Oc2YNrjkPnLAAgs3FLyzGWQ@mail.gmail.com> |
--===============1514526486== Content-Type: multipart/alternative; boundary="f403045c2d78e350b2055d56fafe" --f403045c2d78e350b2055d56fafe Content-Type: text/plain; charset="UTF-8" Hi all, 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! 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. 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. The code is more or less ready for this branch (though possibly not fully optimized) and it resides in: https://github.com/fribidi/fribidi/tree/unicode-10 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. The main options are: - Just let the API break, and put some comments in the header files describing to users what needs to be done. - 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. - 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. Or do you have any other idea? I would also very much appreciate to get feedback and bug reports about this new branch. Thanks in advance! Dov --f403045c2d78e350b2055d56fafe Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:arial,he= lvetica,sans-serif">Hi all,</div><div class=3D"gmail_default" style=3D"font= -family:arial,helvetica,sans-serif"><br></div><div class=3D"gmail_default" = style=3D"font-family:arial,helvetica,sans-serif">After long discussions wit= h Behdad behind the scenes, he has asked me to take over the maintainer tas= k of fribidi, which I have agreed to do. Let me first of all thank Behdad f= or 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 Bi= Di support in free software. Soon Behdad took over the maintenance and wit= h his perseverance over the years as a maintainer have helped fulfilling th= is goal way beyond what I had hoped for. Thanks again!</div><div class=3D"g= mail_default" style=3D"font-family:arial,helvetica,sans-serif"><br></div><d= iv class=3D"gmail_default" style=3D"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=3D"gmail_default" style=3D"font-family:ari= al,helvetica,sans-serif"><br></div><div class=3D"gmail_default" style=3D"fo= nt-family:arial,helvetica,sans-serif">The main task that lies ahead of us i= s to release fribidi with support for the isolating characters that were in= troduced into Unicode-6.3.</div><div class=3D"gmail_default" style=3D"font-= family:arial,helvetica,sans-serif"><br></div><div class=3D"gmail_default" s= tyle=3D"font-family:arial,helvetica,sans-serif">The code is more or less re= ady for this branch (though possibly not fully optimized) and it resides in= :</div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sa= ns-serif"><br></div><div class=3D"gmail_default" style=3D"font-family:arial= ,helvetica,sans-serif"><a href=3D"https://github.com/fribidi/fribidi/tree/u= nicode-10">https://github.com/fribidi/fribidi/tree/unicode-10</a></div><div= class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif"><= br></div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,= sans-serif">But, and this is the problem, that I need advice about. This ve= rsion breaks binary compatibility with earlier versions. This break of comp= atibility is due to the bidi algorithm having introduced=C2=A0 dependency o= f the bracket type of each character, so we have to supply this bracket typ= e as a parameter.<br></div><div class=3D"gmail_default" style=3D"font-famil= y:arial,helvetica,sans-serif"><br></div><div class=3D"gmail_default" style= =3D"font-family:arial,helvetica,sans-serif">The main options are:<br></div>= <div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-seri= f"><ul><li>Just let the API break, and put some comments in the header file= s describing to users what needs to be done.<br></li><li>Create new functio= ns, e.g. fribidi_get_par_embedding_levels_ex() that receives the new parame= ter, and let the old fribidi_get_par_embedding_levels() function call the n= ew *_ex() function with a null ptr for the bracket type. <br></li><li>Renam= e this library fribidi10 (10 as in the Unicode version) and let it be a dif= ferent projects from the previous fribidi. This way nothing is broken in th= e old api, and whoever wants to use the updated bidi algo is free to use th= is ne library.<br></li></ul><p>Or do you have any other idea?=C2=A0</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></d= iv> --f403045c2d78e350b2055d56fafe-- --===============1514526486== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZnJpYmlkaSBt YWlsaW5nIGxpc3QKZnJpYmlkaUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmliaWRpCg== --===============1514526486==--