1

テキストを表示する Raspberry Pi 用の OpenVG アプリケーションを作成しており、外国語の文字 (この場合はポーランド語) のサポートが必要です。高水準言語でユニコード文字を C のリテラルにマップする関数を準備する予定ですが、今のところ C でそれらのリテラルを出力する際に​​問題があります。

以下のコードを考えると:

//both output the "ó" character, as expected 
char     A[] =  "\xF3"; 
wchar_t  B[] = L"\xF3"; 

//"ś" is expected as output but instead I get character with code 0x5B - "[" 
char     A[] =  "\x15B"; 
wchar_t  B[] = L"\x15B"; 

ほとんどのポーランド文字には、3 桁の 16 進数コードがあります。"ś" (0x15B) を印刷しようとすると、文字 "[" (0x5B) が代わりに印刷されます。2桁を超えるコードを持つUnicode文字を印刷できないことがわかりました。

使用されているデータ型が原因ですか? char16_t と char32_t の使用を検討しましたが、ヘッダー ファイルがシステムのどこにもありません。

4

1 に答える 1