diff --git a/CHANGELOG.md b/CHANGELOG.md index 35669f03..62dc7e03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -63,6 +63,13 @@ ## Unreleased ### Added ### Changed + +* Left-to-right and right-to-left markers (U+200E and U+200F) are now + ignored ([#2049][2049]). + +[2049]: https://codeberg.org/dnkl/foot/issues/2049 + + ### Deprecated ### Removed ### Fixed @@ -73,6 +80,8 @@ codepoints ([#2039][2039]). * Keyboard modifiers not being reset on keyboard leave events ([#2034][2034]). +* Last character in a `remind` calendar event being in the wrong font + and color ([#2049][2049]). [2039]: https://codeberg.org/dnkl/foot/issues/2039 [2034]: https://codeberg.org/dnkl/foot/issues/2034 diff --git a/terminal.c b/terminal.c index ae1adb1a..59c39760 100644 --- a/terminal.c +++ b/terminal.c @@ -4156,6 +4156,14 @@ term_process_and_print_non_ascii(struct terminal *term, char32_t wc) (grapheme_clustering || (!grapheme_clustering && width == 0 && wc >= 0x300))) { + if (unlikely(wc == 0x200e || wc == 0x200f)) { + /* + * Ignore left-to-right and right-to-left markers + * see https://codeberg.org/dnkl/foot/issues/2049 + */ + return; + } + int col = term->grid->cursor.point.col; if (!term->grid->cursor.lcf) col--;