5 Years Later: The First Win
The C Standards Committee will include "Restartable Functions for Efficient Character Conversions" in the C2Y Standard, enhancing text conversion between Unicode formats after a six-year development effort.
Read original articleThe C Standards Committee has officially included "Restartable Functions for Efficient Character Conversions" in the upcoming C2Y Standard, marking a significant achievement for the author after a six-year journey. The author initially joined the C++ Unicode Study Group to address frustrations with inadequate text conversion APIs in C and C++. Despite challenges, including the historical limitations of C's encoding systems, the author proposed a new approach to unify existing transcoding APIs into a more effective solution. The implementation of these new functions aims to facilitate proper conversions between UTF-8, UTF-16, and UTF-32, addressing long-standing issues with locale-based execution encoding. The author expresses gratitude to various supporters and collaborators who contributed to this success. With the completion of this project, the author plans to shift focus back to C++ and continue contributing to the standards.
- The C2Y Standard will include new functions for efficient character conversions.
- The author faced significant challenges due to historical limitations in C's encoding systems.
- The new functions aim to improve text conversion between different Unicode formats.
- Collaboration and support from various individuals and organizations were crucial to the project's success.
- The author plans to return to C++ standards work following this achievement.
Related
The C Standard charter was updated, now with security principles as well
The ISO/IEC JTC1/SC22/WG14 committee oversees C Standard development, focusing on portability, efficiency, and stability. Collaboration with the C++ committee ensures compatibility. Principles guide feature integration, code efficiency, security, and adaptability.
Some sanity for C and C++ development on Windows
C and C++ development on Windows historically struggled due to limited native standard library support, causing compatibility issues, especially with non-ASCII characters. Workarounds like libwinsane address these limitations, but challenges persist despite recent improvements in Unicode support.
New Features in C++26
The ISO released new C++ standards on a three-year cycle, with C++26 proposals open until January 2025. Updates include hazard pointers, user-space RCU support, debugging headers, and template enhancements for improved functionality.
Improving _Generic in C2y
The C programming community is enhancing the _Generic feature for the C2y standard to resolve issues from C23, focusing on simplifying type matching and addressing limitations in usability and behavior.
A popular but wrong way to convert a string to uppercase or lowercase
The article highlights common mistakes in C++ string case conversions, emphasizing the limitations of `std::tolower` and `std::towlower`, and recommends using `LCMapStringEx` or ICU functions for accuracy.
Related
The C Standard charter was updated, now with security principles as well
The ISO/IEC JTC1/SC22/WG14 committee oversees C Standard development, focusing on portability, efficiency, and stability. Collaboration with the C++ committee ensures compatibility. Principles guide feature integration, code efficiency, security, and adaptability.
Some sanity for C and C++ development on Windows
C and C++ development on Windows historically struggled due to limited native standard library support, causing compatibility issues, especially with non-ASCII characters. Workarounds like libwinsane address these limitations, but challenges persist despite recent improvements in Unicode support.
New Features in C++26
The ISO released new C++ standards on a three-year cycle, with C++26 proposals open until January 2025. Updates include hazard pointers, user-space RCU support, debugging headers, and template enhancements for improved functionality.
Improving _Generic in C2y
The C programming community is enhancing the _Generic feature for the C2y standard to resolve issues from C23, focusing on simplifying type matching and addressing limitations in usability and behavior.
A popular but wrong way to convert a string to uppercase or lowercase
The article highlights common mistakes in C++ string case conversions, emphasizing the limitations of `std::tolower` and `std::towlower`, and recommends using `LCMapStringEx` or ICU functions for accuracy.