Skip to content

Commit

Permalink
Added support for 6-byte UTF-8
Browse files Browse the repository at this point in the history
  • Loading branch information
joachimmetz committed Jul 2, 2023
1 parent 39851e5 commit 7cc7e8a
Show file tree
Hide file tree
Showing 5 changed files with 741 additions and 73 deletions.
33 changes: 29 additions & 4 deletions include/libuna.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ int libuna_unicode_character_copy_to_utf7_stream(
libuna_error_t **error );

/* Determines the size of an UTF-8 character from an Unicode character
* This function supports upto U+10FFFF (4 byte UTF-8 characters)
* Adds the size to the UTF-8 character size value
* Returns 1 if successful or -1 on error
*/
Expand All @@ -178,7 +179,7 @@ int libuna_unicode_character_size_to_utf8(
libuna_error_t **error );

/* Copies a Unicode character from an UTF-8 string
* This function supports upto 4 byte UTF-8 characters
* This function supports upto U+10FFFF (4 byte UTF-8 characters)
* Returns 1 if successful or -1 on error
*/
LIBUNA_EXTERN \
Expand All @@ -189,23 +190,47 @@ int libuna_unicode_character_copy_from_utf8(
size_t *utf8_string_index,
libuna_error_t **error );

/* Copies a Unicode character into a UTF-8 string
* This function supports upto U+10FFFF (4 byte UTF-8 characters)
* Returns 1 if successful or -1 on error
*/
LIBUNA_EXTERN \
int libuna_unicode_character_copy_to_utf8(
libuna_unicode_character_t unicode_character,
libuna_utf8_character_t *utf8_string,
size_t utf8_string_size,
size_t *utf8_string_index,
libuna_error_t **error );

/* Determines the size of an UTF-8 character from an Unicode character
* This function supports upto U+7FFFFFF (6 byte UTF-8 characters)
* Adds the size to the UTF-8 character size value
* Returns 1 if successful or -1 on error
*/
LIBUNA_EXTERN \
int libuna_unicode_character_size_to_utf8_rfc2279(
libuna_unicode_character_t unicode_character,
size_t *utf8_character_size,
libuna_error_t **error );

/* Copies a Unicode character from an UTF-8 string
* This function supports upto 6 byte UTF-8 characters
* This function supports upto U+7FFFFFF (6 byte UTF-8 characters)
* Returns 1 if successful or -1 on error
*/
LIBUNA_EXTERN \
int libuna_unicode_character_copy_from_utf8_6byte(
int libuna_unicode_character_copy_from_utf8_rfc2279(
libuna_unicode_character_t *unicode_character,
const libuna_utf8_character_t *utf8_string,
size_t utf8_string_size,
size_t *utf8_string_index,
libuna_error_t **error );

/* Copies a Unicode character into a UTF-8 string
* This function supports upto U+7FFFFFF (6 byte UTF-8 characters)
* Returns 1 if successful or -1 on error
*/
LIBUNA_EXTERN \
int libuna_unicode_character_copy_to_utf8(
int libuna_unicode_character_copy_to_utf8_rfc2279(
libuna_unicode_character_t unicode_character,
libuna_utf8_character_t *utf8_string,
size_t utf8_string_size,
Expand Down
Loading

0 comments on commit 7cc7e8a

Please sign in to comment.