summaryrefslogtreecommitdiff
path: root/src/core/wee-utf8.c
AgeCommit message (Collapse)Author
2023-01-28core: make case insensitive comparison with a lower case string (issue #1872)Sébastien Helleu
This is faster because with case insensitive comparison, the chars are converted to lower case anyway before being compared.
2023-01-01core: update copyright datesSébastien Helleu
2022-12-24api: rename char comparison functions "utf8_char*" to "string_char*"Sébastien Helleu
2022-12-24api: return arithmetic difference between chars in string comparison functionsSébastien Helleu
Return code is changed for the following functions: - string_strcasecmp - string_strcasecmp_range - string_strncasecmp - string_strncasecmp_range - string_strcmp_ignore_chars - utf8_charcmp - utf8_charcasecmp - utf8_charcasecmp_range
2022-12-21core: improve case convert and insensitive char comparisons (closes #258)Sébastien Helleu
All lowercase letters are now properly converted to uppercase letters (and vice versa), via functions `towupper` and `towlower`. Functions `string_tolower`, `string_toupper` and `utf8_charcasecmp` have been optimized to be faster when there are ASCII chars (< 128); functions are about 25-40% faster with mixed chars (both ASCII and multi-bytes). Function `utf8_wide_char` has been removed, `utf8_char_int` can be used instead.
2022-12-19core: remove unneeded castsSébastien Helleu
2022-12-18core: return number of bytes for UTF-8 char in function utf8_int_stringSébastien Helleu
2022-12-10core: do not display non printable chars, fix function utf8_char_size_screenSébastien Helleu
Now the function utf8_char_size_screen can return -1 when the char is not printable. It has a specific behavior for some chars: - U+0009: value of option weechat.look.tab_width - U+0001 to U+001F (except U+0009): 1 - U+00AD (soft hyphen): -1 - U+200B (zero width space): -1
2022-12-10api: add function utf8_strncpySébastien Helleu
2022-12-10core: optimize and fix function utf8_strlen_screen with non printable charsSébastien Helleu
When there non printable chars, the return of the function was 1. For example utf8_strlen_screen("abc\x01") now returns 4 instead of 1. In addition the function has been optimized to not use the `mbstowcs` function which is slow; result is up to 15% faster.
2022-01-17core: update copyright datesSébastien Helleu
2021-01-02core: update copyright datesSébastien Helleu
2020-01-04core: update copyright datesSébastien Helleu
2019-01-01core: update copyright datesSébastien Helleu
2018-11-29core: use https for links to GNU GPL licenseSébastien Helleu
2018-01-07core: fix some stylesSébastien Helleu
2018-01-05core: update copyright datesSébastien Helleu
2017-01-01core: update copyright datesSébastien Helleu
2016-01-01core: update copyright datesSébastien Helleu
2015-08-18api: add argument "length" in function utf8_is_valid()Sébastien Helleu
2015-07-04api: fix type of value returned by functions utf8_prev_char, utf8_next_char ↵Sébastien Helleu
and utf8_add_offset
2015-01-01core: update copyright datesSébastien Helleu
2014-07-20core: fix code style in function utf8_is_valid()Sébastien Helleu
2014-07-20Merge branch 'master' of git://github.com/anders/weechat into anders-masterSébastien Helleu
2014-07-05core: return only -1, 0 or 1 in string comparison functionsSébastien Helleu
2014-06-16core: overlong UTF-8 encoding and surrogates (U+D800-DFFF) are invalid.Anders Bergh
2014-01-24core: add support of escaped unicode chars in commands /print and "/input ↵Sebastien Helleu
insert"
2014-01-18core: update some function commentsSebastien Helleu
2014-01-15core: add option weechat.look.tab_widthSebastien Helleu
2014-01-01core: update copyright datesSebastien Helleu
2013-10-02core: fix spaces displayed after combining chars (bug #40115)Sebastien Helleu
2013-06-29core: move test of invalid UTF-8 char length from gui-chat.c to wee-utf8.cSebastien Helleu
2013-01-01core: update copyright datesSebastien Helleu
2012-12-15core: move comments with description of C file to top of filesSebastien Helleu
2012-12-13core: reformat comments for functionsSebastien Helleu
2012-05-15core: fix compilation warning on a comparison using type "wint_t"Sebastien Helleu
2012-04-14core: do not use malloc in function utf8_strlen_screen for small strings (4 ↵Sebastien Helleu
bytes or less)
2012-01-08core: update copyright datesSebastien Helleu
2011-11-12api: add new functions strcasecmp_range and strncasecmp_rangeSebastien Helleu
2011-10-26core: remove unneeded whitespaceSebastien Helleu
2011-08-02core: remove "const" for first argument of function utf8_normalizeSebastien Helleu
2011-02-08Add missing parenthesesSebastien Helleu
2011-01-01Update copyright datesSebastien Helleu
2010-06-22Update licenses and copyrights, add missing author names in sourcesSebastien Helleu
2010-04-08Reformat and add comments for description of C sourcesSebastien Helleu
2010-01-03Update copyright datesSebastien Helleu
2009-08-06Fix bug when comparing chars and ignoring case (with some locales) (bug #27190)Sebastien Helleu
There was a problem with some locales like turkish, where upper "i" is "İ". All IRC commands with "I" inside (JOIN, PRIVMSG, ..) failed with turkish locale.
2009-06-28Add french translation of Plugin API ReferenceSebastien Helleu
2009-04-15Fix compilation problem on FreeBSD: replace call to wcscasecmp() by towlower()Sebastien Helleu
2009-04-14Fix text search in buffer with some utf-8 chars (bug #25649)Sebastien Helleu