Qt 5.1.1 リリース

Qt 5.1.1 がリリースされました。バグフィックスリリースですので、特に新機能などはなく、様々なバグを修正したものとなります。

パッケージとしては同梱する Qt Creator が 2.7.1 から 2.8.1 へと変更されており、また (Qt 5 系では初めて?) オンラインインストーラのメンテナンスツールでインストールが可能となっています。なお、その場合 “Update Components” で 5.1.0 をアップデートする形ではなく、”Package manager” から 5.1.1 のパッケージを選択して追加インストールしてください。

Qt Creator 2.8.1 & Installer Framework 1.4.0 リリース

Qt Creator 2.8.1 と Installer Framework 1.4.0 がリリースされました。

Qt Creator 2.8.1

バグフィックスリリースですが、Qt のオンラインインストーラで 2.8.1 へアップグレードできるようになりました。なお、単体インストール版が Qt 4.8 でビルドされたバイナリで、Qt 5.1.1 のインストーラに同梱されているものは Qt 5.1 でビルドされたバイナリであることには変わりませんので、Qt 5.1.1 のインストーラ版の Qt Creator で問題が発生する場合は単体インストーラ版を利用してみてください。

Installer Framework 1.4.0

Qt 5.1.1 や Qt Creator のバイナリインストーラでも使用されているフレームワークです。日本語メッセージ がタイミングの問題で 1.4.0 には間に合わなかったのは残念ですが、1.4 系にコミットはされましたので 1.4.1 あるいは 1.5.0 からはデフォルトで日本語が使用できるようになります。どうしても日本語が使いたい人は gitorious から 1.4 ブランチを取得してください。ただし、1.4 では元のメッセージが翻訳に適していない部分があった関係で、無理矢理訳しているようなところもあります。注意してください。

Qt とソースファイルの文字コード

先日いただいたコメントをきっかけに Windows における Qt とソースコードの文字コードについてまとめてみました。不足している内容もあるかと思いますので、コメント等で指摘いただければ追記していきます。

Qt の推奨

Qt では Qt4 の時からソースファイルの文字コードは UTF-8 で書くことを前提としています。メッセージは英語(もしくは ID)で埋め込み、日本語などを表示する場合は基本的には tr() でローカライゼーションの仕組みを使って変換させることを想定しています。

以前は Latin1 を推奨していて、UTF-8 文字列を埋め込む場合には \x でエンコードすることを推奨していました。しかし、Unicode / UTF-8 が一般的となってきたので緩和された形でしょうか。とはいえ、余裕があればエンコードした形式の方がトラブルは起こりにくいです。メッセージをソースから把握するのは難しくなりますが。

ユーザーの要望

しかし、ちょっとしたアプリの作成する際に翻訳を用意したり、エンコードするのは面倒なので、日本語文字列をそのまま埋め込みたいという状況があります。

Linux や Mac などでは UTF-8 なロケールの利用が一般的となったため、UTF-8 でソースを記述しておけば困ることはほとんど無くなりました。しかし、Windows では Shift JIS(CP932) が日本語のコーデックであること、Visual Studio が文字列リテラルの文字コードを変換してコンパイルすることから様々な工夫が必要です。

“Qt とソースファイルの文字コード” の続きを読む