Unicode update of width and other character properties

Thomas Wolff towo@towo.net
Mon Feb 26 20:02:00 GMT 2018


Am 26.02.2018 um 18:20 schrieb Corinna Vinschen:
> On Feb 25 18:14, Thomas Wolff wrote:
>> I have finally revamped, manually rebased, and repackaged my Unicode data
>> patches which I'll send in separate mail.
>> ...
> ...
> or *attach* the patches, one per mail.
That will do, thanks.

>> There are two patches:
>> libc/string: wcwidth using generated width data, with data generated from
>> Unicode 10.0
>> libc/ctype: isw* and tow* functions using generated case conversion and
>> character class data, with Unicode 10.0 data
>> For both, generation script and a Makefile.widthdata / Makefile.chardata is
>> included. As these are to be used in the source directory,
>> not the binary target directory, in case of future Unicode update, they are
>> not related to the other Makefiles.
> Eh, what?  If you read back, I had no problems with your patches 2 and
> 3, only with patch 1 adding new makefiles.  So the only thing I actually
> asked for was to integrate the creation of the generated tables into
> Makefile.am and now you're telling me this is not what you changed...?
First I added an include to the generation makefile into Makefile.am, 
then it occurred to me that the generated makefile resides in the target 
hierarchy while the generation should probably be invoked in the source 
directory, so I removed it again.
I'm not sure about the best or preferred invocation interface for such a 
step. Maybe I should just provide the generation scripts (mk*) and leave 
it up to you to integrate them into the Makefile.am.

>> In ctype/, there is one new source (categories.c) which should be compiled
>> separately but although I tried to include it in Makefile.am,
>> I could not get the build process to compile it. So the current solution is
>> to include it from one of the other sources (the one that also maintains the
>> case conversion table).
> That's a workaround, not a solution.  When you change Makefile.am you
> have to regenerate Makefile.in, obviously.
>
> However, since regenerating Makefile.in for newlib is (unfortunately,
> for historical reasons) non-obvious, you can just go ahead and manually
> add categories.* to Makefile.in where it belongs, kind of like the
> attached.
Thanks for the patch.

I'll resubmit the wcwidth patch soon, maybe you can tell me how you'd 
like the data generation to be invoked, or I can submit it just with the 
script. I'll submit the ctype patch later; all works fine on my Windows 
10 system but there is some obscure trouble on a Windows 7 system which 
I'd like to check out first.
And there's also a locale patch which I presented a separate mail.

Thomas



More information about the Newlib mailing list