[ソースコード]mesg-jpn.h を読める形式にする
Eröffnet am: 2012-01-19 08:39
Letztes Update: 2012-02-23 17:24
Auswertung: | ![]() | Verantwortlicher: | ![]() |
---|---|---|---|
Priorität: | 5 - Mittel | Meilenstein: | (Keine) |
Typ: | Patches | Schweregrad: | 5 - Mittel |
Komponente: | (Keine) | Status: | Geschlossen |
Lösung | Gefixt |
Details
メッセージ定義ヘッダ mesg-jpn.h をUTF-8にする提案です。
ソースコード中の、howtobuild.htmによると、メッセージリソースは "mesg-jpn.old.h" に定義してmbtoutf.batでmesg-jpn.hに変換するようになっています。
Visual C++ではソースコード中の文字列リテラルは実行時にUTF-16LEまたはShfft_JISでしか取得できないことと、 FFFTPの内部文字コードがUTF-8であるための措置と思います。
現行の手順の問題として以下のような点が挙げられます。
- (a)mesg-jpn.hとmesg.old.hの二重管理になりメンテナンス性に難がある。
- (b)Visual Studio上から\xNN...エンコード前の文字列を参照できない
- (c)sourceforge.jpのソースコードビューアで内容やdiffを確認できない
これらを解決する手段として、mesg-jpn.hをマスターとして、実行時にUTF-8バイナリに変換するようにする方法を提案します。
利用側のコードは変えず、mesg-jpn.hの文字列を UTF-8エンコードとし、このような書き方にします。
#define MSGJPN001 u8("接続を中止しました.")
u8(x)部分を、実行時にUTF-8で取得できるような関数に展開します。
※u8マクロの名前は C++11の u8"UTF-8文字列" の表記を意識しています。
Letzte Aktualisierung für dieses Ticket
2012-02-23 17:24 Updated by:
s_kawamoto
- Ticket Close date is changed to 2012-02-23 17:24
- Status Update from Offen to Geschlossen
Kommentar
1.98eで実装しました。