|
CMake style; Rewrite in C99; Use separate CMake lists; Update copyright and license notices; Use header identifiers instead of keys for include guards; Use ifdef/ifndef; Remove top 'u8c' header (keep uninm); License under the LGPL; Bump required CMake version; Rename misc header to u8c; Remove assert; Remove attributes:; - u8c_attr_abitag; - u8c_attr_allocsz; - u8c_attr_artif; - u8c_attr_cold; - u8c_attr_fmt; - u8c_attr_malloc; - u8c_attr_hot; - u8c_attr_pure; - u8c_attr_retnonnull; - u8c_attr_sect; - u8c_attr_used; - u8c_attr_noderef; - u8c_attr_noesc; - u8c_attr_dup; Remove type constant macros; Remove our types; Remove endian-related facilities; Remove memory functions; Remove bytesz and dbg; Fix version number; Remove fmt header; Add new header 'format'; Add new header 'character'; Replace utf header with new 'format' and 'character' headers; Remove math header; Remove impl header; Remove cstr header; Remove arr header; Make functions non-constexpr; Update naming convention; Implement UTF-16 conversions; Split cnv into multiple functions:; - encode_utf8 (UTF-32 to UTF-8); - decode_utf8 (UTF-8 to UTF-32); - encode_utf16 (UTF-32 to UTF-16); - decode_utf16 (UTF-16 to UTF-32); Use caller-provided buffer in conversion functions; Rename u8c::isupper to u8c_is_majuscule; Rename u8c::islower to u8c_is_minuscule; Update code style; Change type of version constant (now uint_least32_t); Use Git tagging for versioning; Don't throw exceptions; Update warning flags; Update optimisation flags; Rename u8c::unimax to u8c_MAX_CODE_POINT; Remove u8c::uniblk; Clean up code; Don't define functions in headers; Rename u8c::isspace to u8c_is_whitespace; Add more characters to u8c_is_whitespace; Rename u8c::ispunct to u8c_is_punctuation; Add more characters to u8c_is_punctuation; Remove u8c::isalnum; Rename u8c::uninm to u8c_unicode_name; Use caller-provided buffer in u8c_unicode_name; Add constant for the maximum length of a Unicode identifier: u8c_MAXIMUM_NAME_LENGTH; Add functions for determening the length of encodings and decodings:; - u8c_decode_utf8_length; - u8c_encode_utf8_length; - u8c_encode_utf16_length; - u8c_decode_utf16_length; Rename u8c_attr_const to u8c_UNSEQUENCED; Rename u8c_attr_inline to u8c_ALWAYS_INLINE; Add new attribute u8c_NO_DISCARD; Validate encodings; Rework readme; Rename u8c::isdigit and u8x::isxdigit to is_numeric and is_hexadecimal_numeric; Rename u8c::isalpha to u8c_is_alphabetic; Rename u8c::iscntrl to u8c_is_control; Rename u8c::issurro to u8c_is_surrogate; Optimise code; Update gitignore;
|