Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to print Unicode with NCurses?

This prints

�~X�

How could I get the unicode instead?

#!/usr/bin/env perl6
use v6;
use NCurses;

my $win = initscr;
my Str $s = "\x[263a]";
printw( $s );
nc_refresh;
while getch() < 0 {};
endwin;
like image 986
sid_com Avatar asked Oct 18 '22 14:10

sid_com


1 Answers

I was getting the same as you - turns out just needed to set locale;

#!/usr/bin/env perl6
use v6;
use NCurses;

use NativeCall;
my int32 constant LC_ALL = 6;          # From locale.h
my sub setlocale(int32, Str) returns Str is native(Str) { * }

setlocale(LC_ALL, "");
my $win = initscr;
my Str $s = "\x[263a]";
printw( $s );
nc_refresh;
while getch() < 0 {};
endwin;

That puts a smile on my face... and screen. ☺

like image 154
Marty Avatar answered Oct 27 '22 12:10

Marty