スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 描画はGDIのまま高速化 | トップページ | やはり、Direct2Dを使う »

Unicode化を推進

今は、MasterReversiの次バージョンを開発中で、機能的な変更は完了した。しかし、今回、従来のマルチバイト文字セットからUnicode文字セットに変更し、その変更が中途半端な状態なので、もう少し、Unicode化を推進する。なので、開発完了にはもう数日かかる見込みだ。

次バージョンのMasterReversiのバージョン番号はVer1.4.2にしてある。

つまり、バージョン番号の最下位桁の更新になるので、常識的には、現行版と比べて大した変更は無いバージョン、という事になるのだが、コードの変更量は、かなり、多い。

これは何故なのか、というと、冒頭に書いた様に、従来のマルチバイト文字セットからUnicode文字セットに変更したので、文字列を使用しているソースファイルの全てが変更されているからだ。

ただし、内部の文字セットが変わったからといって、ユーザー的には何のメリットも無い。

なので、大幅なコード変更を行っているにも関わらず、バージョン番号については、最下位桁の更新しか行っていないのだが、このコード変更は、将来的に、海外向けにインターナショナル版を開発する時には、どの道、必要になる変更だ。

このため、日本向けである所の現在のMasterReversi的には、不必要ではあるのだが、中途半端にしておくと、将来に遺恨を残す事になるので、今回、もう少し、ちゃんとさせておこうとしている訳だ。

具体的には、MFCアプリであるWindows版MasterReversiは、Visual Studio Community 2013を使ってビルドする為には、文字セットはUnicode文字セットに変更する必要があったのだが、この為には、内部的にはマルチバイト文字セットを使用し、MFCのAPIを呼び出す段階で、文字セットを変更すれば良かった。

このため、数日前までは、とりあえず、そういう格好にしてビルド可能にしていたのだが、内部的にマルチバイト文字セットを使用していると、ファイルデータにUnicode文字セットを使用する格好にしたとしても、国によっては、間違った文字列に変換されてしまう可能性もあった。

なので、内部的な文字コードについても、Unicodeに統一しようとしている訳なのだが、次バージョンはインターナショナル版ではないので、互換性を鑑みて、ファイルデータはマルチバイト文字セットのままにする。

このため、内部的な文字セットをUnicode文字セットに統一しても、どの道、ファイルデータがマルチバイト文字セットになるので、国によっては文字化けが発生する状況に変わりはない。

と、いう事で、次バージョンのMasterReversi的には、全く意味は無いのだが、将来的に、ファイルデータをUnicode化すればインターナショナル版として使える様に、ついでなので、今回、Unicode化を推進しておく事にした訳だ。

ちなみに、それでは、次バージョンのMasterReversiにはユーザー的に意味のある変更は無いのか、というと、そんな事はない。

何故なら、HiDPI対応が行われているからなのだが、HiDPI対応というのも、テキストサイズを変更していない人にしてみれば、意味のない変更になる。

と、いう事なので、作者的には、最低限の変更内容にメイン盤面の表示速度の高速化、というアイテムも入れて、テキストサイズを変更していないユーザーに対しても、意味のあるバージョンにしている訳だ。

しかし、それでは見た目の変更が全くないので、今現在、Android版とWindows版ではアイコンが微妙に異なり、Windows版のアイコンは48x48のサイズが最大なので、アイコンについては、256x256が使えるAndroid版に合わせる変更を行う事にする。

WaveClipperについても、256x256アイコンが欲しい所なので、アイコンデザインは微変更される事になる筈だ。

= この記事に関連する公開中ソフト =

MasterReversi

MasterReversi

(2016/05/04追記)

« 描画はGDIのまま高速化 | トップページ | やはり、Direct2Dを使う »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/63424325

この記事へのトラックバック一覧です: Unicode化を推進:

« 描画はGDIのまま高速化 | トップページ | やはり、Direct2Dを使う »

2017年6月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google