CygwinのQtアプリケーションにアクセント文字を入力してください。

CygwinのQtアプリケーションにアクセント文字を入力してください。

私はポルトガル語を母国語として使用し、Cygwinで実行されているQtアプリケーションにアクセント文字を入力するのに問題があります。

ほとんど常に私が入力したアクセント文字の画面結果はその文字です(Unicode役割の置き換え、u+fffd)。

問題は、文字を表示するよりもキーボード入力を解釈することに関連していると思います。より具体的には、問題はa「an」を得るための「dead-tilde plus」または「;」を取得するためのã「dead-acute plus」などの結合キーシーケンスの結果入力に関連しているようです。 Qtベースの端末エミュレータを使用してアクセント文字を含むファイルを画面に表示したり、他のソースからアクセント文字を含むテキストをコピー/貼り付けしたり、単一のキーストローク(自己記号を含む)を使用したりしても問題はありません。ブラジルのABNT2キーボードのキーまたはキーを押しているときに生成されるその他の非結合記号eécatç代替グループ修飾子キー)。また、端末に何も入力すると(コンソールまたは端末)、上記のように、端末(またはいくつかの基本ライブラリ)がu + fffdに対応するhexdump -C3バイトUTF-8シーケンスを渡すことは明らかです。"\xef\xbf\xbd"

また、GTKベースのアプリケーション(Gnome TerminalやLXTerminalなど)はこの問題の影響を受けないため、これはQt関連の問題だと思います。

私が試したもう1つの方法は、QtアプリケーションとX11サーバー自体を起動する前にロケールを変更することでしたが、役に立ちませんでした。

だから私の質問は次のようになります

  1. Qtがアクセント文字(および複数のキーシーケンスを組み合わせて生成された他のUnicodeシンボル)を理解するようにCygwin環境をどのように設定しますか?

  2. Qtが正しく機能するためには、特定のX11入力ライブラリをインストールして構成する必要がありますか?私は入力処理に対するQtの依存関係に慣れていないので、助けてくれてありがとうと文書化します。

助けてくれてありがとう。

ベストアンサー1

おすすめ記事