Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add u8 variants #61

Open
rurban opened this issue Nov 7, 2018 · 1 comment
Open

add u8 variants #61

rurban opened this issue Nov 7, 2018 · 1 comment
Assignees

Comments

@rurban
Copy link
Owner

rurban commented Nov 7, 2018

C18 thought about adding the char8_t type, to match the new u8 string prefix: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2231.htm
They only wanted to add some converters mbrtoc8, c8rtomb, no other functions for char8_t, instead of the ASCII str and widechar wcs variants.

80% use UTF-8, not widechar. wcs only makes sense on windows, everywhere else u8 won.

Think of adding u8 variants for all functions (disabled by default).
look at julia's utf8lib and utf8.h (which is not as good).

@rurban
Copy link
Owner Author

rurban commented Aug 31, 2020

A minor proof that nobody uses wchar besides Windows is that gcc waits for __attribute__(format(wprintf,,) support since 2008. Patches exist since 2015.

Just kill wchar and replace it with char8 or utf8 or u8 as default. POSIX is a joke.
They dont support case-folding (wcsfc), nor wcscmp nor wcsnorm. Which means you cannot search for strings, just byte buffers. There is a difference which didn't make it to the committee yet. (neither the various kernel's, which treat identifiers as byte-buffers. they are not. file paths, names, ...) http://perl11.org/blog/foldcase.html

rurban added a commit that referenced this issue Sep 1, 2020
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8

See GH #61
rurban added a commit that referenced this issue Sep 4, 2020
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8

See GH #61
rurban added a commit that referenced this issue Sep 4, 2020
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8

See GH #61
rurban added a commit that referenced this issue Sep 4, 2020
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8

See GH #61
rurban added a commit that referenced this issue Sep 4, 2020
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Oct 2, 2020
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Mar 19, 2021
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Apr 18, 2021
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Apr 18, 2021
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Oct 30, 2021
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Nov 22, 2021
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Dec 13, 2021
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Jan 14, 2022
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Jan 28, 2022
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
@rurban rurban added this to the 3.8 milestone Jan 29, 2022
@rurban rurban self-assigned this Jan 29, 2022
rurban added a commit that referenced this issue Jan 29, 2022
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Feb 10, 2022
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Feb 10, 2022
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Feb 18, 2022
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Feb 18, 2022
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
@rurban rurban removed this from the 3.8 milestone Oct 3, 2022
rurban added a commit that referenced this issue Feb 23, 2023
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Feb 23, 2023
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Feb 23, 2023
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Dec 22, 2023
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Mar 8, 2024
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
rurban added a commit that referenced this issue Mar 8, 2024
There's not much practial need for wchar strings (esp. 4-byte strings),
but a lot for a proper and safe utf-8 string library.

Recommended: ./configure --disable-wchar --enable-u8
See GH #61

Start with u8cpy_s, u8icpy_s, u8cat_s, u8icat_s, u8nlen_s,
u8norm_s and the safe_u8_lib.h header.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant