Up

日本語(UniCode)の表示

 

UniCodeで書かれた日本語を表示するサンプルプログラム(Visual C++ 2008/CLR)を作成してみました。

ソースコードファイル(ソリューション)をZIPファイルとしてまとめました。

ここをクリックするとダウンロードできます。

ダウンロードしたファイルを解凍後、Visual C++ 2008/CLRで開いて下さい。

VSGV8.LIBは御使用の環境に合わせて必要ならば設定しなおして下さい。

この設定は、メニュ「プロジェクト|既存の項目の追加」を選ぶことによりできます。

本プログラムはViSaGeにおいて動作を確認しました。

 

コード(2009.8.17改訂)は以下のようになっています。


        private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {

                                vsgInit("");

                                vsgSetCommand(vsgPALETTECLEAR);

 

                                int Height = vsgGetScreenHeightPixels();

 

                                vsgSetDrawPage(vsgVIDEOPAGE, 0, 0);

                                vsgSetDisplayPage(0);

 

                                VSGTRIVAL  white;

                                white.a = 1.0;

                                white.b = 1.0;

                                white.c = 1.0;

                                vsgPaletteSet( 1, 1, &white );

                                vsgSetPen1( 1 );

 

                                VSGTRIVAL black;

                                black.a = 0.0;

                                black.b = 0.0;

                                black.c = 0.0;

                                vsgPaletteSet( 2, 2, &black );

                                vsgSetPen2(2);

 

                                vsgSetDrawMode(vsgANTIALIASED);

                                vsgSetTrueTypeFont("Arial Unicode MS");

                                vsgSetStringMode(0, Height / 8, vsgALIGNCENTRETEXT, vsgALIGNCENTRETEXT, 0, 0);

 

                                String ^ s1 = L"日本女子大学";

 

                                WORD ww1[100];

                                for (int i = 0; i < s1->Length; i++) ww1[i] = s1[i];

                                ww1[s1->Length] = 0;

                                vsgDrawStringUnicode( 0, -Height / 4, ww1 );

 

                                String ^ s2 = L"心理学科";

                                WORD ww2[100];

                                for (int i = 0; i < s2->Length; i++) ww2[i] = s2[i];

                                ww2[s2->Length] = 0;

                                vsgDrawStringUnicode( 0, 0, ww2 );

 

                                String ^ s3 = L"計量心理学";

                                WORD ww3[100];

                                for (int i = 0; i < s3->Length; i++) ww3[i] = s3[i]; 

                                ww3[s3->Length] = 0;

                                vsgDrawStringUnicode( 0, Height / 4, ww3 );

                         }


他のVisual C++2008/CLRプログラム例はをクリック

 

Up