# フォント/テキスト

- フォントの扱い
- テキスト描画の制御文字

## フォントの扱い

[Legend]-[Text] で指定するフォント名はすべてエイリアス（別名）です。 Ngraphでは異なるオペレーティングシステムとの互換性を考えており, フォント名を直接指定する事はできません。
フォントの選択・出力は, エイリアス名から実際のフォント名にマッピングして行ってます。マッピング情報は Ngraph.ini に記述されています。
インストール時に定義されているフォントマッピング

Ngraph定義名 | フォント名
--- | ---
Windows, macOS | それ以外
Serif | Times New Roman | Liberation Sans
Sans-serif | Arial | Liberation Serif
Monospace | Courier New | Liberation Mono

## テキスト描画の制御文字

Legend textダイアログボックスのTextで文字列中に制御文字を挿入して, 書式を一文字単位で変更することができます。
基本

^ | 続く文字は上付き文字になる
_ | 続く文字は下付き文字になる
@ | 上付き文字, 下付き文字を解除する
\B | 続く文字は太字 (bold) になる
\I | 続く文字は斜体 (italic) になる
\N | 太字、斜体を解除する
\. | スペースと同等
\b | バックスペース(幅は'h')
\n | 改行
\- | ハイフン
\& | テキストが\nの改行によって複数行あるとき\&の位置で位置合わせをする
\ | 次の文字が%\@^_の時, それらを制御文字として扱わずに出力する

フォント

%F{エイリアス名} | フォントをエイリアス名に変更する
%S{整数} | フォントのサイズをポイントで指定する
%P{整数} | 文字間隔をポイントで指定する
%N{整数} | \nで改行した時の行間をポイントで指定する
%X{整数} | カレントポイントを右方向に移動させる量をポイントで指定する
%Y{整数} | カレントポイントを下方向に移動させる量をポイントで指定する
%C{整数} | 文字の色を16進形式で指定する。
%A{整数} | 文字の不透明度 (0-255) を指定する。

数式

%[式] | 式の値

整形

%pf{format value}

value を format で整形して出力する

- format について詳しくは man 3 printf を参照してください。
- 精度指定に '*' や `*m$' は使用できません。
- 長さ修飾子に hh, h, L, q, j, z, Z, t は使用できません。
- 変換指定子に F, a, A, m, n, p, C, S は使用できません。
- フラグ文字に '^' を指定できます。e, E, g G 変換時に指数表記を "×10-3" のように表示します (フィールド幅指定には未対応) 。

例：
%pf{%e 1} は 1.000000e+00
%pf{%^.3e 1E-3} は 1.000×10-3
%pf{%2.2f %[exp(1)]} は 2.72

オブジェクト

%{object:id:field parameter} | オブジェクト(object)のインスタンス(id)のフィールド(field)の値

オブジェクトの指定例

%{system::date 0} | Fri Feb 2 1990 型の日付
%{system::date 1} | 2-2-1990 型の日付
%{system::date 2} | Feb 2 1990 型の日付
%{system::time 0} | 00:00:00 型の時刻
%{system::time 1} | 12:00:00 am 型の時刻
%{system::time 2} | 00:00 型の時刻
%{system::time 3} | 12:00 am 型の時刻
%{menu::ngp} | ngpファイル名
%{menu::fullpath_ngp} | フルパスのNGPファイル名
%{data:X:file} | ファイル名 (X はファイル番号)
%{data:X:basename} | フォルダ名を除いたファイル名 (X はファイル番号)
%{data:X:date 0} | ファイルの日付
%{data:X:time 0} | ファイルの時刻
%{data:X:column:l c} | ファイルの l 行の c カラムの内容
%{data:X:dnum} | ファイルXのデータ数
%{data:X:dx n} | ファイルXのn行目の値(x)
%{data:X:dminx} | ファイルXの最小値(x)
%{data:X:dmaxx} | ファイルXの最大値(x)
%{data:X:davx} | ファイルXの平均値(x)
%{data:X:dsigx} | ファイルXの標準偏差(x)
%{data:X:dy n} | ファイルXのn行目の値(y)
%{data:X:dminy} | ファイルXの最小値(y)
%{data:X:dmaxy} | ファイルXの最大値(y)
%{data:X:davy} | ファイルXの平均値(y)
%{data:X:dsigy} | ファイルXの標準偏差(y)
%{data:X:fit_prm:n} | ファイルXのプロットタイプが Fit のとき、フィットの結果 f(x) に対して %0n を返す。
%{data:X:fit_calc:a} | ファイルXのプロットタイプが Fit のとき、フィットの結果 f(x) に対して f(a) を計算する。
%{data:X:fit_newton:a b} | ファイルXのプロットタイプが Fit のとき、フィットの結果 f(x) に対して f(x)=b となる xを初期値 x=a としてニュートン法で求める。
%{fit:0:%00} | fit:0:%00