2017-02-15 16 views
1

私はncursesを使ってRaspberry Piの端末プログラムを作成しています。私はボックスの周りに影を追加したい。私はmvaddch()を使用して、char 233(上半分のボックス文字)などの拡張文字を印刷したいと考えています。 mvaddch()コマンドの構文は何ですか?それともこれを達成する別の方法がありますか?gcc ncursesはcharなどの文字を拡張します(グリフ)223

答えて

1

おそらく、code page 866のようなものを指しているでしょう。 ncursesはあなたの端末がlocale encoding(おそらくUTF-8)と一致する文字を表示すると仮定します。だから(あなたのプログラムの文字を変換しない限り)行く方法は、Unicodeの値を使用しています。

ユニコード組織には、特定のコードを検索するためのテーブルがあります(例:ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP866.TXT)。たとえば、関連する行は

0xdf 0x2580 #UPPER HALF BLOCK 

(0xdfは223なので)です。関数mvaddwstrの呼び出しで、Unicode 0x2580を使用します。

wchar_t mydata[] = { 0x2580, 0 }; 
mvaddwstr(0,0, mydata); 

wadd_wch同様の名前は、より複雑なデータ構造を使用します)。

あなたは ncurseswライブラリにリンクする必要があり、そしてもちろんinitialize your program's locale using setlocaleのncursesベースのマニュアルページで述べたようになります。

関連する問題