すでに述べましたように、本ツールはテキストで適当に書いたそれらしい原稿を清書するものです。そのため、原稿に文法が存在します。
(通称 TCML: Timing Chart Make up Language、タイミングチャート作成言語 < Mark up でなく Make up、JinSatoさん名付け親)
ここでは、その定義を述べます。定義なので、堅苦しく、わけわかりにくいかもしれません。
凡例:
[数値] :実数を一般的な小数で記述 [空白] :スペース、タブ [空白文字列] :連続する複数の空白 [文字列] :任意の文字列 [非空白文字] :空白文字以外の文字 [非空白文字列]:空白文字を含まない任意の文字列 [非空白文字〜文字列]:非空白文字で始まる文字列
チャート記述のためのテキスト原稿(以下、単に原稿といいます)は、原則として半角英数文字(1バイトのASCII文字)で記述され、行単位に独立して意味を持ちます。
[非空白文字列] [空白文字列] [非空白文字〜文字列]最初の空白文字列の前を信号名、後をタイミングの記述であるレベル文字列として扱います。
レベル文字列はレベル記号、補助記号、書き込み文字列からなります。
レベル記号:信号の時々刻々のレベルを規定する文字 補助記号 :レベル記号を補助する文字 書込文字列:信号上に書き込まれる記述
レベルの規定は「単位時間」ごとに行います。 単位時間は、図を書く際の時間分解能であり、物理的にどれだけの時間であるかは問いません。 また、パラメータ設定によって、チャート上で1単位時間をどれだけの長さに書くかを設定できます。
レベル記号は、一文字である信号の単位時間のレベルを規定します。
"_":ローレベル "~":ハイレベル(※) "-":ハイ・インピーダンス(high-Z) "=":2値もしくはバス信号の4文字があります。レベル文字列に書いた順番で、信号を単位時間毎に規定していきます。ほぼ、見た目通りになります。
補助記号は、以下の3文字です。
":":単位時間の空白を挿入 "X":バスの遷移を挿入 "|":縦線を挿入本来、一本の信号に時間的空白はないと思われますが、省略を意図した表示などのために空白を挿入するには":"を使用します。
それ以外の文字の集合は、自動的に書き込み文字列として認識されます。
レベル記号、補助記号も含めて、書き込み文字列としたい場合は、「"」でくくります。
書き込み文字列は、前後のレベル記号(含む"X")の中間の時刻を基準としてチャートに書き込まれます。
標準では、文字列の中央が基準点に来るようにセンタリングされます。文字列が"_<_"で始まる場合は基準点に文字列の左端がそろうように、"_>_"で始まる場合は右端がそろうように挿入されます。
(※:一部記号、漢字などに、仕様上記述できないものがあります)
なお、図の横幅は最長のレベル文字列(書き込み文字列は除外)によって、自動的に規定されます。長さが不揃いの場合は、短い信号の後ろに空白があきます。
@[非空白文字列] [空白文字列] [非空白文字〜文字列]最初の空白文字列の前をパラメータ名、以後をパラメータに設定する値とします。
パラメータ (引数型式) | 説 明 | デフォルト |
---|---|---|
step [数値] | 1単位時間のチャート上での長さを規定。単位0.1ポイント。 | 10 |
lineheight [数値] | 信号の高さを規定。単位0.1ポイント。 | 10 |
lineskip [数値] | 信号の上下間隔(中心間)を規定。単位0.1ポイント。 | 20 |
capwidth [数値] | 信号名の表示欄の幅を規定。単位0.1ポイント。 | 40 |
slant [数値] | 信号遷移部の傾きを規定。0で鉛直、1で45度傾斜。 | 0.3 |
signalline [文字列] | 信号を記述する線のスタイルを規定。PostScript型式。 | 0 0 0 setrgbcolor 5 setlinewidth |
borderline [文字列] | 外枠の線のスタイルを規定。PostScript型式。 | 0.7 0.7 0.7 setrgbcolor 5 setlinewidth |
gridline [文字列] | 縦線のスタイルを規定。PostScript型式。 | 1 0 0 setrgbcolor 2 setlinewidth |
capfont [文字列] | 信号名を書くフォントを指定。 | Helvetica(Arial) |
strfont [文字列] | 信号中に書き込む文字列のフォントを指定。 | Helvetica(Arial) |
rotate [0/1] | EPS専用。1を指定すると図を時計回りに90度回転させる。 | 0 |
bitmapmag [数値] | tcbmp専用。ビットマップに変換する際に、1ポイントを何ピクセルにするかを指定。 | 4 |
補足:
[数値(0-1)] [数値(0-1)] [数値(0-1)] setrgbcolor [数値] setlinewidthで行う。前半3個の数値はそれぞれ赤、緑、青の輝度であり、0〜1で指定。「0 0 0」が黒、「1 1 1」が白、「1 0 0」が赤となる。線幅は0.1ポイント単位で指定。
%[数値(y)] [空白文字列] [数値(x)] [空白文字列] [非空白文字〜文字列]空白文字列で区切られた最初の2文字列を数値y,xとして解釈し、残りを行末まで出力文字列とします。