Solaris のシステム管理 (印刷)

テンプレートによる印刷フィルタオプションの定義

印刷フィルタオプションの定義には 13 個の情報源があり、それぞれが「キーワード」で表されています。各オプションは「テンプレート」内で定義されます。テンプレートとは、フィルタの特性値の 1 つに基づいてフィルタコマンドに渡されるオプションを定義する、フィルタ定義内のステートメントです。

フィルタ定義で指定するオプションには、13 個のキーワードをまったく使用しなくても、すべて使用しても、その一部を使用してもかまいません。また、完全なフィルタ定義に複数の定義が必要な場合は、1 つのキーワードを複数回指定することもできます。次の表に、印刷フィルタ定義におけるオプションを定義するための 13 個のキーワードを示します。

表 10–2 印刷フィルタオプションのキーワード

オプションの特性

キーワード 

パターン 

例 

内容形式 (入力) 

INPUT

内容形式

troff

内容形式 (出力) 

OUTPUT

内容形式

postscript, impress

プリンタタイプ 

TERM

プリンタタイプ

att495

プリンタ名 

PRINTER

プリンタ名

lp1

文字ピッチ 

CPI

四捨五入された 10 進数

10

行ピッチ 

LPI

四捨五入された 10 進数

6

ページ長 

LENGTH

四捨五入された 10 進数

66

ページ幅 

WIDTH

四捨五入された 10 進数

80

印刷ページ数 

PAGES

ページリスト

1-5,13-20

文字セット 

CHARSET

文字セット

finnish

フォーム名 

FORM

フォーム名

invoice2

部数 

COPIES

整数

3

特殊モード

MODES

モード

landscape

印刷フィルタ定義には、複数のテンプレートを含めることができます。複数のテンプレートを指定する場合は、1 行にコンマで区切って入力するか、先頭に Options: を付けて複数行に入力します。 接頭辞を含んでいる必要があります。

テンプレートの形式は次のとおりです。 keywordpattern = replacement

keyword は、フィルタの特定の特性に関して登録されたオプションのタイプを識別します。

pattern は、キーワードの特定のオプションです。

replacement は、キーワードが指定した値のときに発生する動作です。

特定のフィルタのオプションを定義する方法を示す例として、印刷サービススケジューラを使って次の条件でフィルタに印刷要求を割り当てたいものと仮定します。

上記の条件を指定するには、lpfilter コマンドのオプションとして次のテンプレートを与えます。


Options: OUTPUT impress=-I, OUTPUT postscript=-P

Options 行が長くなりすぎる場合は、次のように各テンプレートを別々の行に入れます。


Options: OUTPUT impress=-I
Options: OUTPUT postscript=-P 

どちらのテンプレートでも、keywordOUTPUT として定義されています。1 番目のテンプレートでは、パターンは impress で、replacement の値は -I です。2 番目のテンプレートでは、pattern の値は postscript で、replacement の値は -P です。

各種テンプレート (つまり、各キーワードの pattern 引数と replacement 引数) に与える値を見つけるには、次のことに注意する必要があります。

replacement オプションは、テンプレートの値をフィルタプログラムに与える方法を示します。通常はリテラルオプションですが、値の位置を示すプレースホルダのアスタリスク (*) が付いていることがあります。patternreplacement には、ユーザー入力オプションからフィルタオプションへの複雑な変換を行うために、ed コマンドの正規表現の構文を使用することもできます。ed の正規表現の構文は、\( ... \) および \n も含め、すべて使用できます。これらの構文を使用すると、pattern オプションの各部を抽出して replacement オプションにコピーできます。また、& オプション使用すると、pattern オプション全体を replacement オプションにコピーできます。詳細は、ed(1) のマニュアルページを参照してください。


注 –

pattern オプションまたは replacement オプションにコンマまたは等号 (=) を含める場合は、その前にバックスラッシュ (\) を付けてください。これらの文字の前のバックスラッシュは、pattern オプションまたは replacement オプションが使用されるときに削除されます。