LIPSF(1) UNIX-OS Programmer's Manual LIPSF(1) 名称 lipsf - Canon LASERSHOT 用 プリントアウトフィルタ 形式 lipsf [ -p paper ] [ -m mode ] [ -d dir ] [ -f font ] [ -J kanji_code ] [ -s size ] [ -h hight ] [ -w width ] [ -C char ] [ -N name ] [ -A char ] [ -# num ] [ -t tab ] [ -c column ] [ -l line ] [ -T len ] [ -B len ] [ -L len ] [ -R len ] [ -H strings ] [ -F strings ] [ -O num ] [ -S num[,column] ] [ -r num1[-[num2]] ] [ -P num ] [ -X char ] [ -@ prmfile ] [ -vjakKi234? ] [ name ... ] 解説 lipsf は、Canon LASERSHOT 用の制御コードである LIPS コマンド を出力することにより、一般テキストファイル name のプリントア ウトを行ないます。オプションの指定によって、用紙サイズや書体 の選択などが可能となっています。プリントアウトするファイルは 複数指定することができます。MS-DOS 版でもワイルドカードによ るテキストファイルの指定が可能です。 行の折込やヘッダ・フッタの付加など、テキスト整形の機能も多少 はありますので、プログラムソースの印刷だけでなく、ちょっとし た文書の印刷にも利用できます。 lipsf は標準では lpr(1) へ出力を渡します (MS-DOS 版ではプリ ンタポートへ直接データを送ります) が、リダイレクトをすること により、プレーンなテキストファイルから LIPS コマンドを埋め込 んだテキストファイルを作成することもできます。また、印刷ファ イルを指定しない場合、コンソール以外の標準入力を受けてプリン トアウトすることも可能ですので、パイプを用いて他のコマンドの 出力を直接プリンタに出力させることもできます。 但し、標準入力がコンソールの場合は、キー入力を印刷する代わり に pols(1) が起動され、印刷オプションなどの設定を対話的に行 なってから印刷することができます。pols(1) は lipsf の対話的 インタフェース版ですが、詳細についてはそちらのマニュアルを参 照して下さい。 オプションの装飾印刷機能を用いれば、アンダーラインや網掛けと いった飾り文字を印刷することもできるようになります。 オプション lipsf は、各種プリンタ制御のために以下のオプションを受け付け ます。 これらのオプションは、lipsf のコマンドラインのオプション記述 により指定できる他、パラメータファイルによる指定法や、 pols(1) による対話的指定法があります。 -p paper 用紙サイズを選択します。デフォルトはA4用紙です。選択 できるのは以下の用紙のみです。 用紙サイズ一覧 paper 用紙サイズ 備考 _______ ____________ ______________________________ a3 A3 LASERSHOT A304Eのみ対応 a4 A4 a5 A5 b4 B4 b5 B5 hagaki はがき XXXxYYY ユーザ指定 XXX が横幅, YYY が縦幅(mm単位) -m mode 給紙モードをカセット自動給紙(Auto), 手差し給紙 (Manual), 下段カセット給紙(Lower), 上段カセット給紙 (Upper) の中から選択します。それぞれのモードを表す文 字列、もしくは頭文字を指定します。デフォルトは自動給 紙モードです。 -d direction 用紙を縦置き(Portrait), 横置き(Landscape) のどちらに するかを選択します。それぞれの置き方を表す文字列、も しくは頭文字を指定します。デフォルトは縦置きです。 -f font 漢字書体を明朝体(Mincho), 角ゴシック体(Gothic), 丸ゴ シック体(Round-Gothic) の中から選択します。それぞれの 書体を表す文字列、もしくは頭文字を指定します。デフォ ルトは明朝体です。 -J kanji_code 印字ファイルの漢字コードを SJIS, EUC, JIS の中から選 択します。JIS は自動認識可能なので、SJIS, EUC 選択時 でも印字できますが、明示的に JIS を選択した場合は、 ISO-2022-JP の escape sequence 仕様に則って新 JIS (JIS X0208-1990) と旧 JIS (JIS C6226-1978) 及び US- ASCII と Roman (JIS X0201-1976) とを切替えます。 -s size 漢字フォントのサイズをドット単位で指定します。デフォ ルトは 40 ドットです。LIPS IV モードでは、解像度に応 じて 300dpi 相当のドット数 (80 又は 160) がデフォルト 値になります。ANK 文字フォントは漢字フォントの半分の 幅になります。 -h hight 各行間の隙間をドット単位で指定します。デフォルトは 8 ドットです。LIPS IV モードでは、解像度に応じて 300dpi 相当のドット数 (16 又は 32) がデフォルト値になります。 -w width 各文字間の隙間をドット単位で指定します。デフォルトは 2 ドットです。LIPS IV モードでは、解像度に応じて 300dpi 相当のドット数 (4 又は 8) がデフォルト値になり ます。 -C char 装飾印刷機能を利用する場合に、制御文字の接頭子として 機能させる 1 文字を指定します。デフォルトでは装飾印刷 機能は働きません。 -N name 出力先のプリンタ名を文字列で指定します。プリンタ名は /etc/printcap で登録されている必要があります(MS-DOS 版では LPT1-LPT9 の中から選択)。デフォルトは lipsf で す(MS-DOS 版ではローカルプリンタ)。 -A char ヘッダやフッタに関する種々の設定を指定します。-H, -F オプションが指定されていないと、このオプションは無効 です。char が以下の各文字の時、それぞれの設定になりま す。 Hlen ヘッダマージンを mm 単位で指定します。H と数字の 間はあけないで記述して下さい。デフォルトは 10mm です。 Flen フッタマージンを mm 単位で指定します。F と数字の 間はあけないで記述して下さい。デフォルトは 10mm です。 z ゼロサプレスモードにします(後述)。 k 漢字モードが縦書きの時に、マクロの生成する数字を 漢数字にします。 U マクロの生成するファイル名やパス名の文字列を大文 字に変換します。 L マクロの生成するファイル名やパス名の文字列を小文 字に変換します。 -# num プリントアウトする部数を指定します。デフォルトは 1 枚 です。 -t tab タブストップの位置を文字単位で指定します。デフォルト は 8 文字毎です。 -c column 各行に印刷する文字数を ANK 文字数で指定します。0 以下 の数を指定すると、行の折込み等はせずにプリンタ側の自 動改行機能に任せます。デフォルトでは用紙幅を考慮した 最大の文字数になるよう自動的に設定します。 -l line 各ページに印刷する行数を指定します。折り込まれた行も 数に含めます。0 以下の数を指定すると、テキスト中に改 ページコード FF(ASCII code 0ch) が現れた場合を除き、 改ページは全てプリンタ側の自動改ページ機能に任せます。 デフォルトでは用紙高を考慮した最大の行数になるよう自 動的に設定します。 -T len 上端のマージンを mm 単位で指定します。デフォルトは 10mm です。 -B len 下端のマージンを mm 単位で指定します。デフォルトでは 用紙の印字可能高さ一杯まで印字します。 -L len 左端のマージンを mm 単位で指定します。デフォルトは 10mm です。 -R len 右端のマージンを mm 単位で指定します。デフォルトでは 用紙の印字可能幅一杯まで印字します。 -H strings 各ページのヘッダとして用いる文字列を指定します。デフ ォルトではヘッダはつけません。 -F strings 各ページのフッタとして用いる文字列を指定します。デフ ォルトではフッタはつけません。 -O num オーバレイモードを指定します。num が 1,2 の時にはそれ ぞれオーバレイメモリ 1,2 にテキストを登録し、印刷は実 行されません。num が 3,4 の時にはそれぞれオーバレイメ モリ 1,2 の内容をテキストの上に上書きします。5 の時に はオーバレイメモリ 1,2 の内容を両方とも上書きします。 デフォルトではオーバレイは使用しません。 -S num[,column] 段組印刷を指定します。num で段組数を、column で各段の 文字数をそれぞれ指定します。column に 0 以下の数を指 定すると、行の折込み等はせずに次の段にまたがって印字 します。column を省略すると用紙幅を考慮した最大の文字 数になるよう自動的に設定します。デフォルトでは段組は しません。 -r num1[-[num2]] 印刷するページ範囲を指定します。ページ番号は物理的に 印刷されるはずのページを指します。num1 で印刷開始ペー ジを、num2 で印刷終了ページをそれぞれ指定します。num1 のみ指定した場合は指定ページのみ印刷します。num1- ま たは -num2 と指定した場合は、それぞれ指定ページ以降、 指定ページ以前を印刷します。デフォルトでは全てのペー ジを印刷します。 -P num ヘッダやフッタ内でページ番号を印刷する場合の、最初の ページに印刷する番号を指定します。デフォルトは 1 です。 -v 漢字モードを縦書きにします。 -j 漢字コードセットに旧 JIS (JIS C6226-1978) を選択しま す。デフォルトでは新 JIS (JIS X0208-1990) が指定され ます。 -a 1byte コードセットに US-ASCII を選択します。デフォル トでは Roman (JIS X0201-1976) が指定されます。 -k 罫線 (98 罫線を含む) を連結して印字します。 -K 行の折込の際に、行頭行末で禁則処理を行ないます。 -i 印刷情報表示モードにします。印刷されるべきページ数、 段組数、行数を標準出力に出力し、実際の印刷は行ないま せん。出力書式は "xP + yS + zP ファイル名" の形で、x, y, z は、それぞれ[印刷されるページ数 - 1], [最終ペー ジの段組数 - 1], [最終ページ最終段の行数] を指します。 -2 LIPS II+ モードにします。旧タイプの LASERSHOT ではこ のモードを指定します。 -3 LIPS III モードにします。デフォルトではこのモードです。 -4 LIPS IV モードにします。新タイプの LASERSHOT ではこの モードの方が奇麗な印字になりますが、LIPS IV 非対応の モデルでは使えません。 -X char LIPS IV モード時の拡張モードの設定を指定します。-4 オ プションが指定されていないと、このオプションは無効で す。char が以下の各文字の時、それぞれの設定になります。 F 1200dpi の超高解像度モードにします。 D 両面印刷モードにします。プリンタに両面印刷機構が 搭載されていないと、このオプションは無効です。 Cn カラー印刷モードにします。n で基本色を指定します。 n が数字の時、0-7 の値が各々黒、赤、緑、黄色、青、 紫、水色、白を表します。n が # で始まる 6 桁の 16 進数の場合、RGB の強度を 0-255 までの 256 段 階で表現した色を表します。n が % で始まる数値の 場合、グレイスケールの濃度を百分率で表現した色を 表します。n を省略すると基本色には黒が設定されま す。 -@ prmfile パラメータファイルのファイル名を指定します。上記のオ プション文字列を記述したテキストファイルを用い、コマ ンドラインからのオプション指定の代りにパラメータ設定 ができます。各オプション文字列は空白、タブ、改行で区 切って記述します。但しパラメータファイルの再帰的な読 込みはできません。 -? 簡単なヘルプメッセージを標準エラー出力に表示します。 装飾印刷機能 -C オプションで指定された 1 文字を接頭子とするような制御文字 をテキストファイル中に置くことで、LASERSHOT プリンタの持つ様 々な装飾印刷機能を利用することができます。 接頭子として '\' を用いたい場合は、'-C \\' と重ねて記述しな いとシェルが正しく判断しないので注意して下さい。パラメータフ ァイル内の場合も同様に重ねて表記します。 各種の制御文字のうち、アンダーラインや網掛けといった飾り文字 に関する制御コマンドは、"\uアンダーライン\u" のように、制御 文字で囲んで用います。飾り文字の終了を表す制御文字がなくても、 改行文字が印字された時点で自動的に文字飾りは解除され、ノーマ ル印字状態に戻ります。 以下に、接頭子を '\' とした場合の制御コマンドを紹介します。 \w 文字の横幅が倍になった横倍角文字で印字します。 \l 文字の縦幅が倍になった縦倍角文字で印字します。 \b 縦横がそれぞれ倍になった 4 倍角文字で印字します。 \t 縦に 1/2 に縮小されたスクリプト文字を上付きで印字しま す。 \s 縦に 1/2 に縮小されたスクリプト文字を下付きで印字しま す。 \u アンダーライン付きの文字で印字します。 \d ダブルアンダーライン付きの文字で印字します。 \f 文字の太さが太くなった強調文字で印字します。 \i 文字が傾いたイタリック文字で印字します。 \a 網掛け文字で印字します。 \x 白黒反転文字で印字します。 \o 輪郭だけから成るアウトライン文字で印字します。 \p 模様の描かれたパターンフィル文字で印字します。 \q 文字の影の部分だけを示したシャドウ文字で印字します。 \z この制御文字の入った行だけ、印刷後改行しません。次の 行が重ね打ちされます。 \h この制御文字の入った行だけ、通常の半分の幅だけ改行し ます。 \c この制御文字の入った行だけ、行全体の内容を中央に印刷 します。 \r この制御文字の入った行だけ、行全体の内容を右寄せで印 刷します。 \k 縦書き漢字モードの場合、この制御文字に続く 2 文字の ANK 文字を、半角組文字として印字します。2 文字目が ANK 文字でなかった場合は 1 文字目のみ組文字にします。 組文字印字後、自動的にノーマル印字状態に戻ります。 \@ 何も動作を行なわないダミー文字です。テキストの桁幅調 整などで用います。 \; コメント行です。この制御文字以降、行末までをコメント 文とみなし、実際には印字されません。 \\ 文字 '\' そのものを印字します。 \{zn} 文字サイズを n ドットに変更します。n を省略すると、デ フォルト値に戻します。 \{g0} 漢字書体を明朝体にします。 \{g1} 漢字書体を角ゴシック体にします。 \{g2} 漢字書体を丸ゴシック体にします。 \{j0} 漢字モードを横書きにします。 \{j1} 漢字モードを縦書きにします。 \{cn} 各文字間の隙間を n ドットに変更します。n を省略すると、 デフォルト値に戻します。 \{fn} 各行間の隙間を n ドットに変更します。n を省略すると、 デフォルト値に戻します。 \{tn} タブストップの位置を n 文字毎に変更します。n を省略す ると、デフォルト値に戻します。 \{Tn1,n2} インデント幅を左端 n1 文字右端 n2 文字に設定します。 n2 を省略すると左端インデントだけ設定されます。 \{k0} 罫線連結処理をしないようにします。 \{k1} 罫線連結処理をするようにします。 \{o0} 禁則処理をしないようにします。 \{o1} 禁則処理をするようにします。 \{Cn} 文字色を n で指定される色に変更します。-4 オプション が指定されていないと無効です。カラー印刷モードでない 時やプリンタがカラー印刷に対応していない時は、常にグ レイスケールで印刷されます。n の指定方法は、起動時の -X オプションの C コマンドと同じです。n を省略すると、 文字色を基本色に変更します。 \{-} 装飾印刷機能を一時的に中止します。-C オプションで制御 文字接頭子が指定されていないと無効です。 \{+} \{-} コマンドで中止された装飾印刷機能を再び有効にしま す。装飾印刷機能の一時中止の間は、このコマンドのみ有 効となります。 これらの制御コマンドのみから成る行は、実際には印字されません し、空行とも見なされませんので、注意して下さい。 ヘッダ・フッタ -H, -F オプションにより、印刷される用紙の各ページにヘッダや フッタをつけることができます。 ヘッダやフッタの文字列を指定する時には、シェルによって空白文 字がセパレータとみなされないよう、-H"This is Header" のよう に、引用符でくくる必要があります。装飾印刷機能はヘッダやフッ タの中でも使えますが、接頭子に '\' を選んだ場合には重ねて表 記することを忘れないで下さい。また、引用符自身は '\"' と表し ます。これらの書式はパラメータファイル内でも全く同様です。 ヘッダ・フッタ文字列の中でのみ許される書式として、パイプ文字 を用いたセンタリングがあります。文字列中に 2 つまでの '|' を 挿入することができ、1 つ目から 2 つ目までの間に含まれる文字 列はセンタリングされ、2 つ目より後ろの文字列は右寄せに印字さ れます。3 つ目以降のパイプ文字は無視されます。 また、ヘッダ・フッタ文字列内では、接頭子 '%' を用いて以下の ようなマクロが使用できます。 %y 年(西暦下2桁) %Y 年(西暦4桁) %m 月(数字) %N 月(英語) ("Jan" - "Sat") %d 日(数字) %w 曜日(日本語) ("日" - "土") %W 曜日(英語) ("Sun" - "Sat") %H 時(24時制) (0 - 23) %h 時(12時制) (0 - 11) %n AM または PM %M 分(数字) %S 秒(数字) %F ファイルのフルパス名 (MS-DOS 版ではドライヴ名を含む) %f ファイル名 %s ファイルサイズ %t ファイルのタイムスタンプ (例: 99-01-01 0:00) %p ページ番号 %P 総ページ数 %| 文字 '|' そのもの %% 文字 '%' そのもの -z オプションを用いてゼロサプレスモードにしていた場合、月、 日、時の桁数が 1 桁の時には十の位の位置に空白を補います。ゼ ロサプレスモードでない時、もしくは月、日、時以外の数字の時に は、1 桁の時にも十の位には 0 が印字されます。 なお、-l オプションでプリンタによる自動改行を指定している場 合、ヘッダやフッタは全テキストの最初と最後にしかつきませんの で注意して下さい。 日本語対応 漢字コードは JIS (ISO-2022-JP) と Shift JIS または EUC 漢字 のみ対応しています。Shift JIS と EUC 漢字の選択はオプション で行ないますので、同時に自動判別できる漢字コードは 2 種類だ けです。MS-DOS 版のデフォルトは Shift JIS 対応です。 テキストファイルの文字コードから自動判別していますが、ISO- 2022-JP の漢字イン (2byte コードセット呼出) 及び漢字アウト (1byte コードセット呼出) は以下のものだけ識別します。 漢字イン ESC $ @ ESC $ B ESC $ ( @ ESC $ ( B ESC $ ( O ESC & @ ESC $ B 漢字アウト ESC ( J ESC ( H ESC ( B また、禁則処理は以下の文字に関して、それぞれ行頭行末で禁則処 理を行ないます。なお、都合上以下には記されていませんが、半角 カナ (1byte カナ) の括弧と句読点もサポートしています。 行頭禁則文字 、。,.?!’”)〕]}〉》」』】>!),.>?]} 行末禁則文字 ‘“(〔[{〈《「『【<(<[{ printcap への設定 lipsf の出力はプレーンなテキストファイルではありません。UNIX の場合、単純に lpr(1) へ出力を渡してしまうと、標準フィルタに よって LIPS コマンドの途中で改行コードを挿入されたりして、正 しくプリントアウトされません。そこで UNIX 版 lipsf では、フ ィルタリングを一切行なわないようなプリンタ "lipsf" を登録し、 出力プリンタをそこに指定するようにしています。したがって、 lipsf の使用に際しては、/etc/printcap に以下のような登録を加 えておいて下さい。 lipsf|Canon LASERSHOT for lipsf:\ :lp=/dev/lp0:sh:sf:mx#0:\ :sd=/usr/spool/lipsf:\ :lf=/usr/adm/lipsf-errs: (各パス名は OS によって異なりますので、lpd(8) のマニュアルを 参考に適宜置換えて下さい。) 加えて、スプールディレクトリ /usr/spool/lipsf の作成と、 lpc(8) の start コマンドの実行が必要です。 関連ファイル /etc/printcap プリンタ特性のデータベース /usr/spool/lipsf スプールディレクトリ 関連事項 pols(1), lpr(1), lpc(8), lpd(8), printcap(5) 診断 ワードラッピング、ジャスティフィケーションなど未対応です。 著作権 Copyright (C) 1993-2002 by Takashi SHIRAI 著者 白井 隆,