Adicionando caracteres Unicode / UTF8 a uma exibição ncurses em C

Estou tentando adicionar caracteres Unicode wchar_t a uma exibição ncurses em C.

Eu tenho uma matriz:

wchar_t characters[]={L'\uE030', L'\uE029'}; // containing 2 thai letters, for example 

Mais tarde, tento adicionar um wchar_t da matriz à exibição ncurses com:

add_wch(characters[0]);

Para fornecer um pouco mais de informações, fazer isso com o ASCII funciona bem, usando:

char characters[]={'A', 'B'};

// and later...

addch(characters[0]);

Para configurar o código do idioma, adiciono o include ...

#include <locale.h>

// in main()
setlocale(LC_CTYPE,"C-UTF-8");

As ncurses incluem são:

#include <ncurses.h> 

Compilando com:

(editar: adicionado padrão c99, para suporte universal a nomes de caracteres.)

gcc -o ncursesutf8 ncursesutf8.c -lm -lncurses -Wall -std=c99

Recebo o seguinte aviso de compilação (é claro que o executável falhará):

ncursesutf8.c:48: warning: implicit declaration of function ‘add_wch’

Eu tentei apenas usandoaddch que parece estar macroado para funcionar com wchar_t, mas quando faço isso, os caracteres Unicode não aparecem, em vez disso, são mostrados como caracteres ASCII.

Alguma ideia?

Estou usando o OS X Snow Leopard, 10.6.6

Editar: erro removido emwchar_t [] atribuição a usarL'\u0E30' ao invés deL"\u0E30" Também atualizei as configurações do compilador para usar o C99 (para adicionar suporte universal a nomes de caracteres). ambas as alterações não corrigem o problema.

Ainda não há respostas sobre isso, alguém sabe como fazer ncurses Unicodeaddchar (add_wchar?)?! Socorro!

questionAnswers(4)

yourAnswerToTheQuestion