Re: Unicode 10 support and maintenance takeover
Behdad Esfahbod <[email protected]> Mon, 6 Nov 2017 17:26:54 -0500
| Newsgroups | gmane.comp.internationalization.fribidi |
|---|---|
| Message-ID | <CAF63+7UvuMNPJQ1VpWWqcQyxeBSG44L4Y3pgU4=iz+VzSARARw@mail.gmail.com> |
--===============0852771073==
Content-Type: multipart/alternative; boundary="94eb2c0590f0a21431055d57f39f"
--94eb2c0590f0a21431055d57f39f
Content-Type: text/plain; charset="UTF-8"
Hi Dov, others,
Thanks for writing this, and accepting to take over maintenance back! As
discussed, I've already moved my github tree to the fribidi org that you
created:
http://github.com/fribidi/fribidi
I also transferred my fribidi.old repo there:
https://github.com/fribidi/fribidi.old
I can also move these two:
https://github.com/behdad/pyarabicshaping
https://github.com/behdad/pybyedie
We can possibly gather Behnam's Python binding in that org as well.
I also want to apologize again for not fully reviewing and releasing your
excellent Unicode 6.3..10 work for so long.
Re API, I highly recommend that you DON'T break the API, and DON'T rename
the library. Ie. your second option.
Please merge your work and move it to master.
The only other thing I like to figure out is Khaled's request to make
reorder_runs public somehow, without exposing FriBidiRun (completely). I'm
fairly sure it's possible to expose just the first two members of
FriBidiRun. Ie:
struct _FriBidiRunPublic
{
FriBidiRun *prev;
FriBidiRun *next;
};
With that, I'm happy to re-expose the reorder_runs API that libraqm needs.
I'm sure glib had a structure or two that worked this way, but cannot find
which one. I can probably do this if you want me to.
Cheers, and thanks again. One fewer library to maintain :-).
behdad
On Mon, Nov 6, 2017 at 4:17 PM, Dov Grobgeld <[email protected]> wrote:
> 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
>
>
>
> _______________________________________________
> fribidi mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/fribidi
>
>
--
behdad
http://behdad.org/
--94eb2c0590f0a21431055d57f39f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div><div><div><div><div>Hi Dov, others,<br><br></div>Than=
ks for writing this, and accepting to take over maintenance back!=C2=A0 As =
discussed, I've already moved my github tree to the fribidi org that yo=
u created:<br><br>=C2=A0 <a href=3D"http://github.com/fribidi/fribidi">http=
://github.com/fribidi/fribidi</a><br></div><div><br></div><div>I also trans=
ferred my fribidi.old repo there:<br><br>=C2=A0 <a href=3D"https://github.c=
om/fribidi/fribidi.old">https://github.com/fribidi/fribidi.old</a><br><br><=
/div><div>I can also move these two:<br><br>=C2=A0 <a href=3D"https://githu=
b.com/behdad/pyarabicshaping">https://github.com/behdad/pyarabicshaping</a>=
<br>=C2=A0 <a href=3D"https://github.com/behdad/pybyedie">https://github.co=
m/behdad/pybyedie</a><br><br></div>We can possibly gather Behnam's Pyth=
on binding in that org as well.<br><br></div>I also want to apologize again=
for not fully reviewing and releasing your excellent Unicode 6.3..10 work =
for so long.<br><br></div>Re API, I highly recommend that you DON'T bre=
ak the API, and DON'T rename the library.=C2=A0 Ie. your second option.=
<br><br></div><div>Please merge your work and move it to master.<br><br></d=
iv><div>The only other thing I like to figure out is Khaled's request t=
o make reorder_runs public somehow, without exposing FriBidiRun (completely=
).=C2=A0 I'm fairly sure it's possible to expose just the first two=
members of FriBidiRun. Ie:<br><br>struct _FriBidiRunPublic<br>{ <br>=C2=A0=
FriBidiRun *prev; <br>=C2=A0 FriBidiRun *next; <br>};<br><br></div><div>Wi=
th that, I'm happy to re-expose the reorder_runs API that libraqm needs=
.=C2=A0 I'm sure glib had a structure or two that worked this way, but =
cannot find which one.=C2=A0 I can probably do this if you want me to.<br><=
br></div><div>Cheers, and thanks again.=C2=A0 One fewer library to maintain=
:-).<br><br></div><div>behdad<br></div></div><div class=3D"gmail_extra"><b=
r><div class=3D"gmail_quote">On Mon, Nov 6, 2017 at 4:17 PM, Dov Grobgeld <=
span dir=3D"ltr"><<a href=3D"mailto:[email protected]" target=3D"_b=
lank">[email protected]</a>></span> wrote:<br><blockquote class=3D"=
gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-=
left:1ex"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-famil=
y:arial,helvetica,sans-serif">Hi all,</div><div class=3D"gmail_default" sty=
le=3D"font-family:arial,helvetica,sans-serif"><br></div><div class=3D"gmail=
_default" style=3D"font-family:arial,helvetica,sans-serif">After long discu=
ssions with Behdad behind the scenes, he has asked me to take over the main=
tainer task of fribidi, which I have agreed to do. Let me first of all than=
k Behdad for bringing fribidi to what it is today! I started the fribidi pr=
oject back in 1999 as a proof of concept and hoping it would help in prolif=
erating BiDi support in free software. Soon Behdad took over the maintenan=
ce and with his perseverance over the years as a maintainer have helped ful=
filling this goal way beyond what I had hoped for. Thanks again!</div><div =
class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif"><b=
r></div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,s=
ans-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:arial,helvetica,sans-serif"><br></div><div class=3D"gmail_default" s=
tyle=3D"font-family:arial,helvetica,sans-serif">The main task that lies ahe=
ad of us is to release fribidi with support for the isolating characters th=
at were introduced into Unicode-6.3.</div><div class=3D"gmail_default" styl=
e=3D"font-family:arial,helvetica,sans-serif"><br></div><div class=3D"gmail_=
default" style=3D"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=3D"gmail_default" style=3D"font-family:arial,he=
lvetica,sans-serif"><br></div><div class=3D"gmail_default" style=3D"font-fa=
mily:arial,helvetica,sans-serif"><a href=3D"https://github.com/fribidi/frib=
idi/tree/unicode-10" target=3D"_blank">https://github.com/fribidi/<wbr>frib=
idi/tree/unicode-10</a></div><div class=3D"gmail_default" style=3D"font-fam=
ily:arial,helvetica,sans-serif"><br></div><div class=3D"gmail_default" styl=
e=3D"font-family:arial,helvetica,sans-serif">But, and this is the problem, =
that I need advice about. This version breaks binary compatibility with ear=
lier versions. This break of compatibility is due to the bidi algorithm hav=
ing introduced=C2=A0 dependency of the bracket type of each character, so w=
e have to supply this bracket type as a parameter.<br></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"=
>The main options are:<br></div><div class=3D"gmail_default" style=3D"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_<wbr>lev=
els_ex() that receives the new parameter, and let the old fribidi_get_par_e=
mbedding_<wbr>levels() function call the new *_ex() function with a null pt=
r for the bracket type. <br></li><li>Rename this library fribidi10 (10 as i=
n 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 u=
se the updated bidi algo is free to use this 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><span class=3D"HOEnZb"><font color=3D"#888888"><p>Dov</p><p><br=
></p></font></span></div></div>
<br>______________________________<wbr>_________________<br>
fribidi mailing list<br>
<a href=3D"mailto:[email protected]">[email protected].=
org</a><br>
<a href=3D"https://lists.freedesktop.org/mailman/listinfo/fribidi" rel=3D"n=
oreferrer" target=3D"_blank">https://lists.freedesktop.org/<wbr>mailman/lis=
tinfo/fribidi</a><br>
<br></blockquote></div><br><br clear=3D"all"><br>-- <br><div class=3D"gmail=
_signature" data-smartmail=3D"gmail_signature">behdad<br><a href=3D"http://=
behdad.org/" target=3D"_blank">http://behdad.org/</a></div>
</div>
--94eb2c0590f0a21431055d57f39f--
--===============0852771073==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZnJpYmlkaSBt
YWlsaW5nIGxpc3QKZnJpYmlkaUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m
cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmliaWRpCg==
--===============0852771073==--