前回、QSOデータ表の大まかな流れをチャートで説明したが、レイアウト(配置)の部分では、物理的な制約は仕方がないだろう。

例えば、「自局データを最小限にする」とか、「リグは書かない」とか、果ては「JARL転送枠は付けない」とか、各局の考えで自由なのだろうが、当局は「八方美人」と言おうか、そうした絞込みをやっていないので、自ずと制約が多くなる。

イメージ 1

早速だが、当局のQSLデータ表の基準点は、共通項目の実際で引出し(変数)に入れた!$$X本文全体の左端位置)と!$$W"データ表の上端位置)になる。
プリンタの印字可能領域を考えて計算すると、表全体の幅は1160(116mm)、高さは40(4mm)の7行分になるから、280(28mm)と決まった。

;-----------------------データ表の外枠と塗りつぶし----------------------------
#FillBox $$X, $$W, 1160, 40, 0xFF7070 ; 表題行の背景を塗りつぶし
#FillBox $$X, $$W+40, 1160, 240, 0xFFE8E8; データ行の背景を塗りつぶし
#LineS 2, 0, 0xFF0000 ; 表枠の色指定(青)
#LineX $$X, $$W, 1160 ; 表枠表題行の上枠線を印字
#LineX $$X, $$W+40, 1160 ; 表枠表題行の下枠線を印字
#LineX $$X, $$W+280, 1160 ; 最終行の下枠線を印字

データ表の背景に色を使ったが、塗りつぶしには#FillBox(矩形領域の塗りつぶし)命令を使う。

#FillBox [左端の開始位置], [上端の開始位置][幅][高さ][塗りつぶしの色]

まず表題部分の塗りつぶしで、背景に濃い色を使って、文字を薄くしてアクセントを付けることにした。
データを印字する行の背景は、薄い色を使った。ここでデータが印字された行の背景だけ色を付ける方法もあるが、QSO数が少ないと下の空白が「マヌケ」な感じがしたので、最初から全体に背景色を使うことにした。

塗りつぶしの命令は#Print...#Line...と違って1行だけの記述で完結する。

#Line...の命令は罫線の命令(まとめ)を参照ください。
当局のQSOデータ表は、縦罫を使わなかったのは、只でさえ狭いスペースを更に狭く感じさせる点と、Remarksで文字オーバーで重なると見苦しくなると思ったからです。

QSOデータ最初の行は、表題を記述します。

;--------------データ表の表題の印刷-------------------------------
#FontName="MS ゴシック" ; データ表の表題用フォント指定
#FontSize=9 ; 文字の大きさ(少し小さめ)
#FontColor=0xFFFFFF ; 文字色(白)
#FontStyle=1 ; 文字飾り(太字)
#Print $$X+15, $$W+5, "Date" ; [Date]の印字20x(11文字+1)=240
? UTC! ; UTCでないか?
#Print $$X+255, $$W+5, "JST" ; [JST]の印字20x(5文字+1)=120
? UTC ; UTCであるか?
#Print $$X+255, $$W+5, "UTC" ; [UTC]の印字20x(5文字+1)=120
#Print $$X+365, $$W+5, "RST" ; [RST]の印字20x(3文字+1)=80
#Print $$X+445, $$W+5, "MHz" ; [MHz]の印字20x(4文字+1)=100
#Print $$X+540, $$W+5, "2Way" ; [2Way]の印字20x(4文字+1)=100
#Print $$X+645, $$W+5, "QSL" ; [QSL]の印字20x(3文字+1)=80
#Print $$X+725, $$W+5, "Remarks" ;[Remarks]の印字

ここで少しだけ厄介なのは、"JST"と書くか? "UTC"と書くかだ。条件命令の中で? UTC!? UTCを使って、書き分けている。

データの印字に使うフォントを1文字20(2mm)として、データの文字数+1文字分をスペースとして、次の書き出し位置を計算した。最後のRemarksは、成り行きです。

イメージ 2

$$X+15+255+365+445+540+645+725は各項目の書きはじめの横位置です。実際は、データ自体より15(1.5mm)ずらして印字してあります。

さて次回は、データ行の印字を進めるメインです。但し、個別データの印字については、もう少し先になります。