2016年10月03日

Visual C++ 2010には、STLにregex(正規表現)ライブラリが入っていただなんて!

先月末、ようやく気づいたのですがVisual C++ 2010のSTLには、デフォルトでregex(正規表現)ライブラリが入っていたのですね。
全然気づきませんでした。軽くショックを受けています。

今まで、ほぼ、正規表現を使いたいだけの理由で Boost C++ ライブラリを導入していましたからね。

まぁ、Boost C++ ライブラリを使い始めたのはVisual Studio 2005の時代だったので、その時はなかったわけですけどね。

今後、BoostのregexとSTLのregexを比べてみて、使用機能やプログラムサイズ的に問題がなかったら、STLのregexの方に乗り換えて行こうかなぁ・・・と思っています。


posted by ayacy at 00:00 | Comment(0) | TrackBack(0) | プログラミング

2016年09月26日

「About」の意訳としての「バージョン情報」

「ヘルプ」メニューの一番下には「バージョン情報」という項目があるのが、一般的なWindowsアプリケーションのスタイルになっています。
about_jp.png

英語だと、多くの場合は、「About」や「About ○○」などと表記されています。
about_en.png

だいたい、この「About」で表示されるダイアログには、ソフトウェア名称や注意事項、ソフトウェアに関する簡単な説明が書かれているものですが、必ずと言って良いほど バージョン番号 も記載されているので、まぁ、よくできた意訳だなと思っています。

アプリケーションによっては、「○○について」という、項目になっている場合もあり、これが本当に正しい翻訳ということになるかと思います。

about_jp2.png

おそらく、「バージョン情報」が多いのは、「About」だけ翻訳を考えたとき、直訳で、ただ単に「について」と書くわけにも行かず、かといって和訳時に勝手に自ソフトウェア名称を追加するわけにも行かず、統一的な意訳として編み出した日本語なのでしょう。

比較的上手くいっている意訳だろうなと思います。




posted by ayacy at 00:00 | Comment(0) | TrackBack(0) | プログラミング

2016年09月17日

実験的にexeファイルに48x48アイコン・256x256アイコンを追加してみたり

巨大サイズのアイコンは、exeフィルのサイズを無駄にでかくするのでバカバカしいけど、アイコンがボヤけて表示されるのも嫌だという話を、先日書いたわけなのですが、その後色々調べてみたところ、アイコンファイルは条件次第で圧縮可能であることが分かりました。

拡張子icoのファイルは、複数のサイズ・複数の色数の画像を格納することができるのですが、その際、ベタで非圧縮な画像にするか、PNG圧縮の画像にするかが選べるフォーマットになっているとのこと。

ただし、exeファイルを閲覧する環境(OS)によっては、非圧縮な画像しか読めない場合があります。
例えば、Windows 95/98は非圧縮なアイコン画像しか読めません。
Windows Vista以降になるとPNG圧縮のアイコン画像を読めるようになるとか。

色々総合すると、

  • 16x16 BMP
  • 32x32 BMP
  • 48x48 BMP
  • 256x256 PNG

という揃え方をすると良さそうな感じです。

で、問題は、上記のようなファイル構成を実現するための方法。

残念ながら、Visual Studioでは、少なくとも2010では、画像形式をPNGに切り替える方法はなさそう。通常のアイコンは形式名をBMPと認識している、というか表示しているくらいだから、PNGもできそうなもんだけど。表示だけに対応なんだろうか。

vs2010iconedit.png

いろいろ調べてみたら、フリーソフトのアイコン編集ツール「@icon変換」を使えばできるみたい。こんなところでサードパーティのソフトを使うのが必須とはなぁ。

vs2010iconedit3.png

結果から言えばできました。たかが4KB増程度で、48x48と256x256のアイコンを追加できました。

vs2010iconedit2.png

まぁ、効率よく通過色部分を処理するために、昔ゲーム作りの時に使っていた自作の「左上のピクセル色をアルファ値0にする」ツールを行使することになったんですけどね。PNGで通過色処理をうまくやるには、それなりのツールを持っていないと駄目そうですね。Photoshopとか。


続きを読む
posted by ayacy at 04:20 | Comment(0) | TrackBack(0) | プログラミング