Andrej Nabergoj wrote in
 <20250331180240.cxujdddus55yq...@debian.si>:
 |wcwidth(L"😍") gives me 2 if you meant this. I tried on another laptop
 |(but it has debian installed too) and problem was the same.
 |If I print any character that has wcwidth() = 2 to the third last place
 |of terminal, only half of the character is rendered. This only happens
 |if using curses. I'v tried it on debian and on another fedora laptop.
 |```
 |#include <curses.h>
 |#include <locale.h>
 |
 |int main() {
 |    int last_row = 5, last_column = 25;
 |    setlocale(LC_ALL, "");
 |    initscr();
 |    mvaddstr(last_row, last_column-2, "字");
 |    getch();
 |    endwin();
 |    return 0;
 |}
 |```
 |Thank you for trying to reproduce it.

Note i have no idea and did not truly look into the issue, but
there is a problem with terminals and the lowermost, rightmost
cell.  Ie i have, which names termcap/terminfo capabilities

        mx_TERMCAP_QUERY_am, /* am/am, BOOL | auto_right_margin */
        mx_TERMCAP_QUERY_sam, /* sam/YE, BOOL | semi_auto_right_margin */
        mx_TERMCAP_QUERY_xenl, /* xenl/xn, BOOL | eat_newline_glitch */

But i am (the mailer i maintain, at least, does) not doing this
completely right, as can be done.
However, most programs either do not use the lowermost/rightmost
column to avoid cursor wrap if written there, or otherwise deal
with those capabilities.
I have zero idea on what st does though.

Hope that helps.

 |Andrej
 |
 |On 30/03/25 05:33, Eric Pruitt wrote:
 |> On Sun, Mar 30, 2025 at 07:32:14PM +0200, Andrej Nabergoj wrote:
 |>> The program is so small I don't need github, I apologise.
 |>> If you make st window 1 row high and 9 columns wide, so string
 |>> "😍😍😍😍x" should fill whole window, last emoji gets cut on half.
 |> 
 |> I can't reproduce this. What does wcwidth(3) return for the emoji?
 |> 
 |> Eric
 |> 
 |> PS: Sender BCC'd because I have delivery issues with the suckless
 |> mailing lists.
 |
 --End of <20250331180240.cxujdddus55yq...@debian.si>

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

Reply via email to