Boost.Nowide Ready for release

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Boost.Nowide Ready for release

Boost - Dev mailing list
Hi all,

after the discussion in January this year I took over maintenance of
Boost.Nowide.

First goal: Integrate all changes and requests that came up during
review and as Github Issues including the docs.
Second goal: Get extensive CI running with coverage especially on
Windows (it is a mainly Windows library)
Third goal: Iron out bugs, performance issues and incompatibilities.

Of great help was my fork I prepared (and announced here) earlier but it
was still an incredible amount of work.

I can now say I'm done!

I invite everyone to test it, (re-)review the code or check the docu for
anything that's missing: https://github.com/boostorg/nowide

One of the bigger changes was to make the library "less header-only" (it
already required compilation on Windows when using iostreams). This was
due to some required functions being considered extensions by e.g.
MinGW/Cygwin and hence failing for consumers build with `-std=c++98` (or
similar). This now works!

Final note for those interested: The standalone (non-Boost) version and
converter will be available later.

Happy poking!




_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

smime.p7s (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Boost.Nowide Ready for release

Boost - Dev mailing list
Great work.

Have you by any chance tested behavior of this option (available since
Windows 10 April 2018 update):
"Control Panel - Region - Administrative - Change system locale - Beta:
Use Unicode UTF-8 for worldwide language support"?

Supposedly, this accepts UTF-8 strings through Windows "ANSI" APIs, more
or less the same way as on Linux.
Would be nice if this option and it's effects were mentioned in your
documentation.

--------------------------------------------------------------------------------------------------------------------------------------------------
Scapix Language Bridge - automatic, on the fly bindings from C++ to
Java, Objective-C, Swift, Python, JavaScript.
https://github.com/scapix-com/scapix

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Boost.Nowide Ready for release

Boost - Dev mailing list
On Fri, 6 Mar 2020 at 03:06, Boris Rasin via Boost <[hidden email]>
wrote:

> Great work.
>
> Have you by any chance tested behavior of this option (available since
> Windows 10 April 2018 update):
> "Control Panel - Region - Administrative - Change system locale - Beta:
> Use Unicode UTF-8 for worldwide language support"?
>

w10-1909, still experimental, let's see what w10-2003 brings.

degski
--
@systemdeg
"We value your privacy, click here!" Sod off! - degski
"Anyone who believes that exponential growth can go on forever in a finite
world is either a madman or an economist" - Kenneth E. Boulding
"Growth for the sake of growth is the ideology of the cancer cell" - Edward
P. Abbey

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Boost.Nowide Ready for release

Boost - Dev mailing list

Am 06.03.20 um 15:14 schrieb degski via Boost:

> On Fri, 6 Mar 2020 at 03:06, Boris Rasin via Boost <[hidden email]>
> wrote:
>
>> Great work.
>>
>> Have you by any chance tested behavior of this option (available since
>> Windows 10 April 2018 update):
>> "Control Panel - Region - Administrative - Change system locale - Beta:
>> Use Unicode UTF-8 for worldwide language support"?
>>
> w10-1909, still experimental, let's see what w10-2003 brings.
There is also a way to set this in the program itself via a manifest
file since 1903. Obviously this only works for Windows versions newer
than that and you must be prepared if someone runs this on an older version.
I added that to the docu though: https://github.com/boostorg/nowide/pull/77

I also got a few other, minor things to be put in that before I merge to
master.

But anyone checking the current state and reporting issues would be
appreciated.


Another major concern of mine is the use of the custom filebuf. It's
implementation was particularly tricky due to the documentation/std ref
being quite vague or hard to understand.
I was thinking about limiting the scope and using the MSVC extension
`filebuf::open(const wchar_t*, ...)` and requiring
`<ext/stdio_filebuf.hpp>` on others (most stdlibs have it)

Especially: Currently using `std::fseek` and the like but for Windows
with its LLP64 system I'd actually need to use `_fseek64` after finding
out when this is available... So currently >2GB files are not supported.
Using the existing implementation of the filebuf would eliminate the
need to implement something like that.

Regards,
Alex




_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

smime.p7s (6K) Download Attachment