Commit graph

20 commits

Author SHA1 Message Date
kofany
28a793d659 Implement proper UTF-8 grapheme cluster support for modern terminals
This commit addresses critical UTF-8 display and input issues, particularly
with emoji variations and complex Unicode sequences that caused rendering
problems in modern terminals like Ghostty.

Key improvements:
- Enhanced utf8.c with grapheme cluster detection using utf8proc
- Fixed input field handling to preserve emoji variation selectors
- Improved text measurement and cursor positioning for complex Unicode
- Added smart paste processing for multi-codepoint characters
- Bypassed problematic TRANSLIT when not needed for UTF-8 content
- Enhanced GUI entry and readline to handle grapheme clusters properly

The implementation maintains full backward compatibility while providing
proper support for modern Unicode standards, fixing display corruption
that occurred with emoji sequences containing variation selectors.

Tested with emoji sequences like: 💕💋😘🥰💞❣️💓♥️♥️💓❣️🥰🥰😘💋💋
2025-09-10 17:44:46 +02:00
Ailin Nemui
b8736225cf good-bye and thanks, autotools 2022-02-19 21:44:10 +01:00
Rene Kita
8bb4875007 Ignore files generated by ./autogen.sh 2021-04-10 09:44:53 +02:00
Ailin Nemui
ddb9d5c15f update gitignore for meson stuff 2019-07-17 11:36:34 +02:00
Ailin Nemui
db16a0a853 meson build support 2019-07-10 09:25:26 +02:00
Will Storey
0edb64c4dc Add test files to .gitignore 2018-08-27 20:51:18 -07:00
Will Storey
bbca1a5a0f Revert "Revert "Flag topic as unset if it is zero length""
This reverts commit 817179a760.
2018-08-27 20:50:17 -07:00
ailin-nemui
817179a760
Revert "Flag topic as unset if it is zero length" 2018-08-13 14:43:25 +02:00
Will Storey
b9e301362d Ignore vim editor files 2018-07-24 18:30:51 -07:00
Joseph Bisch
182673ed05 Add theme_load to fe-fuzz 2018-01-15 11:59:01 -05:00
Joseph Bisch
4512e2683a
Merge pull request #780 from josephbisch/fuzz-event-get-params
Add event_get_params to fe-fuzz
2018-01-15 10:53:21 -05:00
Will Storey
1328e1ba08 Add a test program to test mode parsing
This uses GLib's testing framework. It is to test the changes to the
mode parsing for #603.
2017-12-07 12:06:20 +01:00
ailin-nemui
245bd5579c remove lynx from autogen and make a separate syncdocs script 2017-10-24 22:12:34 +02:00
Joseph Bisch
84fc92635a Add event_get_params to fe-fuzz 2017-10-24 13:27:11 -04:00
Joseph Bisch
cf46907256
Add frontend for fuzzing
Use the following configure command:

$ ./configure --with-fuzzer --with-fuzzer-lib=/path/to/libFuzzer.a \
      CC=clang CXX=clang++

Places an irssi-fuzz in src/fe-fuzz/ after build.

Also can specify SANFLAGS to override the chosen sanitizer flags
(defaults to "-g -fsanitize=address -fsanitize-coverage=trace-pc-guard").
2017-01-07 20:01:07 -05:00
Will Song
6ac6fcec46
ignore MYMETA.* generated by scripts in project root 2015-11-25 11:53:48 -06:00
David Leadbeater
6b0a54628d Ignore build products in .gitignore 2014-07-06 18:42:43 +01:00
Geert Hauwaerts
be3f303497 Removed docs/help from the .gitignore 2014-06-30 22:18:07 +02:00
Alexander Færøy
c3ef9ee9a6 Add .gitignore 2014-05-31 01:40:38 +02:00
Alexander Færøy
fc556bdf4e Kill update-changelog.sh 2014-05-31 01:01:39 +02:00