mkhexgrid - ヘクスグリッドを生成する
mkhexgrid [option]... [specfile [outfile]]
mkhexgrid は PNG,PostScript,Scalable Vector Graphics(SVG)の各ファイル形式でヘクスグリッドを生成する.ヘクス番号や中心点を加えることもできる.specfile はヘクスグリッドの変数(各要素の値)を書き込んだファイルの名前であり,outfile は出力されるファイルの名前である.outfileを指定しなければ結果は標準出力に出力される.specfileを指定しなければ変数を標準入力から読み込ませることもできる.
mkhexgrid はコマンドライン引数の処理に GNU getopt を用いる.各オプションは,引数がなければ --option-name
(--オプション名),引数をとるオプションは --option-name=argument
(--オプション名=引数)の形で書く.
長さおよびサイズは PNG および SVG ではピクセルを用い,このとき単位は指定しない.PostScript形式で出力する場合は,長さおよびサイズはインチ(in
),ミリメートル(mm
),ポイント(pt
)のいずれかで指定できる.単位を指定しなければポイントが使用される(1インチ = 72ポイント = 25.4ミリ).PNG形式では長さおよびサイズは整数でなければならないが,例外的にヘクス番号のサイズのみは小数を用いてもよい.角度は全て度数法で,小数を用いる.
色の指定は PNG および SVG では 16進数の RGB形式(RRGGBB)を用いる(例えば,FFFFFF
は白,8C6AC6
は紫になる).PostScript形式では R,G,B の形式を用い,R,G,B はそれぞれ 0 から 1 の間の値を使用する(例えば,1,0,0
は赤, 0.8,0.8,0.8
は薄いグレーとなる).
透明度は PNG形式では 0 から127 の範囲の整数で,SVG形式では 0 から 1 の間の実数(小数)で指定する.PostScript形式では無視される.
png
(PNG形式),ps
(ポストスクリプト形式),svg
(SVG形式)グリッドを描くためには,ヘクスの幅,ヘクスの高さ,ヘクスサイドの長さ,画像の幅,画像の高さ,縦列数(column),横列数(row)の全てを指定する必要はない.最低限必要な指定がなされていればグリッドが描かれ,指定を省略したものは自動計算される.
808080
,PostScriptでは 0.80808,0.80808,0.80808
h
(水平方向)および v
(垂直方向).水平方向を指定した場合,横列が水平に並び,縦列は蛇行する.垂直方向はその逆で,こちらがデフォルトであるi
,凸が o
である.どの列が最初かはヘクス番号の基点(coordinate-origin)によって決まるこれらのオプションはヘクス番号の表記とヘクス内での出力位置に影響する.
808080
,PostScriptでは 0.80808,0.80808,0.80808
であるprintf
関数で使われるものに似ている.以下の特別な符号は,文字列中に値を代入するためのものである:
表示幅は %
と書式制御文字の間に数字を挿入することで指定できる.表示幅の頭に 0
を加えればゼロを詰めた数字とすることができる.書式にアルファベットを用いる場合,デフォルトでは AA
の次は AB
となる.文字を重複させる番号付け(AA
の次が BB
となるような数え方)にしたい場合は,書式制御文字の前に t
を挿入することで指定できる.パーセント記号は %%
と指定する.デフォルトの書式は %02c%02r
である.ヘクス番号を出力したくなければ,書式に空文字列(""
)を指定すればよい
ul
,右上(upper right)が ur
,左下(lower left)が ll
,右下(lower right)が lr
.デフォルトは左上n
,ドットが d
,十字が c
808080
,PostScriptでは 0.80808,0.80808,0.80808
であるFFFFFF
,SVG および PostScript では無色である--
の後の記述はオプションとして解釈されない.ファイル名が 2つのダッシュ(--)で始まるスペックファイルを読み込みたいときに便利ヘクスグリッドを生成するために必要になるオプションが多すぎるなら,スペックファイル内で変数を指定することもできる.スペックファイルは標準入力から読み込むことができる(オプションなしの最初の引数で指定する).スペックファイルの内容は,オプション名と値を組にして =
で区切ったもので,1行ごとに 1つのオプションを記述する.#
の後はコメントとみなされ,オプション名と値のペアの後に置いたり,行全体をコメントとすることができる.スペース(空白)を含む値は二重引用符(")で囲まなければならない.二重引用符自体を含む場合は,二重引用符の前にバックスラッシュを置く.コマンドラインで値を取らないオプションでは,スペックファイル中でダミーの値を与えなければならない.オプションがコマンドラインで指定されている場合,スペックファイル中で指定したオプションは上書きされてしまう
例:
# スペックファイルの例 output = png hex-side = 30 # これが行末のコメント coord-format = "%C\" %02r" antialias = true # 'true' はダミーの値
上の例ではヘクス番号の書式が A" 01
のようになる.誰もそんな出力は望まないだろうが,これはオプションの値にスペースと二重引用符を含める方法を示すためである.
mkhexgrid --output=ps --image-width=34in --image-height=22in --hex-side=0.5in --coord-bearing=0 --coord-dist=0.3in --coord-size=8 --grid-thickness=1 --coord-font=Helvetica --grid-grain=h --grid-start=o --coord-tilt=-90 --centered -o test.ps
Joel Uckelman <uckelman@nomic.net>
バグは <mkhexgrid-bugs@nomic.net> まで報告されたし
Copyright © 2006 Joel Uckelman.
このプログラムはフリーソフトウェアである.GNU 一般公衆ライセンスの規定の下で再頒布可能.法的には無保証とする