/* Test Wide Window characters for UTF-8 * Compile with : gcc -lncursesw -lpanelw -o testwidewin testwidewin.c */ #include #include #include #include #include void init_mycolors ( ) { int pair = 0; int bg ; int fg ; for(bg=0;bg<256;bg++) { switch ( bg ) { case 1: init_pair(pair,15,bg); break ; case 4: init_pair(pair,15,bg); break ; case 8: init_pair(pair,15,bg); break ; case 12: init_pair(pair,15,bg); break ; case 16: init_pair(pair,15,bg); break ; case 17: init_pair(pair,15,bg); break ; case 18: init_pair(pair,15,bg); break ; case 19: init_pair(pair,15,bg); break ; case 20: init_pair(pair,15,bg); break ; case 21: init_pair(pair,15,bg); break ; case 22: init_pair(pair,15,bg); break ; case 23: init_pair(pair,15,bg); break ; case 24: init_pair(pair,15,bg); break ; case 25: init_pair(pair,15,bg); break ; case 26: init_pair(pair,15,bg); break ; case 27: init_pair(pair,15,bg); break ; case 28: init_pair(pair,15,bg); break ; case 29: init_pair(pair,15,bg); break ; case 30: init_pair(pair,15,bg); break ; case 31: init_pair(pair,15,bg); break ; case 32: init_pair(pair,15,bg); break ; case 33: init_pair(pair,15,bg); break ; case 52: init_pair(pair,15,bg); break ; case 53: init_pair(pair,15,bg); break ; case 54: init_pair(pair,15,bg); break ; case 55: init_pair(pair,15,bg); break ; case 56: init_pair(pair,15,bg); break ; case 57: init_pair(pair,15,bg); break ; case 58: init_pair(pair,15,bg); break ; case 88: init_pair(pair,15,bg); break ; case 89: init_pair(pair,15,bg); break ; case 90: init_pair(pair,15,bg); break ; case 91: init_pair(pair,15,bg); break ; case 92: init_pair(pair,15,bg); break ; case 124: init_pair(pair,15,bg); break ; case 160: init_pair(pair,15,bg); break ; case 196: init_pair(pair,15,bg); break ; case 232: init_pair(pair,15,bg); break ; case 233: init_pair(pair,15,bg); break ; case 234: init_pair(pair,15,bg); break ; case 235: init_pair(pair,15,bg); break ; case 236: init_pair(pair,15,bg); break ; case 237: init_pair(pair,15,bg); break ; case 238: init_pair(pair,15,bg); break ; case 239: init_pair(pair,15,bg); break ; case 240: init_pair(pair,15,bg); break ; default : init_pair(pair,0,bg); break ; } pair++; } init_pair(256,241,240); } void init_curses ( ) { setlocale(LC_ALL, "en_US.UTF-8"); initscr ( ); start_color ( ); init_mycolors ( ) ; curs_set ( 0 ); noecho ( ); keypad ( stdscr, TRUE ); } int main ( ) { int key, i ; short pairno, pair_bg, pair_fg ; setlocale(LC_ALL, "en_US.UTF-8"); init_curses ( ); if (has_colors()) { printw("we have colors \n" ); printw("we have %d Colors and have %d color pairs\n", COLORS, COLOR_PAIRS) ; } pairno = 256 ; pair_content(pairno, &pair_fg, &pair_bg ) ; printw("PAIR CONTENT 256 is fg: %d bg: %d \n", pair_fg, pair_bg) ; // for(i=0 ;i<256;i++) for(i=0 ;i<290;i++) { attron(COLOR_PAIR(i)); printw("[COLOR %hd]", i); } attron(COLOR_PAIR(256)); printw("[COLOR %hd]", 256); refresh(); getch(); endwin(); return 0; }