MT4で使える文字フォントの設定方法

解説・方法

MT4で使用可能なフォントについて

 MT4でのフォント表示は、使用中のPCのフォントに基づきます。

 明示的にフォントを指定しないか「NULL」を使用すると「Arial (エイリアル or アライル)」がデフォルトで使われます。もし存在しないフォント名を入力(誤入力)した場合は「MS Pゴシック」が選ばれます。

 日本語非対応のPCでは日本語フォントが入っておらず文字化けするため、海外での使用を考慮するのであれば日本語の使用を避けることをおすすめします。

 フォントの確認や選択には、WordやExcelが便利で、ここでのフォントリストはアルファベット順に、初めは日本語対応フォント、途中からは非対応フォントとして整理されているので、選ぶ際の参考になります。また、ここに書かれているフォント名をコピーしてプログラムに貼り付けることで間違いなくフォントを設定することができます。

Excelからのフォント名 確認例

  • 使用可能なフォントは使用しているPCに依存する。
  • 省略、「NULL」の時は「Arail」フォントが設定される。日本語・全角に非対応。
  • 存在しないフォント名(誤入力)の時は「MS Pゴシック」が設定される。日本語・全角に対応。

使用例

フォント設定例

以下の順番でフォントを設定します。

  • 「NULL」を設定。
  • 「Arial」フォントを設定。「NULL」と同じ結果になります。
  • 「Agency FB」フォントを設定。
  • 「Bahnschrift」フォントを設定。
  • 「Calibri」フォントを設定。

以下、日本語・全角対応のフォントです。

  • 「MS Pゴシック」を設定。
  • フォント名を誤入力したとして「a」を設定。「MS Pゴシック」と同じ結果になります。
  • 「MS P明朝」フォントを設定。
  • 「MS ゴシック」フォントを設定。
  • 「HG丸ゴシックM-PRO」フォントを設定。

コード

// フォント設定例
#property strict

void OnInit() {

int xpixcel = (int)(ChartGetInteger(0,CHART_WIDTH_IN_PIXELS));
int fs = 13;           // フォントサイズ
int x = xpixcel - 320; // 幅
int y = 20, yh = 25;   // 高さ

ObjectsDeleteAll();    // オブジェクト全削除

// テキストラベルオブジェクト生成         // テキストラベルオブジェクトX軸位置設定   // テキストラベルオブジェクトY軸位置設定   // カラー
ObjectCreate("obj1-01", OBJ_LABEL,0,0,0); ObjectSet("obj1-01", OBJPROP_XDISTANCE,x); ObjectSet("obj1-01", OBJPROP_YDISTANCE,y); ObjectSetText("obj1-01", "あいう ABC 123 NULL", fs, NULL, clrWhite);
y = y + yh;
ObjectCreate("obj1-02", OBJ_LABEL,0,0,0); ObjectSet("obj1-02", OBJPROP_XDISTANCE,x); ObjectSet("obj1-02", OBJPROP_YDISTANCE,y); ObjectSetText("obj1-02", "あいう ABC 123 Arial", fs, "Arial", clrWhite);
y = y + yh;
ObjectCreate("obj1-03", OBJ_LABEL,0,0,0); ObjectSet("obj1-03", OBJPROP_XDISTANCE,x); ObjectSet("obj1-03", OBJPROP_YDISTANCE,y); ObjectSetText("obj1-03", "あいう ABC 123 Agency FB", fs, "Agency FB", clrWhite);
y = y + yh;
ObjectCreate("obj1-04", OBJ_LABEL,0,0,0); ObjectSet("obj1-04", OBJPROP_XDISTANCE,x); ObjectSet("obj1-04", OBJPROP_YDISTANCE,y); ObjectSetText("obj1-04", "あいう ABC 123 Bahnschrift", fs, "Bahnschrift", clrWhite);
y = y + yh;
ObjectCreate("obj1-05", OBJ_LABEL,0,0,0); ObjectSet("obj1-05", OBJPROP_XDISTANCE,x); ObjectSet("obj1-05", OBJPROP_YDISTANCE,y); ObjectSetText("obj1-05", "あいう ABC 123 Calibri", fs, "Calibri", clrWhite);
y = y + yh + 25;
ObjectCreate("obj1-06", OBJ_LABEL,0,0,0); ObjectSet("obj1-06", OBJPROP_XDISTANCE,x); ObjectSet("obj1-06", OBJPROP_YDISTANCE,y); ObjectSetText("obj1-06", "あいう ABC 123 MS Pゴシック", fs, "MS Pゴシック", clrWhite);
y = y + yh;
ObjectCreate("obj1-07", OBJ_LABEL,0,0,0); ObjectSet("obj1-07", OBJPROP_XDISTANCE,x); ObjectSet("obj1-07", OBJPROP_YDISTANCE,y); ObjectSetText("obj1-07", "あいう ABC 123 a(存在しないフォント)", fs, "a", clrWhite);
y = y + yh;
ObjectCreate("obj1-08", OBJ_LABEL,0,0,0); ObjectSet("obj1-08", OBJPROP_XDISTANCE,x); ObjectSet("obj1-08", OBJPROP_YDISTANCE,y); ObjectSetText("obj1-08", "あいう ABC 123 MS P明朝", fs, "MS P明朝", clrWhite);
y = y + yh;
ObjectCreate("obj1-09", OBJ_LABEL,0,0,0); ObjectSet("obj1-09", OBJPROP_XDISTANCE,x); ObjectSet("obj1-09", OBJPROP_YDISTANCE,y); ObjectSetText("obj1-09", "あいう ABC 123 MS ゴシック", fs, "MS ゴシック", clrWhite);
y = y + yh;
ObjectCreate("obj1-10", OBJ_LABEL,0,0,0); ObjectSet("obj1-10", OBJPROP_XDISTANCE,x); ObjectSet("obj1-10", OBJPROP_YDISTANCE,y); ObjectSetText("obj1-10", "あいう ABC 123 HG丸ゴシックM-PRO", fs, "HG丸ゴシックM-PRO", clrWhite);
}

void OnDeinit(const int reason) {
   ObjectsDeleteAll();
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました