<!doctype linuxdoctr system>


<!--
     src.sgml,v 3.30 1999/11/19 06:00:35 gtaylor Exp
 -->

<article>
<title>The Linux Printing HOWTO

<author>Grant Taylor <tt/&lt;gtaylor+pht@picante.com>/
<date>Version 3.30, 1999/11/19 06:00:35

<trans>Japanese FAQ Project <tt/&lt;JF@linux.or.jp&gt;/
<tdate>v3.30j1, 10 December 1999
<abstract>
<!-- This is the Linux Printing HOWTO, a collection of information on how
to generate, preview, print and fax anything under Linux (and other
Unices in general).
-->
この Linux Printing HOWTO は、Linux (およびその他一般的なUNIX) で
文書などを生成・プレビュー・印刷・ FAX する方法についての情報を集めたものです。

</abstract>

<toc>

<sect>はじめに
<!-- Introduction -->
<p>
<!-- The Printing HOWTO should contain everything you need to know to help
you set up printing services on your Linux box(en).  As life would
have it, it's a bit more complicated than in the point-and-click world
of Microsoft and Apple, but it's also a bit more flexible and
certainly easier to administer for large LANs.
-->
この Printing HOWTO はあなたの Linux Box で印刷サービスを設定するために
必要となるような情報全てを含んでいるはずです。人生がそうであるように、
マイクロソフトやアップルのクリックひとつだけですむ世界よりも多少難しい
でしょうが、その分だけ柔軟性があり、大中規模の LAN(large LANs) の管理者に
とっては確実に簡単であるはずです。

<p>
<!-- This document is structured so that most people will only need to read
the first half or so.  Most of the more obscure and
situation-dependent information in here is in the last half, and can
be easily located in the Table of Contents, whereas most of the
information through section 9 or 10 is probably needed by most people.
-->
このドキュメントはほとんどの人は前半部分ぐらいを読むだけで済むように
構成されています。多くのより分かりにくく、また状況に依存した
(situation-dependant) 情報は後半部分にあり、簡単に目次から探すことができ
ますが、多くの方は 9 章や 10 章の情報が必要となるでしょう。

<p>
<!-- Since version 3.x is a complete rewrite, much information from
previous editions has been lost.  This is by design, as the previous
HOWTOs were so large as to be 60 typeset pages, and had the narrative
flow of a dead turtle.  If you do not find the answer here, you are
encouraged to a) scan the previous version at the <url
url="http://www.picante.com/~gtaylor/pht/" name="Printing HOWTO Home Page">
and b) drop me a note saying what ought to be here but isn't.
-->
ご存じの通りバージョン 3.x(このドキュメントのバージョンの事)は完全に書き
直されましたので、前の版からの情報の多くは無くなりました。これは、以前の HOWTO 
は非常に大きく、印刷すると 60 ページにも及び、まるで死んだ亀の生涯を語るような
長い長いお話になってしまったために意図的に行いました。
このドキュメントから答えを見つけられなかった場合、a) <url
url="http://www.picante.com/~gtaylor/pht/" name="Printing HOWTO Home Page">
にある以前のバージョンを調べ、b) このドキュメントにあるべきものが抜けていることを
私に教えてください。

<p>
<!-- The <url name="Printing HOWTO Home Page"
url="http://www.picante.com/~gtaylor/pht/"> is a good place to find
the latest version; it is also, of course, distributed from Metalab
(<tt/metalab.unc.edu/) and your friendly local LDP mirror.
-->
<url name="Printing HOWTO Home Page"
url="http://www.picante.com/~gtaylor/pht/"> は最新版のドキュメントを見つ
けるのに良い場所ではありますが、当然 Metalab (<tt/metalab.unc.edu/) や近
くの LDP ミラーサイトからも配布されます。

<!-- friendly は入れると直訳っぽくなるんで、いらないでしょう(^^; -->

<sect1>History
<p>
<!-- This is the third generation, which is to say the third complete
rewrite, of the Printing HOWTO.  The history of the PHT may be
chronicled thusly:
-->
この文章は 3 世代目(つまり 3 回目の大改訂)の Printing HOWTO です。
PHT(Printing HowTo) の歴史はこのように綴られる。

<!--  う〜ん、古語の訳は難しい。。。前版の訳をそのまま借りました -->

<enum>
<!--
<item>I wrote the printing-howto in 1992 in response to too many
      printing questions in comp.os.linux, and posted it.  This
      predated the HOWTO project by a few months and was the first
      FAQlet called a `howto'.  This edition was in plain ascii.
-->
<item> comp.os.linux での印刷に関する非常に多くの質問への回答として、
1992 年に printing-howto を書いて投稿しました。これは HOWTO プロジェクト
発足よりも数ヶ月前だったため、`howto' と呼ばれる最初の FAQ パンフレット
(FAQlet)となりました。この版は単なるテキストファイル(plain ASCII)でした。

<!-- 
<item>After joining the HOWTO project, the Printing-HOWTO was merged
      with an Lpd FAQ by Brian McCauley <tt/&lt;B.A.McCauley@bham.ac.uk>/; we
      continued to co-author
      the PHT for two years or so.  At some point we incorporated the
      work of Karl Auer <tt/&lt;Karl.Auer@anu.edu.au>/.  This
      generation of the PHT was in
      TeXinfo, and available in PS, HTML, Ascii, and Info.  
-->
<item> HOWTO プロジェクトに参加後、Printing-HOWTO は Brian McCauley
<tt/&lt;B.A.McCauley@bham.ac.uk&gt;/ の Lpd FAQ とマージされました。私たち
は 2 年ほど、協力して PHT の共同執筆を行いました。いくつかは Karl Auer
<tt/&lt;Karl.Auer@anu.edu.au&gt;/ の物も取り入れました。この時の PHT は 
TeXinfo で書かれていましたが、PS, HTML, ASCII, そして Info 形式でも入手
できました。

<!-- 
<item>After letting the PHT rot and decay for over a year, and an
      unsuccessful attempt at getting someone else to maintain it,
      this rewrite happened.  This generation of the PHT is written in
      SGML using the LinuxDoc DTD and the SGML-Tools-1 package.
      Beginning with version 3.27, it incorporates a summary of a
      companion printer support database; before 3.27 there was never
      a printer compatability list in this HOWTO (!).
-->
<item> PHT はその後 1 年以上も放置されて痛んで腐ってしまい、その後他の人
に文書のメンテナンスを引き継ぐことにも失敗した後、改定の話が持ち上
がりました。現在の PHT は LinuxDoc DTD と SGML-Tools-1 パッケージを使用
して SGML で書かれています。バージョン 3.27 からは、扱いやすいプリンタ
(companion printer)のサポートデータベースの要約(summary)が含まれています。
3.27 より以前はこの HOWTO に、プリンタ互換性リスト(compatibility
list)はありませんでした(!)。

<!-- (cz) 
it incorporates a summary of a companion printer support database
これが良く意味が分かりません。companion はいわゆる人に優しいというか、設
定しやすいということだと思うんですが。。。
-->

</enum>
<sect1>Copyright
<p>
This document is Copyright (c) 1992-1999 by Grant Taylor.  Feel free
to copy and redistribute this document according to the terms of the
GNU General Public License, revision 2 or later.

<p>
(訳注: 読者の利便を考え日本語訳をしますが、原文の Copyright が優先します)

このドキュメントは、Grant Taylor が著作権を有します((c) 1992-1999)。
GNU General Public License revision 2(GPL2) 以降に従う限り自由に
このドキュメントをコピー及び再配布を行っても構いません。

<!-- 2章
<sect>How to print
-->
<sect> どのように印刷するのか
<p>
<!--
If you've already got lpd setup to print to your printer, or your
system administrator already did so, or your vendor did so for you,
then all you need to do is learn how to use the lpr command.  The <url
name="Printing Usage HOWTO"
url="http://metalab.unc.edu/LDP/HOWTO/Printing-Usage-HOWTO.html"> covers
this, and a few other queue manipulation commands you should probably
know.
-->
既に lpd を設定していてプリンタが使用可能になっているか、
システム管理者が設定してくれているか、もしくはベンダが代わり
に設定してくれていたのであれば、必要なのは lpr コマンドの使い方
を学ぶことだけです。Printing Usage HOWTO <url name="Printing Usage HOWTO"
 url="http://metalab.unc.edu/LDP/HOWTO/Printing-Usage-HOWTO.html">
がこれについて網羅しています。そして印刷キューを操作する
いくつかのコマンドについては既にご存知なことでしょう。
<p>
<!--
If, however, you have a new system or new printer, then you'll have to
set up printing services one way or another before you can print.
Read on!
-->
しかし、新品のシステムやプリンタを持っていれば、印刷が可能になる前に
何らかの方法で印刷サービスを設定する必要があるでしょう。

<!--O 3章
<sect>Kernel printer devices
-->
<sect>カーネルのプリンタデバイス
<p>
<!--O
There are two completely different device drivers for the parallel
port; which one you are using depends on your kernel version (which
you can find out with the command <tt>uname -a</tt>).  The driver
changed in Linux 2.1.33. 
-->
パラレルポートのデバイスドライバは、全く異なるものが二つ存在しています。
あなたがどちらをお使いかは、
そのカーネルのバージョン (<tt>uname -a</tt> とコマンドを打てばわかります)
によります。
ドライバの変更は Linux 2.1.33 で行われました。
<p>
<!--O
A few details are the same for both styles of driver.  Most notably,
many people have found that Linux will not detect their parallel port
unless they disable "Plug and Play" in their PC BIOS.  (This is no
surprise; the track record for PnP of non-PCI devices with Windows and
elsewhere has been something of a disaster).
-->
これら二つのドライバには似ているところもあります。
特に気をつけておくべきは、PC BIOS の "Plug and Play" を無効にしておかないと、
Linux はパラレルポートを検知しない、ということでしょう
(驚くことじゃありません。 Windows などでの非 PCI デバイスの 
PnP 接続追跡情報はある意味災厄でしたから...)。

<!--O
<sect1>The lp device (kernels &lt;=2.1.32)
-->
<sect1>lp デバイス (2.1.32 以前)
<p>
<!--O
The Linux kernel (&lt;=2.1.32), assuming you have compiled in or
loaded the lp device (the output of <tt>cat /proc/devices</tt> should
include the device lp if it is loaded), provides one or more of
<em>/dev/lp0</em>, <em>/dev/lp1</em>, and <em>/dev/lp2</em>.  These
are NOT assigned dynamically, rather, each corresponds to a specific
hardware I/O address.  This means that your first printer may be
<em/lp0/ or <em/lp1/ depending on your hardware.  Just try both.
-->
2.1.32 以前のカーネルでは、lp デバイスを組み込むかロードしておけば
(ロードされてれば <tt>cat /proc/devices</tt> の出力に
lp デバイスが入るはず)、
<em>/dev/lp0</em>, <em>/dev/lp1</em>, <em>/dev/lp2</em>
のうちのどれか (あるいは複数個) が使えます。
これらのデバイスは動的に割り当てられるものでは *ありません*。
そうではなく、それぞれが特定のハードウェア I/O アドレスに
関連づけられているのです。つまり一番目に接続したプリンタが
<em/lp0/ となるか <tt/lp1/ となるかはハードウェアしだいです。
両方試してみましょう。
<p>
<!--O
A few users have reported that their bidirectional lp ports aren't
detected if they use an older unidirectional printer cable.  Check
that you've got a decent cable.
-->
何人かのユーザからの報告によれば、単方向 (unidirectional) 用の古い
プリンタケーブルを使っていると、双方向 (bidirectional) の lp ポートが
認識されないことがあるそうです。ちゃんとしたケーブルを使っているか
確かめておきましょう。
<p>
<!--O
One cannot run the plip and lp drivers at the same time on any given
port (under 2.0, anyway).  You can, however, have one or the other
driver loaded at any given time either manually, or by kerneld with
version 2.x (and later 1.3.x) kernels.  By carefully setting the
interrupts and such, you can supposedly run plip on one port and lp on
the other.  One person did so by editing the drivers; I eagerly await
a success report of someone doing so with only a clever command line.
-->
plip ドライバと lp ドライバは、一つのポートに同時に使うことは
できません (2.0 以下では)。しかし、必要に応じて
どちらかのドライバを選択してロードすることは可能です。
これは手動で、あるいは 2.x (及び 1.3.x の後期) カーネルなら kerneld 
を使って行うことができます。割り込みなどを注意深く設定すれば、
おそらく plip を一つのポートで、 lp を別のポートで動作させることが
可能でしょう。こいつをうまいことコマンドラインだけで成功させた例が
あるようなら、私はその話がとても聞きたいです。
<p>
<!--O
There is a little utility called <tt><htmlurl
url="http://www.picante.com/~gtaylor/pht/man/tunelp.8.html"
name="tunelp"></tt> floating about with which you, as root, can tune
the Linux 2.0 lp device's interrupt usage, polling rate, and other
options.
-->
さて、世の中には
<htmlurl url="http://www.linux.or.jp/JM/html/util-linux/man8/tunelp.8.html"
name="tunelp"> という小さなユーティリティがあります。
これを root 権限で用いれば、
Linux 2.0 lp デバイスに対して、
割り込みの利用法やポーリングレートなどのオプションを
調整することができます。
<p>
<!--O
When the lp driver is built into the kernel, the kernel will accept an
<tt>lp=</tt> option to set interrupts and io addresses:
<tscreen><verb>
When the lp driver is built in to the kernel, you may use the
LILO/LOADLIN command line to set the port addresses and interrupts
that the driver will use.

Syntax:      lp=port0[,irq0[,port1[,irq1[,port2[,irq2]]]]]

For example:   lp=0x378,0   or   lp=0x278,5,0x378,7 **

Note that if this feature is used, you must specify *all* the ports
you want considered, there are no defaults.  You can disable a
built-in driver with lp=0.
</verb></tscreen>
-->
<!--NAKANO この辺原文ちょいおかしいか? -->
lp ドライバがカーネルに直接組み込まれているときは、
カーネルは <tt/lp=/ オプションを受け付けるようになり、
ドライバが利用する割り込みと I/O アドレスを設定できます。
例えば LILO や LOADLIN のコマンドラインを用いて、ドライバの使う
ポートアドレスと割り込みを設定できます。

<tscreen><verb>
書式:	lp=port0[,irq0[,port1[,irq1[,port2[,irq2]]]]]

例;	lp=0x378,0 または lp=0x278,5,0x378,7 など。
</verb></tscreen>
<p>
この機能を使ったときは、必要となるポートを *ぜんぶ* 指定
しなければいけません。デフォルトで有効となるポートはありません。
なお lp=0 とすれば組み込みのドライバを無効にすることもできます。
<p>
<!--O
When loaded as a module, it is possible to specify io addresses and
interrupt lines on the insmod command line (or in
<em>/etc/conf.modules</em> so as to affect kerneld) using the usual
module argument syntax.  The parameters are <tt/io=port0,port1,port2/
and <tt/irq=irq0,irq1,irq2/.  Read ye the man page for <em><htmlurl
url="http://www.picante.com/~gtaylor/pht/man/insmod.1.html"
name="insmod"></em> for more information on this.
-->
<!--NAKANO what's "ye"? -->
モジュールとしてロードされる場合には、
I/O アドレスと割り込みを insmod のコマンドラインから
(あるいは <em>/etc/conf.modules</em> で kerneld に設定して)
通常のモジュール引数の指定方法で設定できます。
パラメータは <tt/io=port0,port1,port2/ と <tt/irq=irq0,irq1,irq2/ です。
より詳しいことを知りたい場合は <tt>insmod</tt> のマニュアルページを
読んでください。

<p>
<!--O
**For those of you who (like me) can never find the standard port
numbers when you need them, they are as in the second example above.
The other port (<em/lp0/) is at 0x3bc.  I've no idea what interrupt it
usually uses.
-->
必要なときに標準のポート番号を思い出せない人 (わたしもそうです)
のためにコメントを。
二つは上記の二番目の例に出ています。もう一つ (<em/lp0/) は 0x3bc に
あります。標準の割り込み、に関しては、ちょっと知識がありません。
<p>
<!--O
The source code for the Linux 2.0 parallel port driver is in
/usr/src/linux/drivers/char/lp.c.
-->
Linux 2.0 パラレルポートドライバのソースコードは
<file>/usr/src/linux/drivers/char/lp.c</file>
にあります。

<!--O
<sect1>The parport device (kernels &gt= 2.1.33)
-->
<sect1>parport デバイス (kernel 2.1.33 以降)
<p>
<!--O
Beginning with kernel 2.1.33 (and available as a patch for kernel
2.0.30), the lp device is merely a client of the new parport device.
The addition of the parport device corrects a number of the problems
that plague the old lp device driver - it can share the port with
other drivers, it dynamically assigns available parallel ports to
device numbers rather than enforcing a fixed correspondence between
I/O addresses and port numbers, and so forth.
-->
カーネル 2.1.33 から (カーネル 2.0.30 用のパッチもありますが)、
lp デバイスは新たに導入された parport デバイスの単なるクライアントに
なりました。 parport デバイスが追加されたことによって、
以前の lp デバイスドライバにあった多くの問題が是正されました。
lp が他のドライバとポートを共有できるようになりましたし、
利用できるパラレルポートをデバイス番号に動的に割り当てることも
可能になりました (以前は I/O アドレスとポート番号の関係は
固定されていました)。
<p>
<!--O
The advent of the parport device has enabled a whole flock of new
parallel-port drivers for things like Zip drives, Backpack CD-ROMs and
disks, and so forth.  Some of these are also available in versions for
2.0 kernels; look around on the web.
-->
parport デバイスの登場によって、 Zip ドライブや Backpack CD-ROM,
ディスクなど、新たなパラレルポートデバイスが何でも利用できるように
なりました。これらのうちのいくつかは 2.0 カーネルでもバージョンに
よっては利用できます。 web を捜し回ってみてください。
<p>
<!--O
The main difference that you will notice, so far as printing goes, is
that parport-based kernels dynamically assign lp devices to parallel
ports.  So what was lp1 under Linux 2.0 may well be lp0 under Linux
2.2.  Be sure to check this if you upgrade from an lp-driver kernel to
a parport-driver kernel.
-->
お気づきになると思いますが、印刷に関連する主な違いは、
parport ベースのカーネルでは lp デバイスがパラレルポートに
動的に割り当てられる、と言うことです。
ですから Linux 2.0 で lp1 だったポートが
Linux 2.2 では lp0 になるかもしれません。
lp ドライバのカーネルから parport ドライバのカーネルに
アップグレードするときは、この点のチェックを忘れないようにしてください。
<p>
<!--O
The most popular problems with this device seems to stem from
misconfiguration:
-->

このデバイスについて一番ありがちな問題は、
設定のミスから起こるようです:

<descrip>

<!--O
 <tag/The Distribution/Some Linux distributions don't ship with a
 properly setup /etc/modules.conf (or /etc/conf.modules), so the
 driver isn't loaded properly when you need it to be.  With a recent
 modutils, the proper magical lines from modules.conf seem to be:
-->

<tag>ディストリビューション</tag>
Linux ディストリビューションのなかには、
きちんと設定された <file>/etc/modules.conf</file>
(ないしは <file>/etc/conf.modules</file>) が入っていないため、
ドライバが、必要となる場面で、ちゃんと読み込まれないようなものがあります。
<file/modules.conf/ の正しい `魔法の' 設定行は、
最近の modutils ではこんなふうになります:

 <verb>
  alias           /dev/printers   lp
  alias           /dev/lp*        lp
  alias parport_lowlevel parport_pc
 </verb>

<!--O
 <tag/The BIOS/Many PC BIOSes will make the parallel port into a
 Plug-and-Play device.  This just adds needless complexity to a
 perfectly simple device that is nearly always present; turn off the
 PnP setting for your parallel prot ("LPT1" in many BIOSes) if your
 parallel port isn't detected by the Linux driver.  The correct
 setting is often called "legacy", "ISA", or "0x378", but probably not
 "disabled".
-->

<tag/BIOS/
パラレルポートを Plug and Play にしようとする PC の BIOS はいっぱいあります。
でもこれは、「いつだってそこにある」完璧に単純なデバイスに、
無用な複雑さを植え付けるだけです。
Linux のドライバがパラレルポートを検出してくれない場合は、
パラレルポート (``LPT1'' となっている BIOS が多いです)
の Plug and Play 設定を切ってください。
正しい設定内容は、``legacy'' とか ``ISA'', ``0x378'' などです。
``disabled'' にしてしまうのは、おそらく間違いでしょう。
</descrip>
<p>
<!--O
You can also read the file <htmlurl
url="http://www.cyberelk.demon.co.uk/parport/parport.txt"
name="Documentation/parport.txt"> in your kernel sources, or look at
the <url url="http://www.cyberelk.demon.co.uk/parport.html"
name="parport web site">.
-->

カーネルソースの
<htmlurl
url="http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.2/parport.txt.html"
name="Documentation/parport.txt">
を読むか、
<url url="http://www.cyberelk.demon.co.uk/parport.html"
name="parport web site">
に目を通してみてください。

<!--O
<sect1>Serial devices
-->
<sect1>シリアルデバイス
<p>
<!--O
Serial devices are usually called something like <em>/dev/ttyS1</em>
under Linux.  The utility <tt><htmlurl
url="http://www.picante.com/~gtaylor/pht/man/stty.1.html"
name="stty"></tt> will allow you to interactively view or set the
settings for a serial port; <tt><htmlurl name="setserial"
url="http://www.picante.com/~gtaylor/pht/man/setserial.8.html"></tt>
will allow you to control a few extended attributes and configure IRQs
and I/O addresses for non-standard ports.  Further discussion of
serial ports under Linux may be found in the <url
url="http://metalab.unc.edu/mdw/HOWTO/Serial-HOWTO.html"
name="Serial-HOWTO">.
-->
Linux ではシリアルデバイスには <em>/dev/ttyS1</em>
のような名前がつきます。 <tt>stty</tt> ユーティリティを用いれば、
シリアルポートの設定をインタラクティブに閲覧・設定できます。
<tt>setserial</tt> を使うと、さらに高度な属性を制御でき、
標準的でないポートに対して IRQ や I/O アドレスを設定することも
できます。 Linux でのシリアルポートに対するより詳しい議論は
<url url="http://www.linux.or.jp/JF/JFdocs/Serial-HOWTO.html"
name="Serial-HOWTO"> にあるでしょう。
<p>
<!--O
When using a slow serial printer with flow control, you may find that
some of your print jobs get truncated.  This may be due to the serial
port, whose default behavior is to purge any untransmitted characters
from its buffer 30 seconds after the port device is closed.  The buffer
can hold up to 4096 characters, and if your printer uses flow control
and is slow enough that it can't accept all the data from the buffer
within 30 seconds after printing software has closed the serial port,
the tail end of the buffer's contents will be lost.  If the command
         <tt>cat file &gt; /dev/ttyS2</tt>
produces complete printouts for short files but truncated ones for
longer files, you may have this condition.
-->
<!--
fujiwara: 「フローコントロール」は勝手に「フロー制御」に統一させていた
だきました。
-->
遅いシリアルプリンタにフロー制御を使うと、
プリントジョブが捨てられてしまうことがあります。
これはおそらくシリアルポートのせいで、
デフォルトの動作では送信されなかった文字を、
ポートがクローズされた 30 秒後にバッファにから捨ててしまうからです。
バッファは 4096 文字まで保持できますが、
プリンタでフロー制御が使われており、
かつプリンタの速度が遅くて、印刷を行ったソフトウェアがポートを
クローズした後 30 秒の間にデータを受け切れない場合には、
バッファの内容の末尾の部分が失われることになります。
コマンド
<tscreen><verb>
cat file &gt; /dev/ttyS2
</verb></tscreen>
を行って、短いファイルなら完全にプリントアウトされ、
長いファイルでは尻切れになるようなら、
おそらくこの状況にあります。
<p>
<!--O
The 30 second interval can be adjusted through the "closing_wait"
commandline option of setserial (version 2.12 and later).  A machine's
serial ports are usually initialized by a call to setserial in the
rc.serial boot file.  The call for the printing serial port can be
modified to set the closing_wait at the same time as it sets that
port's other parameters.
-->
30 秒のインターバルは setserial (バージョン 2.12 以降) の
"closing_wait" コマンドラインオプションによって調整できます。
通常マシンのシリアルポートは rc.serial というブートファイルから
setserial を呼び出すことによって初期化されています。
問題になっている印刷用シリアルポートへのこの setserial の
実行を修正して、そのポートへの他のパラメータの設定と同時に
closing_wait も設定するようにすれば良いでしょう。

<!-- kade@kadesoft.com ここから! -->

<!--O 4章
<sect>Supported Printers
-->
<sect>サポートされているプリンタ
<p>
<!--
The Linux kernel mostly supports any printer that you can plug into a
serial or parallel port, but there are things to look out for, and
printers that you won't be able to use, even though they can
(electrically speaking) communicate with Linux.  Primary among these
incompatible printers are those referred to as "Windows" or "GDI"
printers.  They are called this because part or all of the printer
control language and the design details of the printing mechanism are
not documented.  Typically the vendor will provide a Windows driver
and happily sell only to Windows users; this is why they are called
Winprinters.  In some cases the vendor also provides drivers for NT,
OS/2, or other operating systems.
-->
Linux のカーネル自体はシリアルかパラレルのコネクタに接続できる
ほとんど全てのプリンタをサポートしています。
しかし (電気信号的には) Linux と会話ができるにも関わらず、
利用することができないプリンタがあることに注意しないといけません。
こういった互換性の無いプリンタは、一般的に ``Windows'' プリンタや 
``GDI'' プリンタと呼ばれているものです。
こう呼ばれるのは、プリンタの制御言語の一部または全て、そして
印刷の仕組みについての詳細な仕様がドキュメント化されていないためです。
通常こういったプリンタの販売者は、 Windows 用のドライバを供給し
Windows ユーザのみに向けて販売して満足しています。
これがこの種のプリンタが Windows 専用プリンタ と呼ばれる理由です。
場合によっては販売者が NT 用、OS/2 用、その他 OS 用のドライバを
供給することもあります。
<p>
<!--
Many of these printers <em>do not work</em> with Linux.  A few of them
do, and some of them only work a little bit (usually because someone
has reverse engineered the details needed to write a driver).  See the
printer support list below for details on specific printers.
-->
これらのプリンタの多くは Linux 上では<em>動作しません</em>。
動くものはわずかで、いくつかは少しだけしか動きません (通常は誰かが
プリンタにデータを送る方法を解読したおかげです)。
個々のプリンタについての詳細は後述するプリンタサポートリストを
参照してください。

<p>
<!--
A few printers are in-between.  Some of NEC's models, for example,
implement a simple form of the standard printer language PCL that
allows PCL-speaking software to print at up to 300dpi, but only NEC
knows how to get the full 600dpi out of these printers.
-->
この中間に位置するプリンタもいくつかあります。
例えば NEC のいくつかのモデルには
シンプルな標準的プリンタ言語である PCL が組み込まれているため、
PCL を話せるソフトウェアからは 300dpi で印刷することができますが、
600dpi の最大解像度で印刷する方法は NEC しか知りません。
<p>
<!--
Note that if you already have one of these Winprinters, there are
roundabout ways to get Linux to print to one, but they're rather
awkward and I've never tried it myself.  See Section 12 of this
document for more discussion of Windows-only printers.
-->
もし既にこういった Windows 専用プリンタをお持ちの場合でも、
Linux から印刷する手段が無いわけではありません。
でもそれらは洗練されているとはいいがたく、
私自身は試したこともありません。Windows 専用プリンタについては、
第 12 章でもっと詳しく述べているのを参照してください。

<!--
<sect1>Postscript
-->
<!-- kade: Postscript/ghostscriptという表記が現れますが、
PostScript/Ghostscript が正しそうなので統一しました。
-->
<sect1>PostScript
<p>
<!--
As for what printers <em>do</em> work with Linux, the best choice is
to buy a printer with native PostScript support.  Nearly all Unix
software that produces printable output produces it in PostScript, so
obviously it'd be nice to get a printer that supports PostScript
directly.  Unfortunately, PostScript support is scarce outside the
laser printer domain, and is sometimes a costly add-on.
-->
Linux で<em>動作する</em>プリンタは数々ありますが、
一番良い選択は PostScript を標準でサポートしているプリンタを買うことです。
印刷が可能である Unix のソフトウェアのほとんど全ては
PostScript 形式で印刷データを出力するため、当然 PostScript
を直接サポートしているプリンタを使うのが望ましいわけです。
残念なことに、通常 PostScript はレーザープリンタ以外では
装備されておらず、また高価なオプションであることがしばしばです。
<p>
<!--
Unix software, and the publishing industry in general, have
standardized upon Postscript as the printer control language of
choice.  This happened for several reasons:
-->
Unix のソフトウェア、そして出版業界では、
一般的にプリンタ制御言語としては PostScript が標準となっています。
これにはいくつかの理由があります -
<descrip>
<!--
 <tag/Timing/Postscript arrived as part of the Apple Laserwriter,
   a perfect companion to the Macintosh, the system largely
   responsible for the desktop publishing revolution of the 80s.
-->
<tag/タイミング/PostScript は、80年代のデスクトップ出版革命に
大いに寄与した Macintosh とその完璧な相棒である Apple LaserWriter
で組まれたシステムの一部として世に現れました。

<!--
 <tag/It's device-independant/Postscript programs can be run to
   generate output on a pixel screen, a vector screen, a fax machine,
   or almost any sort of printer mechanism, without the original
   program needing to be changed.  Postscript output will look the
   same on any Postscript device, at least within the limits 
   of the device's capabilities.  Before the creation of PDF, people
   exchanged complex documents online as Postscript files.  The only
   reason this standard didn't "stick" was because Windows machines
   didn't usually include a Postscript previewer, so Adobe specified
   hyperlinks and compression for Postscript, called the result PDF,
   distributed previewers for it, and invented a market for their
   "distiller" tools (the functionality of which is also provided by
   ghostscript's ps2pdf and pdf2ps programs).
-->
 <tag/デバイスへの非依存性/PostScript プログラムは、
そのプログラムを変更することなしに、ピクセルスクリーン、
ベクタースクリーン、ファックス装置、
その他ほとんど全ての種類の印刷装置に出力することができます。
PostScript の出力は、いかなる PostScript 装置を使っても、
その装置の性能の範囲内で同じように表示されます。
PDF の出現以前は、複雑なドキュメントをオンラインで交換するには
PostScript が使われていました。この標準が "継続"
しなかったのは、通常 "Windows" マシンには PostScript
のプレピューアが付いていなかったのが唯一の理由です。
そのため Adobe は PostScript にハイパーリンクと圧縮機能を付け加え、
これを PDF と名付け、そのプレビューアを配布し、
"PDF蒸留" ツールの市場を生み出しました (この PDF 操作には
Ghostscript の ps2pdf と pdf2ps プログラムも使用できます)。

<!--
 <tag/It's a real programming language/Postscript is a complete
   programming language; you can write software to do most anything in
   it.  This is mostly useful for defining subroutines at the start of
   your program to reproduce complex things over and over throughout
   your document, like a logo or a big "DRAFT" in the background.
-->
 <tag/真のプログラミング言語/PostScript は完全な
プログラミング言語です。ほとんど全てのことを行なえるソフトウェアを
記述することができます。これは、ドキュメント中に何度も何度も
現れる複雑なもの、ロゴや背景の大きな "下書き" マークのようなものを
プログラムの冒頭でサブルーチンとして定義する際に特に有用となります。

<!--
 <tag/It's open/Postscript is fully specified in a publically
   available series of books (which you can find at any good
   bookstore).  Although Adobe invented it and provides the
   dominant commercial implementation, other vendors like Aladdin
   produce independantly coded implementations as well.
-->
 <tag/オープンな仕様/PostScript は一般に入手可能である様々な
書籍(大きな書店で見つかるでしょう)によって仕様が公開されています。
Adobe が発明し、商業的な市場を支配する実装を供給していますが、
Aladdin のような他のベンダによって独自に開発された実装も存在します。
</descrip>


<!--
<sect1>Non-Postscript
-->
<sect1>非 PostScript
<p>
<!--
Failing the (larger) budget necessary to buy a Postscript printer, you
can use any printer supported by Ghostscript, the free Postscript
interpreter used in lieu of actual printer Postscript support.  The
<url url="http://www.cs.wisc.edu/~ghost/" name="Ghostscript Home
Page"> has a list of supported printers and information on the status
of new and experimental drivers.  Note that this page lists supported
printers in the latest version of Ghostscript, while most Linux
distributions can only ship a somewhat outdated version of Ghostscript
due to the license.  Fortunately, there is usually a prepackaged up to
date Ghostscript made available in each distribution's contrib area.
Please help improve the Ghostscript printer support page by reporting
your successes and failures as it asks.
-->
(より高額な) PostScript プリンタを購入する
費用が捻出できなかったとしても、本物の PostScript
プリンタの代わりとして利用できるフリーな PostScript の
インタプリタである Ghostscript がサポートしているプリンタなら
どれでも使用することができます。
<url url="http://www.cs.wisc.edu/~ghost/" name="Ghostscript Home
Page"> にサポートされているプリンタと最新および開発中の
ドライバについての情報と現状のリストがあります。
これは最新版の Ghostscript がサポートしているプリンタの一覧で、
ほとんどの Linux ディストリビューションに含まれる Ghostscript は、
ライセンスの都合上からどうしても多少古い版となってしまう
ということに注意してください。
幸いなことに、たいていの場合はパッケージ済の新しい Ghostscript
を各ディストリビューションの contrib エリアから
入手することができるでしょう。
Ghostscript サポートページを充実させるために、
あなたのプリンタがうまく動いたか、または動かなかったかを
質問に沿ってレポートしてくださることをお願いします。
<p> 
<!--
Adobe now has a new printer language called "PrintGear".  I think
it's a greatly simplified binary format language with some Postscript
heritage but no Postscript compatibility.  And I haven't heard of
Ghostscript supporting it.  But some PrintGear printers seem to
support another language like PCL, and these printers will work with
Linux (iff the PCL is implemented in the printer and not in a Windows
driver).
-->
Adobe は "PrintGear" と呼ばれる新しいプリンタ言語を作りました。
これは多少 PostScript の流れを汲みますが、PostScript との互換性は
無い非常に単純化されたバイナリフォーマットの言語のようです。
そして Ghostscript がこれをサポートするという話は
聞いたことがありません。
けれどもいくつかの PrintGear プリンタは、PCLのような他の言語も
サポートするようで、これらのプリンタは(もし PCL が組み込まれるのが
プリンタ自体であって Windows のドライバ内でなければ)、Linux 上でも
動作するでしょう。
<!--
<sect1>What printers work?
-->
<sect1>どのプリンタが動くの?
<p>
<!--
If you want to buy a printer, you can look in several places to see if
it will work.  The cooperatively maintained Printing HOWTO printer
<url url="http://www.picante.com/~gtaylor/pht/printer_list.cgi"
name="database"> aims to be a comprehensive listing of the state of
Linux printer support.  A summary of it is below; be sure to check
online for more details and information on what driver to use.
-->
もしもあるプリンタを買いたいのなら、それが動くかをいくつかの場所で
調べることができます。共同して更新されている Printing HOWTO プリンタ
<url url="http://www.picante.com/~gtaylor/pht/printer_list.cgi"
name="データベース"> は、Linux のプリンタサポートに関しての
総合的な一覧となることを目的としています。
その要約を以下に示します。
詳細情報とどのドライバを使用するかの情報を必ずオンラインで
チェックするようにしてください。

<!-- kade こんな感じですか? -->
<P>
※はねさんの
<url url="http://www.flatout.org/~wing/Linux/Hardware/"
name="ハードウェア実績リスト"> も御覧ください。

<p>
<!--
Ghostscript's <url url="http://www.cs.wisc.edu/~ghost/printer.html"
name="printer compatibility page"> has a list of some working
printers, as well as links to other pages.  And Dejanews contains
hundreds of "it works" and "it doesn't work" testimonials.  Try all
three, and when you're done, check that your printer is present and
correct in the <url
url="http://www.picante.com/~gtaylor/pht/printer_list.cgi"
name="database">, so that it will be listed properly in this document
in the future.
-->
Ghostscript の <url url="http://www.cs.wisc.edu/~ghost/printer.html"
name="プリンタの互換性のページ"> には動作するプリンタの一覧と、
他のページへのリンクがあります。そして
<url url="http://www.deja.com/" name="Dejanews">
には "動く" と "動かない" の証言が何百もあります。この三つ全てを試して
みましょう、それが終わったら、
<url url="http://www.picante.com/~gtaylor/pht/printer_list.cgi"
name="データベース"> にそのプリンタが存在するかを確認し訂正して、
このドキュメントに将来は正しく掲載されるようにしましょう。

<!--
<sect2>Printer compatibility list
-->
<sect2>プリンタの互換性リスト
<p>
<!--
This section is a summary of the online version.  The online version
includes basic specifications, notes, links to driver information,
user-maintained documentation, manufacturer web pages, and so forth.
The online version of this list is also interactive; people can and do
add printers all the time, so be sure to check it as well.  Finally,
if your printer isn't listed, add it!
-->
本セクションはオンライン版の要約です。
オンライン版には基本的な仕様、注意、ドライバ情報へのリンク、
ユーザによるドキュメント、製造者へのリンク、等々が含まれています。
このオンライン版のリストはまた対話的でもあります。
利用者はいつでもプリンタを追加でき、実際常に追加されていますので、
チェックを怠らないようにしてください。
 最後に、もしお使いのプリンタが掲載されていなかった場合はぜひ追加を!
<p>
<!--
Printers here are categorized into three types:
-->
ここではプリンタを三種類に区分しています。
<descrip>
<!--
<tag/Perfectly/Perfect printers work perfectly - you can print to the
  full ability of the printer, including color, full resolution, etc.
  In a few cases printers with undocumented "resolution enhancement"
  modes that don't work are listed as perfect; generally the difference
  in print quality is small enough that it isn't worth worrying about.
-->
<tag/完璧/完璧なプリンタは完璧に動作します - 
カラー、最高の解像度、その他を含め、プリンタの能力を完全に利用して
印刷ができます。
ドキュメント化されていない "拡張された解像度" が動作しない
プリンタが "完璧" としてリストされているケースもまれにありますが、
通常は印刷品質の違いは非常に小さいので気にすることはないでしょう。
<!--
<tag/Mostly/You can print fine, but there may be minor limitations or
  one sort or another in either printing or other features.
-->
<tag/大体/きれいに印刷できますが、印刷やその他の機能に
いくつかの制限があるでしょう。
<!--
<tag/Partially/You can print, but maybe not in color, or only at
  a poor resolution.  See the online listing's notes column for
  information on the limitation.
-->
<tag/一部のみ/印刷はできます、ただしカラーじゃないか、
または低解像度のみでですが。これらの制限についての情報は、
オンライン版の注意コーナーを参照してください。
<!--
<tag/Paperweight/You can't print a darned thing; typically this will
  be due to lack of a driver and/or documentation on how to write one.
-->
<!-- kade: もちろん原文は文鎮ですが、日本人にはでかい&重過ぎなので
より雰囲気が出るモノにしました -->
<tag/置き物/
このくそったれでは印刷できません。
通常は、ドライバが無い、そして/または、
ドライバを書くためのドキュメントが無いことが原因です。
</descrip>
<!--
In all cases, since this information is provided by dozens of people,
none of it is guaranteed to be correct.  It should, however, be easy
to corroborate from the driver web pages and manufacturer web sites.
-->
全てのケースにおいて、
この情報は多数の人間によって提供されたものであるため、
正確であると保証されたものは全くありません。
もっとも、ドライバのウェブページと製造者のウェブサイトで
確認することは簡単でしょうが。
<!--
<p>And without further ado, here is the printer compatibility list:
-->
<p>能書きはこのくらいにして、これがプリンタの互換性リストです - 
<!-- kade: メーカ名はあえて訳しません -->
<descrip>
 <tag/Apple/
  <descrip>
<!--O
   <tag/Perfectly/LaserWriter 16/600,
-->
   <tag/完璧/LaserWriter 16/600,
<!--O
       LaserWriter IINTX,
-->
       LaserWriter II NTX,  <!-- morimoto: どうみても typo だ -->
       LaserWriter Select 360.
<!--O
   <tag/Mostly/12/640ps.
-->
   <tag/大体/12/640ps.
<!--O
   <tag/Paperweight/StyleWriter 2500.
-->
   <tag/置き物/StyleWriter 2500.
  </descrip>
 <tag/Avery/
  <descrip>
<!--O
   <tag/Perfectly/Personal Label Printer+.
-->
   <tag/完璧/Personal Label Printer+.
<!--O
   <tag/Mostly/Personal Label Printer.
-->
   <tag/大体/Personal Label Printer.
  </descrip>
 <tag/Brother/
  <descrip>
<!--
   <tag/Perfectly/HL-10V,
-->
   <tag/完璧/HL-1070,
       HL-10V,
       HL-10h,
       HL-1260,
       HL-2060,
       HL-4Ve,
       HL-630,
       HL-730,
       HL-760,
       HL-8.

<!--
   <tag/Mostly/HJ-400,
-->
   <tag/大体/HJ-400,
       HL-1040,
       HL-1050,
       HL-1060,
       HL-1250,
       MFC 6550MC.
   <tag/一部のみ/MC-3000,
       MFC 7150C.
   <tag/置き物/HL-820.


  </descrip>
 <tag/Canon/
  <descrip>
<!--
   <tag/Perfectly/BJ-10e,
-->
   <tag/完璧/BJ-10e,
       BJ-20,
       BJ-200,
       BJ-330,
       BJ-5,
       BJC-210,
       BJC-250,
       BJC-4000,
       BJC-4100,
       BJC-4200,
       BJC-4300,
       BJC-4400,
       BJC-600,
       BJC-6000,
       BJC-610,
       BJC-620,
       BJC-70,
       BJC-800,
       LBP-1260,
       LBP-1760,
       LBP-4+,
       LBP-4U,
       LBP-8A1,
       LBP-8II,
       LIPS-III.
<!--
   <tag/Mostly/BJ-300,
-->
   <tag/大体/BJ-300,
       BJC-1000,
       BJC-2000,
       BJC-240,
       BJC-4310SP,
       BJC-7004,
       BJC-80,
       LBP-4sx.
<!--
   <tag/Partially/BJC-4550,
-->
   <tag/一部のみ/BJC-4550,
       BJC-7000,
       BJC-7100,
       MultiPASS C2500,
       MultiPASS C3500,
       MultiPASS C5000,
       Multipass C3000,
       Multipass C5500.
<!--
   <tag/Paperweight/BJC-5000,
-->
   <tag/置き物/BJC-5000,
       LBP-460,
       LBP-660,
       Multipass L6000.
  </descrip>
 <tag/Citizen/
  <descrip>
<!--O
   <tag/Perfectly/ProJet II,
-->
   <tag/完璧/ProJet II,
       ProJet IIc.
<!--O
   <tag/Partially/printiva600C.
-->
   <tag/一部のみ/printiva600C.
  </descrip>
 <tag/DEC/
  <descrip>
<!--O
   <tag/Perfectly/DECWriter 500i,
-->
   <tag/完璧/DECWriter 500i,
       DECwriter 110i,
       DECwriter 520ic,
       LN03.
<!--O
   <tag/Partially/1800.
-->
   <tag/一部のみ/1800.
  </descrip>
 <tag/Dymo-CoStar/
  <descrip>
<!--O
   <tag/Perfectly/ASCII 250,
-->
   <tag/完璧/ASCII 250,
       ASCII+,
       EL40,
       EL60,
       LabelWriter II,
       LabelWriter XL,
       LabelWriter XL+,
       SE250,
       SE250+,
       Turbo.
  </descrip>
 <tag/Epson/
  <descrip>
<!--
   <tag/Perfectly/ActionLaser 1100,
-->
   <tag/完璧/ActionLaser 1100,
       LP 8000,
       LQ 850,
       SQ 1170,
       Stylus Color,
       Stylus Color 400,
       Stylus Color 440,
       Stylus Color 640,
       Stylus Color 800,
       Stylus Color 850,
       Stylus Color II,
       Stylus Color IIs,
       Stylus Pro XL.
<!--O
   <tag/Mostly/EPL 5700,
-->
   <tag/大体/EPL 5700,
       Stylus 300,
       Stylus Color 3000,
       Stylus Color 500,
       Stylus Color 740.
<!--O
   <tag/Partially/Stylus Color 300,
-->
   <tag/一部のみ/Stylus Color 300,
       Stylus Color 900,
       Stylus Photo 700,
       Stylus Photo 750,
       Stylus Photo EX.
  </descrip>
 <tag/Fujitsu/
  <descrip>
<!--O
   <tag/Perfect/PrintPartner 10V,
-->
   <tag/完璧/PrintPartner 10V,
       PrintPartner 16DV,
       PrintPartner 20W,
       PrintPartner 8000.
  </descrip>
 <tag/HP/
  <descrip>
<!--
   <tag/Perfectly/2000C,
-->
   <tag/完璧/2000C,
       2500C,
       Color LaserJet 4500,
       DeskJet 1200C,
       DeskJet 1200C/PS,
       DeskJet 1600C,
       DeskJet 1600Cm,
       DeskJet 310,
       DeskJet 400,
       DeskJet 420C,
       DeskJet 500,
       DeskJet 500C,
       DeskJet 510,
       DeskJet 520,
       DeskJet 540,
       DeskJet 550C,
       DeskJet 600,
       DeskJet 610C,
       DeskJet 610CL,
       DeskJet 612C,
       DeskJet 660C,
       DeskJet 670C,
       DeskJet 672C,
       DeskJet 682C,
       DeskJet 690C,
       DeskJet 694C,
       DeskJet 697C,
       DeskJet 810C,
       DeskJet 812C,
       DeskJet 850C,
       DeskJet 855C,
       DeskJet 882C,
       DeskJet 890C,
       DeskJet 970Cxi,
       LaserJet 1100,
       LaserJet 1100A,
       LaserJet 2 w/PS,
       LaserJet 2100M,
       LaserJet 2P,
       LaserJet 3,
       LaserJet 3P w/PS,
       LaserJet 4,
       LaserJet 4 Plus,
       LaserJet 4050N,
       LaserJet 4L,
       LaserJet 4M,
       LaserJet 4P,
       LaserJet 5,
       LaserJet 5000,
       LaserJet 5L,
       LaserJet 5M,
       LaserJet 5MP,
       LaserJet 5P,
       LaserJet 6L,
       LaserJet 6MP,
       LaserJet 6P,
       LaserJet 8000,
       LaserJet 8100,
       Mopier 320,
       PaintJet XL300.
<!--
   <tag/Mostly/DesignJet 650C,
-->
   <tag/大体/DesignJet 650C.
       Designjet 750 C Plus,
       DeskJet 1120C,
       DeskJet 870C,
       DeskJet 880C,
       DeskJet 895C,
       DeskJet 895Cxi,
       DeskJet 970Cse,
       LaserJet 2,
       LaserJet 2100.
<!--
   <tag/Partially/DeskJet 1000C,
-->
   <tag/一部のみ/DeskJet 1000C,
       DeskJet 710C,
       DeskJet 712C,
       DeskJet 720C,
       DeskJet 722C,
       DeskJet 820C,
       OfficeJet 500,
       OfficeJet 600,
       OfficeJet 625,
       OfficeJet Pro 1150C.
<!--
   <tag/Paperweight/LaserJet 3100.
-->
   <tag/置き物/LaserJet 3100.
  </descrip>
 <tag/IBM/
  <descrip>
<!--O
   <tag/Perfectly/4019,
-->
   <tag/完璧/4019,
       4029 10P,
       4303 Network Color Printer,
       Page Printer 3112,
       ProPrinterII.
  </descrip>
 <tag/Kyocera/
  <descrip>
<!--O
   <tag/Perfectly/F-3300,
-->
   <tag/完璧/F-3300,
       FS-1700+,
       FS-600,
       FS-800,
       P-2000.
<!--O
   <tag/Mostly/FS-3500.
-->
   <tag/大体/FS-3500.
  </descrip>
 <tag/Lexmark/
  <descrip>
<!--O
   <tag/Perfectly/Optra Color 1200,
-->
   <tag/完璧/Optra Color 1200,
       Optra Color 1200,
       Optra Color 1275,
       Optra Color 40,
       Optra Color 45,
       Optra E,
       Optra E+,
       Optra E310,
       Optra Ep,
       Optra K 1220,
       Optra R+,
       Optra S 1250,
       Optra S 1855,
       Valuewriter 300.
<!--O
   <tag/Mostly/1000,
-->
   <tag/大体/1000,
       1100,
       2070,
       5000,
       5700,
       7000,
       7200.
<!--O
   <tag/一部のみ/1020 Business,
-->
   <tag/Partially/1020 Business,
       2030,
       Winwriter 400,
       Z51.
<!--O
   <tag/Paperweight/1020,
-->
   <tag/置き物/1020,
       2050,
       3000,
       3200,
       Winwriter 100,
       Winwriter 150c,
       Winwriter 200,
       Z11.
  </descrip>
 <tag/Minolta/
  <descrip>
<!--
   <tag/Perfectly/PagePro 6,
-->
   <tag/完璧/PagePro 6,
       PagePro 6e,
       PagePro 6ex,
       PagePro 8.
<!--O
   <tag/Partially/PagePro 8L.
-->
   <tag/一部のみ/PagePro 8L.
  </descrip>
 <tag/NEC/
  <descrip>
<!--
   <tag/Perfectly/P2X,
-->
   <tag/完璧/P2X,
       SilentWriter LC 890,
       Silentwriter2 model 290,
       SuperScript 660i.
<!--
   <tag/Partially/SuperScript 100C,
-->
   <tag/一部のみ/SuperScript 100C,
       SuperScript 1260,
       SuperScript 150C,
       SuperScript 650C,
       SuperScript 750C,
       SuperScript 860,
       SuperScript 870.
<!--
   <tag/Paperweight/SuperScript 660plus,
-->
   <tag/置き物/SuperScript 660plus,
       SuperScript 660,
  </descrip>
 <tag/Oce/
  <descrip>
<!--O
   <tag/Perfectly/3165.
-->
   <tag/完璧/3165.
  </descrip>
 <tag/Okidata/
  <descrip>
<!--O
   <tag/Perfectly/8p,
-->
   <tag/完璧/8p,
       OL 410e,
       OL 600e,
       OL 610e/PS,
       OL 800,
       OL 810e/PS,
       OL400ex,
       OL810ex,
       OL830Plus,
       Okipage 10e,
       Okipage 12i,
       Okipage 20DXn,
       Okipage 6e,
       Okipage 6ex,
       Okipage 6w,
       Okipage 8c.
<!--O
   <tag/Mostly/OL 400w,
-->
   <tag/大体/OL 400w,
       Okipage 4w,
       Super 6e.
<!--O
   <tag/Partially/ML 192+,
-->
   <tag/一部のみ/ML 192+,
       OL 610e/S.
<!--O
   <tag/Paperweight/Okijet 2010,
-->
   <tag/置き物/Okijet 2010,
       Okijet 2500,
       Okipage 8w.
  </descrip>
 <tag/Olivetti/
  <descrip>
<!--
   <tag/Perfectly/JP350S,
-->
   <tag/完璧/JP350S,
       JP450,
       PG 306.
  </descrip>
 <tag/PCPI/
  <descrip>
<!--O
   <tag/Perfectly/1030.
-->
   <tag/完璧/1030.
  </descrip>
 <tag/Panasonic/
  <descrip>
<!--O
   <tag/Perfectly/KX-2135,
-->
   <tag/完璧/KX-2135,
       KX-P1123,
       KX-P1124,
       KX-P1150,
       KX-P2023,
       KX-P2150,
       KX-P4410,
       KX-P4450,
       KX-P5400,
       KX-P8420,
       KX-P8475.
<!--O
   <tag/Mostly/KX-P2123,
-->
   <tag/大体/KX-P2123,
       KX-P6150.
<!--
   <tag/Partially/KX-P6500.
-->
   <tag/一部のみ/KX-P6500.
<!--
   <tag/Paperweight/KX-P6100,
-->
   <tag/置き物/KX-P6100,
       KX-P6300 GDI,
       KX-P8410.
  </descrip>
 <tag/Printrex/
  <descrip>
<!--O
   <tag/Partially/820 DL.
-->
   <tag/一部のみ/820 DL.
  </descrip>
 <tag/QMS/
  <descrip>
<!--
   <tag/Perfectly/2425 Turbo EX.
-->
   <tag/完璧/2425 Turbo EX.
<!--O
   <tag/Mostly/ps-810.
-->
   <tag/大体/ps-810.
  </descrip>
 <tag/Ricoh/
  <descrip>
<!--
   <tag/Perfectly/4801,
-->
   <tag/完璧/4801,
       6000.

<!--O
   <tag/Paperweight/Aficio Color 2206,
-->
   <tag/置き物/Aficio Color 2206,
       Afico FX10.
  </descrip>
 <tag/Samsung/
  <descrip>
<!--O
   <tag/Perfectly/ML-5000a.
-->
   <tag/完璧/ML-5000a.
<!--O
   <tag/Paperweight/ML-85G.
-->
   <tag/置き物/ML-85G.
  </descrip>
 <tag/Seiko/
  <descrip>
<!--O
   <tag/Perfectly/SpeedJET 200.
-->
   <tag/完璧/SpeedJET 200.
<!--O
   <tag/Mostly/SLP,
-->
   <tag/大体/SLP,
       SLP 120,
       SLP 220,
       SLP EZ30,
       SLP Plus,
       SLP Pro.
  </descrip>
 <tag/Sharp/
  <descrip>
<!--O
   <tag/Perfectly/AR-161.
-->
   <tag/完璧/AR-161.
  </descrip>
 <tag/Star/
  <descrip>
<!--O
   <tag/Perfectly/NL-10.
-->
   <tag/完璧/NL-10.
<!--O
   <tag/Mostly/LC 90,
-->
   <tag/大体/LC 90,
       LC24-200.
<!--O
   <tag/Paperweight物/WinType 4000.
-->
   <tag/置き物/WinType 4000.
  </descrip>
 <tag/Tally/
  <descrip>
<!--O
   <tag/Perfectly/MT908.
-->
   <tag/完璧/MT908.
  </descrip>
 <tag/Tektronix/
  <descrip>
<!--O
   <tag/Perfectly/4696,
-->
   <tag/完璧/4696,
       4697,
       Phaser 780,
       Phaser IISX,
       Phaser PX.
  </descrip>
 <tag/Xerox/
  <descrip>
<!--
   <tag/Perfectly/DocuPrint 4508,
-->
   <tag/完璧/DocuPrint 4508,
       DocuPrint C55,
       DocuPrint N17,
       DocuPrint N32.
<!--O
   <tag/Mostly/DocuPrint P12,
-->
   <tag/大体/DocuPrint P12,
       DocuPrint P8e,
       Document Homecentre,
       XJ6C.
<!--O
   <tag/Partially/WorkCentre 450cp,
-->
   <tag/一部のみ/WorkCentre 450cp,
       XJ8C.
<!--O
   <tag/Paperweight/DocuPrint P8,
-->
   <tag/置き物/DocuPrint P8,
       WorkCentre XD120f.
  </descrip>
</descrip>

<!-- kade: 訳注はどうするのかな? -->
(訳注:本リストに記載されたメーカおよび型番は、
一般に米国国内で販売されているものです。
日本国内で販売されている物は、型番が似ていても搭載された
プログラムやフォントが異なるために本リストと動作が変わる
可能性があります)

<!-- kade@kadesoft.com ここまで! -->

<!--O
<sect1>How to buy a printer
-->
<sect1>プリンタの買い方
<p>
<!--O
It's a bit dificult to select a printer these days; there are many
models to choose from.  Here are some tips:
-->

最近は、プリンタ選びもずいぶん難しくなってきています。
山のように機種があります。選ぶときのコツをいくつか:

<descrip>

<!--O
 <tag/Cost/You get what you pay for.  Most printers under $200 will
  print reasonably well, but printing costs a lot per page.  For some
  printers, it only takes one or two cartridges to add up to the cost
  of a new printer!  Similarly, the cheapest printers won't last very
  long.  The least expensive printers, for example, have a MTBF of
  about three months!
-->

<tag/コスト/
出した値段に見合ったものが手にはいるのは何についても同じことです。
200 ドル以下のプリンタでも十分きれいに印刷できるものがほとんどですが、
1 ページ印刷するごとのコストはかかります。
カートリッジの 1 個か 2 個が、
新品のプリンタ本体の値段に匹敵してしまうような機種もあります!
また、これも同じような話ですが、劇安のプリンタはそんなに長くは持ちません。
例えば、もっとも安いプリンタの MTBF は 3 ヶ月程度だったりします!

(訳注: MTBF は Mean Time Between Failures の略, 平均故障間隔)

<!--O
 <tag/Inkjets/Inkjet printheads will clog irreparably over time, so
  the ability to replace the head somehow is a feature.  Inkjet
  printheads are expensive, so the ability to replace the head only
  when needed is a feature.  Epson Styluses tend to have fixed heads,
  and HP DeskJets tend to have heads integrated into the cartridges.
  Canons have three-part cartridges with independantly replaceable ink
  tanks; I like this design.  OTOH, the HP cartridges aren't
  enormously more expensive, and HP makes a better overall line; Canon
  is often the third choice from the print quality standpoint.  You
  can't win.
-->

<tag/インクジェット/インクジェットのプリンタヘッドは
時間が経つと詰まって使えなくなるものなので、
なんらかの方法でヘッドを交換できることが機能の一つです。
また、インクジェットのプリンタヘッドは高価なので、
必要なときだけヘッドを交換できるということも機能に入ります。
Epson の Stylus シリーズは固定式ヘッドを持つものが多く、
HP の DeskJet シリーズのヘッドのカートリッジと統合されているようです。
Canon のカートリッジは 3 つの部分に分かれていて、
インクのタンクだけを独立して交換できます。私はこの設計、気に入ってます。
一方、HP のカートリッジはそう無茶苦茶に高いわけでもないし、
より良い製品ラインを揃えています。
印刷品質という観点からは、Canon はしばしば選択肢の三番手どまりだったりします。
ま、こんなもんですね。

<!-- morimoto: You can't win.
  = あなたはどうやってもうまくはいかない
  → どれをとっても同じ
  → ま、そんなもんっすよ
-->

<!--O
 <tag/Lasers/Laser printers consume a drum and toner.  The cheapest
  designs include toner and drum together in a big cartridge; these
  designs cost the most to run.  The best designs for large volume
  take plain toner powder or at least separate toner cartridges and
  drums.
-->

<tag/レーザープリンタ/
レーザープリンタはドラムとトナーを消費します。
一番安い設計のものは、トナーとドラムを大きなカートリッジの中に一緒に納め、
性能よりもコストを重視したデザインとなっています。
大量印刷向けの良い製品はトナー粉そのままを使うようになっていたり、
ないしは少なくともトナー・カートリッジとドラムを分離させた設計になっています。

<!--O
 <tag/Photography/The best color photograph output is from continuous
  tone printers like the Tektronix Phasers (waxy dye) or the Alps
  series (some sort of dry ink process).  A few of the Alps units are
  actually affordable, but they don't work with Linux yet (IIRC they
  are documented).  The more common photo-specialized inkjets usually
  feature 6 color CMYKcm printing or even a 7 color CMYKcmy process;
  only models with Postscript support work with Linux, since
  Ghostscript doesn't seem to support these color models.  Good CMYK
  output is nothing to sneeze at, though.  All photo-specialized
  printers are expensive to run; either you always run out of blue and
  have to replace the whole cartridge, or the individual color refills
  for your high-end photo printer cost an arm and a leg.
-->

<!--
  IIRC = Common abbreviation for "If I Recall Correctly"
  http://www.phil.uni-erlangen.de/tree/jargon/html/I/IIRC.html
-->

<tag/写真/最高の写真印刷出力を求めるなら、
Tektronix Phasers (粘性の高いインクのもの)
<!-- TODO: waxy dye ってなに? -->
のような連続トーンのプリンタか、
<!-- TODO: continuous tone ってなに? -->
Alps シリーズ (ドライ・インク・プロセスの類) です。
Alps プリンタの中には実際に手頃な値段のものも少しあるのですが、
まだ Linux では動きません
(私の記憶が確かならば、そう書いてあったはず).
より一般的な、写真に特化したインクジェット・プリンタは
6 色の CMYKcm 印刷や、時には 7 色の CMYKcmy プロセスさえも備えていますが、
Linux で動くのは PostScript のサポートがあるモデルだけです。
Ghostscript が、これらのカラーモデルをサポートしていないのが原因です。
とはいえ、CMYK でも、うまく出力すれば、なかなか馬鹿にはできないものです。
写真に特化したプリンタは、みな運用に高コストがかかります。
使い果たすのはいつも青インクなのに
カートリッジ全体を交換しないといけなかったり、
ハイ・エンドな写真プリンターで特定の色を補充するのには
腕力が必要だったりします。

<!--O
 <tag/Speed/Speed is proportional to processing power, bandwidth, and
  generally printer cost.  The fastest printers will be networked
  postscript printers with powerful internal processors.
  Consumer-grade printers will depend partly on Ghostscript's
  rendering speed, which you can affect slightly by having a
  reasonably well-powered machine; full pages of color, in particular,
  can consume large amounts of host memory.
-->

<tag/スピード/
速度は処理能力、帯域幅、そして一般的にプリンタにかけるコストに比例します。
最速のプリンタは、強力なプロセッサを内部に積んだ
ネットワーク接続されたポストスクリプト・プリンタになるでしょう。
コンシューマ・レベルのプリンタでは、
部分的に Ghostscript のレンダリング速度に依存するでしょうし、
その場合はそこそこ強力なマシン本体を使えばかなり改善を図れます。
また、フルページのカラー印刷の場合は、
特にホストのメモリを大量に消費することでしょう。

<!--O
 <tag/Dot Matrix/If you want to print on carbons, then you need an
  impact printer; many companies still make dot matrix printers, most
  of which emulate traditional Epson models and thus work fine.
-->

<tag/ドット・マトリクス/
カーボン紙に印刷したい場合は (訳注: カーボンの付いた複写紙)
インパクト・プリンタが必要になります。
多くの企業がいまだにドット・マトリクス・プリンタを製造していますし、
そのほとんどは旧来の EPSON モデルをエミュレートするものですから、
ちゃんと使えます。

<!--O
 <tag/Labels/There are two supported lines of label printer; look for
  the Dymo-Costar and the Seiko SLP models.  Other models may or may
  not work.  Avery also makes various sizes of stick-on labels in
  8.5x11 format that you can run through a regular printer.
-->

<tag/ラベル/
サポートされているラベル・プリンタには、二つの流れがあります。
Dymo-Costar か Seiko SLP シリーズを探してください。
これ以外の機種は、動くかもしれないし、動かないかもしれません。
Avery 社が、8.5x11 インチのフォーマットに則った
様々な大きさのステッカー式ラベルを作っています。
これなら普通のプリンタでも使えます。

<!--O
 <tag/Plotting/Big drafting formats are usually supported these days
  by monster inkjets; HP is a popular choice.  Mid-sized (11x17)
  inkjets are also commonly used for smaller prints.  Much plotting of
  this sort is done with the languages RTL, HP-GL, and HP-GL/2, all of
  which are simple HP proprietary vector languages usually generated
  directly by application software.
-->

<tag/プロッター/

最近では、大きなドラフティング・フォーマットは
巨大なインクジェットプリンタでサポートされています。HP が一般的な選択です。
もう少し小さめのものの印刷には、
中型の (11x17 インチ) インクジェットもよく使われています。
この手のプロットのほとんどは RTL や HP-GL, HP-GL/2 といった言語で行われます。
これらはすべて HP が規格を権利占有しているベクタ言語で、
一般にはアプリケーション・ソフトウェア自体から直接生成されます。

</descrip>

<!-- 5章
<sect>Which spooling software?
-->
<sect>どのスプールソフトウェアを使う?
<p>
<!--
Until recently, the choice for Linux users was simple - everyone ran
the same old lpd lifted mostly verbatim out of BSD's Net-2 code.  Even
today, most vendors ship this software.  But this is beginning to
change.  SVR4-like systems including Sun's Solaris come with a
completely different print spooling package, centered around lpsched.
And there are signs that some Linux vendors will shift to providing
LPRng, a far less ancient print spooling implementation that is freely
available.  LPRng is far easier to administer for large installations
(read: more than one printer, any serial printers, or any peculiar
non-lpd network printers) and has a less frightfully haphazard
codebase than does stock lpd.  It can even honestly claim to be secure
- there are no SUID binaries, and it supports authentication via PGP
or Kerberos.
-->
ごく最近まで、Linux ユーザの選択肢は極めて単純でした。皆同様に BSD
の Net-2 コードをほとんどそのまま使っただけの古い lpd を実行していた
のです。現在に至っても、多くのベンダはこのソフトウェアを出荷し続けています。
しかし徐々に変革が始まっています。Sun Microsystems の Solaris を含む
SVR4 の流れを汲むシステムでは、 lpsched を中心とする従来のものとは完全
に異なる印刷スプールのパッケージを持っています。そしていくつかの Linux
ベンダは、それ程昔のものではないフリーな印刷スプールの仕組みを移植した
LPRng を提供する傾向があります。 LPRng では複数のプリンタ(シリアル
プリンタや lpd が対応していないネットワークプリンタも含む)を導入する際に、
はるかに管理しやすくなっています。また lpd に蓄積されたものと比べると、
はるかにましなコードを基本としています。それは本当に安全であるとさえ
言えるのです。SUID されたバイナリは存在しませんし、PGP や Kerberos を
利用した認証をサポートします。

<p>
<!--O
One interesting newcomer on the scene is "CUPS", an implementation if
the Internet Printing Protocol, an RFC-defined replacement protocol
for the venerable (and klunky) lpd protocol.  The primary
implementation of this is the open-source component of the commercial
product "Easy Print", which consists of an intelligent spooler and a
collection of commercial printer drivers built around Ghostscript.
-->

<!-- TODO: klunky? -->

こういった状況に登場した興味深い新顔に、
インターネット印刷プロトコル (Internet Printing Protocol) の実装である
``CUPS'' というのがあります。
このプロトコルは、
あの素晴らしい …とはいえ、古い…
lpd プロトコルを置き換えようとするもので、
RFC で定義されています。
これの最初の実装は、商用製品である ``Easy Print'' のオープン・ソースな
コンポーネントで、インテリジェントなスプーラと、
Ghostscript の周辺として構築された商用プリンタドライバのコレクションです。

<p>
<!--
For the moment, even in light of the new options, lpd is probably fine
for most Linux users.  While it isn't the snazziest system, it works
fine once set up, and it is well understood and extensively documented
in third-party Unix books.
-->
当面は新しい選択肢を考慮してみたとしても、おそらく多くの Linux
ユーザにとって lpd は優れた選択肢でしょう。それがしゃれたシステムでは
ないとしても、一度設定してしまえば問題なく動作します。またよく知られた
ものであるため、サード・パーティーから出版されている Unix 関連の本にも
詳細に記述されています。

<p>
<!--
If you'd like more information on LPRng, check out the <url name="LPRng
Web Page" url="http://www.astart.com/lprng/LPRng.html">.  Future
versions of this HOWTO will include information on using both LPRng
and regular lpd.
-->
LPRng についてより多くの情報が必要でしたら、<url name="LPRng Web Page"
 url="http://www.astart.com/lprng/LPRng.html"> を御確認ください。
将来的にはこの HOWTO に LPRng と正規の lpd 両方の情報を載せることに
なるでしょう。


<!-- 6章
<sect>How it works, basic
-->
<sect>どのように動作するのか、基本
<p>

<!--
In order to get printing working well, you need to understand how the
lpd system works.
-->
印刷を行うためには、lpd システムがどのように動作するのか理解する必要が
あります。
<p>
<!--
Lpd stands for Line Printer Daemon, and refers in different contexts
to both the daemon and the whole collection of programs which run
print spooling.  These are:
-->
LPD は Line Printer Daemon の頭文字をとっています。また文脈によっては
そのデーモンという意味で用いられたり、印刷のスプールを実行する一連の
プログラム全体という意味で用いられたりします。これらは以下のようなもの
です。

<p>
<descrip>

<!-- TODO
うーん、JM のほうにリンクしたいところだが、
これら全部はまだそろってないんだよね... ^^;
-->

<!--
<tag><tt><htmlurl name="lpd" url="http://www.picante.com/~gtaylor/pht/man/lpd.8.html"></tt></tag>The spooling daemon.  One of these runs to control
                       everything on a machine, AND one is run per
                       printer while the printer is printing. 
-->
<tag><tt><htmlurl name="lpd" url="http://www.picante.com/~gtaylor/pht/man/lpd.8.html"></tt></tag>スプールを行うデーモンです。マシン上のあらゆることを
制御するためにこれらの 1つが実行されています。プリンタが印刷している間
は、印刷するプリンタ毎にさらにもう 1つが実行されます。

<!--
<tag><tt><htmlurl name="lpr" url="http://www.picante.com/~gtaylor/pht/man/lpr.1.html"></tt></tag>The user spooling command.  Lpr contacts lpd
                       and injects a new print job into the spool.
-->
<tag><tt><htmlurl name="lpr" url="http://www.picante.com/~gtaylor/pht/man/lpr.1.html"></tt></tag>ユーザがスプールを実行させるコマンドです。lpr は lpd
と連絡をとり、新たな印刷ジョブをスプールの印刷キューに入れます。

<!--
<tag><tt><htmlurl name="lpq" url="http://www.picante.com/~gtaylor/pht/man/lpq.1.html"></tt></tag>Lists the jobs in a print queue.
-->
<tag><tt><htmlurl name="lpq" url="http://www.picante.com/~gtaylor/pht/man/lpq.1.html"></tt></tag>印刷キューの中の印刷待ちジョブ・リストを表示します。

<!--
<tag><tt><htmlurl name="lpc" url="http://www.picante.com/~gtaylor/pht/man/lpc.8.html"></tt></tag>The Lpd system control command.  With lpc you
                       can stop, start, reorder, etc, the print queues.
-->
<tag><tt><htmlurl name="lpc" url="http://www.picante.com/~gtaylor/pht/man/lpc.8.html"></tt></tag>lpd システムを制御するコマンドです。このコマンド
を用いることで、印刷キューを止めたり、キューを開始させたり、キューの
中の順番を変更する、といったようなことが可能になります。

<!--
<tag><tt><htmlurl name="lprm" url="http://www.picante.com/~gtaylor/pht/man/lprm.1.html"></tt></tag><tt/lprm/ will remove a job from the print spool.
-->
<tag><tt><htmlurl name="lprm" url="http://www.picante.com/~gtaylor/pht/man/lprm.1.html"></tt></tag><tt/lprm/ は印刷のスプールから印刷ジョブを削除します。
</descrip>
<p>
<!--
So how does it fit together?  Well, when the system boots, lpd is
run.  It scans the file <em>/etc/printcap</em> to learn which printers
it will be managing spools for.  Each time someone runs lpr, lpr
contacts lpd through the named socket <em>/dev/printer</em>, and feeds
lpd both the file to print and some information about who is printing
and how to print it.  Lpd then prints the file on the appropriate
printer in turn.
-->
コマンドとデーモンはそれぞれどのように連携して印刷を行うのでしょうか?
システムの起動時に lpd が起動します。 lpd は自分がどのプリンタのスプール
を管理しているのか知るために、<em>/etc/printcap</em> ファイルを参照し
ます。 lpr コマンドが実行されるごとに、lpr は <em>/dev/printer</em> と
いうデバイス名のソケットを経由して lpd と連携をとります。そして
印刷するファイル、誰が印刷するのか、どうやって印刷するのか、と
いったようないくつかの情報を lpd に与えます。それから lpd はファイル
を適切なプリンタ上で順番に印刷するのです。

<p>
<!--
The lp system was originally designed when most printers were line
printers - that is, people mostly printed plain ascii.  As it turns
out, only a little extra scripting is needed to make lpd work quite
well for today's print jobs, which are often in PostScript, or text,
or dvi, or...
-->
lp システムは、かつてほとんどのプリンタが ascii 文字のみを印刷する
ラインプリンタだった頃に元々デザインされたものです。そのため、
現在の印刷ジョブ (PostScript、テキスト、 dvi といったようなもの) の
ために lpd を問題なく動作させるには、わずか数行ではありますが追加で
スクリプトを記述しなければならない、ということがわかります。


<!-- 7章
<sect>How to set things up, basic
<sect1>Traditional lpd configuration
-->
<sect>どうやって設定するのか、基本
<sect1>伝統的な lpd の設定方法
<p>
<!--
The minimal setup for lpd rsults in a system that can queue files and
print them.  It will not pay any attention to wether or not your
printer will understand them, and will probably not let you produce
attractive output.  Nevertheless, it is the first step to
understanding, so read on!
-->
lpd に対する最小限の設定は、キューにファイルを取り込み、それを
印刷できるようにすることです。プリンタがそのことを理解するか
どうかに注意を払う必要はありません。ただ、魅力的な出力はおそらく
得られないでしょう。それでも、理解する為の第1段階です。読み続けて
ください!
<p>
<!--
Basically, to add a print queue to lpd, you must add an entry in
<em>/etc/printcap</em>, and make the new spool directory under
<em>/var/spool/lpd</em>.
-->
基本的に、lpd に印刷キューを追加するには、<em>/etc/printcap</em>
の中にエントリを追加し、<em>/var/spool/lpd</em> の下に新しい
スプール用のディレクトリを作成する必要があります。
<p>
<!--
An entry in <em>/etc/printcap</em> looks like:
-->
<em>/etc/printcap</em> のエントリは以下のようになっています。
<tscreen><verb>
# LOCAL djet500
lp|dj|deskjet:\
	:sd=/var/spool/lpd/dj:\
	:mx#0:\
	:lp=/dev/lp0:\
	:sh:
</verb></tscreen>
<!--
This defines a spool called <em/lp/, <em/dj/, or <em/deskjet/, spooled
in the directory <em>/var/spool/lpd/dj</em>, with no per-job maximum size
limit, which prints to the device <em>/dev/lp0</em>, and which does
not have a
banner page (with the name of the person who printed, etc)
added to the front of the print job.
-->
この設定では、<em/lp/ や <em/dj/ または <em/deskjet/ と呼ばれるスプール
を定義し、<em>/var/spool/lpd/dj</em> ディレクトリにスプールします。
そしてジョブ毎の最大サイズを制限せず、<em>/dev/lp0</em> に指定された
デバイスから印刷します。大見出しページ (印刷する人の名前等を含んでいる
もの) を印刷ジョブの先頭に加えることはしません。
<p>
<!--
Go now and read the man page for <em><htmlurl name="printcap"
url="http://www.picante.com/~gtaylor/pht/man/printcap.5.html"></em>.
-->
さぁ、<em><htmlurl name="printcap"
 url="http://www.picante.com/~gtaylor/pht/man/printcap.5.html">
</em> の man ページを読んでみてください。

<p>
<!--
The above looks very simple, but there a catch - unless I send in
files a DeskJet 500 can understand, this DeskJet will print strange
things.  For example, sending an ordinary Unix text file to a deskjet
results in literally interpreted newlines, and gets me:
-->
上記の設定は実に単純ですが、実際は落とし穴があります。Deskjet 500
が理解できるファイルを送っているにもかかわらず、Deskjet は奇妙な
印刷を行ってしまいます。例えば、通常の Unix のテキストファイルを
送っても、Deskjet は文字どおりに newline を翻訳してしまうのです。
つまり、こんな具合になってしまいます。

<tscreen><verb>
This is line one.
                 This is line two.
                                  This is line three.
</verb></tscreen>
<!--
ad nauseam.  Printing a PostScript file to this spool would get a
beautiful listing of the PostScript commands, printed out with this
"staircase effect", but no useful output.
-->
どうしたものでしょう。この設定で PostScript のファイルを印刷したなら、
この "階段効果" をともなう、美しいけれどもなんの役にも立たない
 PostScript コマンドの列記された出力が得られることでしょう。

<p>
<!--
Clearly more is needed, and this is the purpose of filtering.  The
more observant of you who read the printcap man page might have
noticed the spool attributes <em/if/ and <em/of/.  Well, <em/if/, or
the input filter, is just what we need here.
-->
明らかに何かが必要です。そしてこれがフィルタを使う目的なのです。
 printcap の man ページを読んだ観察力の鋭いあなたなら、スプールの
属性である <em/if/ と <em/of/ に気がついているかもしれません。
 <em/if/ つまり入力フィルタが、まさにここで必要なものなのです。

<p>
<!--
If we write a small shell script called <em/filter/ that adds carriage
returns before newlines, the staircasing can be eliminated.  So we
have to add in an <em/if/ line to our printcap entry above:
-->
newline の前にキャリッジリターンを付け加える <em/filter/ と
呼ばれる小さなシェル・スクリプトを書けば、この階段状の印刷は除去
されます。もちろん、printcap のエントリに <em/if/ の行を
追加する必要があります。

<tscreen><verb>
lp|dj|deskjet:\
	:sd=/var/spool/lpd/dj:\
	:mx#0:\
	:lp=/dev/lp0:\
	:if=/var/spool/lpd/dj/filter:\
	:sh:
</verb></tscreen>

<!--O
A simple filter script might be:
-->
簡単な filter スクリプトはこのようになるでしょう。

<!--O
<tscreen><verb>
#!perl
# The above line should really have the whole path to perl
# This script must be executable: chmod 755 filter
while(<STDIN>){chop $_; print "$_\r\n";};
# You might also want to end with a form feed: print "\f";
</verb></tscreen>
-->

<tscreen><verb>
#!perl
# The above line should really have the whole path to perl
# (上記の行は perl への完全なパスでなければいけません)
# This script must be executable: chmod 755 filter
# (このスクリプトは実行可能でなければいけません。
#   chmod 755 filter を実行してください)
while(<STDIN>){chop $_; print "$_\r\n";};
# You might also want to end with a form feed: print "\f";
# (印刷の最後に改頁が必要なら、print "\f"; を入れてください)
</verb></tscreen>

<!--O
If we were to do the above, we'd have a spool to which we could print
regular Unix text files and get meaningful results.  (Yes, there are
four million better ways to write this filter, but few so
illustrative.  You are encouraged to do this more efficiently.)
-->
上記のようなことが終われば通常の Unix テキストファイルを
印刷できるようなスプールになり、意味のある結果が得られます
(このフィルタを書く非常に多くのよりよい方法がありますが、
実例となるものはほとんどありません。あなたはより有効なものを
作ってください)。

<p>
<!--
The only remaining problem is that printing plain text is really not
too hot - surely it would be better to be able to print PostScript and
other formatted or graphic types of output.  Well, yes, it would, and
it's easy to do.  The method is simply an extention of the above
linefeed-fixing filter.  If you write a filter than can accept
arbitrary file types as input and produce DeskJet-kosher output for
each case, then you've got a clever print spooler indeed!
-->
残っている問題は、単なるテキストファイルを印刷することではなく、
 PostScript やその他のフォーマット、またはグラフィクスを含む出力
を可能にすることです。そしてそれ自体は可能ですし、簡単なことです。
方法は前述した改行修正を行うフィルタの単純な拡張です。入力
として様々な形式のファイルを受け入れ、それぞれに Deskjet のように
きれいな出力を得られるフィルタを書くことができたのなら、本当に
賢い印刷スプールになったといえます。

<p>
<!--
Such a filter is called a <em/magic/ filter.  Don't bother writing one
yourself unless you print strange things - there are a good many
written for you already on the net.  APS Filter is among the best, or
your Linux distribution may have a printer setup tool that makes this
all really easy.
-->
そのようなフィルタは、マジックフィルタ(<em/magic/ filter) と呼ばれて
います。奇妙なものを印刷するつもりでなければ、頭を悩ませて自分でフィルタ
を書く必要はありません。ネット上には、既に多くの素晴らしいスプールが
存在しているのです。 APS フィルタは最良の選択肢の一つです。もしくは
あなたの Linux ディストリビューションに、これを簡単に設定できるツールが
用意されているかもしれません。

<!--
<sect1>File Permissions
-->
<sect1>ファイルの許可制限
<p>
<!--
By popular demand, I include below a listing of the permissions on
interesting files on my system.  There are a number of better ways to
do this, ideally using only SGID binaries and not making everything
SUID root, but this is how my system came out of the box, and it works
for me.  (Quite frankly, if your vendor can't even ship a working lpd
you're in for a rough ride).
-->
広く需要があるため、私はシステム上の重要なファイルについて、以下の
リストにあるような許可制限を与えています。何種類ものより良い方法が
ありますが、理想的には SGID されたバイナリだけを使用すべきで、SUID root 
を何にでも適用すべきではありません。しかし、私のシステムはこのように
設定されていて、問題なく動作しています(率直に言うなら、ベンダで
さえきちんと動作する lpd を出荷できないのですから、それは荒馬を
乗りこなそうとするようなものでしょう)。

<tscreen><verb>
-r-sr-sr-x   1 root     lp    /usr/bin/lpr*
-r-sr-sr-x   1 root     lp    /usr/bin/lprm*
-rwxr--r--   1 root     root  /usr/sbin/lpd*
-r-xr-sr-x   1 root     lp    /usr/sbin/lpc*
drwxrwxr-x   4 root     lp    /var/spool/lpd/
drwxr-xr-x   2 root     lp    /var/spool/lpd/lp/
</verb></tscreen>
<p>
<!--
Lpd must currently be run as root so that it can bind to the
low-numbered lp service port.  It should probably become UID lp.lp
or something after binding, but I don't think it does.  Bummer.
-->
小さい番号 (low-numbered) の lp サービスポートに接続されるため、
現在のところ lpd は root として実行される必要があります。バインド
された後は、おそらく UID lp.lp または何かになるべきででしょう。
しかし、私はそれが何をするのかは考えません。あしからず。

<!--O
<sect>Getting Printing Software
-->
<sect>印刷ソフトウェアを入手する
<p>
<!--
Many prewritten filter packages (and other printer-related software)
are available from <tt><url name="Metalab"
url="ftp://metalab.unc.edu/pub/Linux/system/printing/"></tt>.  Such
utilities as psutils, a2ps, mpage, dvitodvi, flpr, etc can all be
found there.
-->
多くの印刷前処理フィルタパッケージ(そして、他のプリンタ関連
ソフトウェア)は、<tt><url name="Metalab"
url="ftp://metalab.unc.edu/pub/Linux/system/printing/"></tt>
から手に入れることができます。psutils、a2ps、mpage、dvitodvi、
flpr などのようなユーティリティは、全てここから見つけることが
できます。

<p>
<!--
For a while, there were several packages out there all trying to make
printer configuration easier.  They probably all still exist, but one
of the best and most up-to-date is Andreas Klemm's APS Filter package,
which has a menu-driven printcap configurator and handles practically
any type of input imaginable.  If your vendor doesn't ship a nice
printer setup tool, APS Filter is the way to go.
-->
しばらくの間、プリンタ設定を容易にしようとしていた いくつかの
パッケージがありました。それらはすべて、現在もあるはずです。
しかし、メニューにより printcap の設定ができ、想定される
ほとんどの入力を処理できる Andreas Klemm さんの APS フィルタ
パッケージが、最新でかつ最良のうちの一つです。もしも、ベンダが
気の利いたプリンタ設定ツールを出荷していないなら、APS Filter
を使ってください。


<!--
<sect>Vendor Solutions
-->
<sect>ベンダ(配布パッケージ)ごとの解決方法
<p>
<!--
This section is, by definition, incomplete.  Feel free to send in
details of your favourite distribution.
-->
このセクションはもちろん完璧なものではありません。
あなたのお気に入りのディストリビューションの細部について、
気づいたことを送ってください。

<sect1>Red Hat
<p>
<!--
Red Hat has a GUI printer administration tool (in the control panel)
which can add remote printers and printers on local devices.  It lets
you choose a ghostscript-supported printer type and Unix device file
to print to, then installs a print queue in <em>/etc/printcap</em> and
writes a short PostScript-and-ascii magic filter based around <tt/gs/
and <tt><htmlurl name="nenscript"
url="http://www.picante.com/~gtaylor/pht/man/nenscript.1.html"></tt>.
This solution works fairly well, and is trivial to setup for common
cases.
-->
Red Hat には リモートプリンタと、ローカルなデバイス上の
プリンタを加えることができる GUI プリンタ管理ツール (control
panel 内) があります。
それは Ghostscript がサポートするプリンタタイプと、印刷先の Unix
デバイスファイルを選択させ、そして <em>/etc/printcap</em> へ
プリンタキューを設置し、<tt/gs/ と <tt><htmlurl name="nenscript"
url="http://www.picante.com/~gtaylor/pht/man/nenscript.1.html"></tt>
用の PostScript とアスキーを変換する短いマジックフィルタを
書き出します。
<p>
<!--
Where Red Hat fails is when you have a printer which isn't supported
by their standard Ghostscript (which is GNU rather than Aladdin
Ghostscript, and which supports fewer printers).  Check in the printer
compatibility list above (or <url
url="http://www.picante.com/~gtaylor/pht/printer_list.cgi"
name="online">) if you find that you can't print properly with the
stock Red Hat software.  If your printer isn't supported by Red Hat's
tools, you may need to install a contributed verison of Aladdin
Ghostscript, and will probably also be better off if you use the
apsfilter package, which knows all about the printers supported by
late-model Ghostscripts.
-->
お使いのプリンタを Red Hat が標準で提供している Ghostscript
(Aladdin のものというよりは、GNU の方に近いものです。
サポートしているプリンタも少なくなっています)がサポート
していない場合にはうまくいきません。
もし、手持ちの Red Hat ソフトウェアで正確に印刷することが
できないのに気づいたら、前出(または <url
url="http://www.picante.com/~gtaylor/pht/printer_list.cgi"
name="online">) のプリンタ互換性リストで調べてください。
もしプリンタがRed Hat のツールによりサポートされないのなら、
Aladdin Ghostscript の contributed verison をインストールする
必要があるかもしれません。そして、新しい Ghostscript がサポート
しているプリンタに関するすべてを知っている apsfilter パッケージを
利用する方がずっといいでしょう。

<sect1>Debian
<p>
<!--
Debian offers a choice between plain lpd and LPRng; LPRng is probably
a better choice.  I believe Debian also offers a choice of printer
configuration tools; apsfilter version 5 or later is probably your
best bet, since that verison adds support for LPRng and Ghostscript's
uniprint driver scheme.
-->
Debian の場合には、 普通の lpd か LPRng のどちらかを選択できます。
プリンタ設定ツールも同様に選択可能となっていると思います。
私は Debian が同じく、プリンタ設定ツールの選択を提示すると
信じています。
apsfilter version 5 以降が、LPRng と Ghostscript's uniprint
driver scheme のサポートが加わったので最良の選択です。

<sect1>その他のディストリビューション
<p>
<!--
Please send me info on what other distributions do!
-->
どうか私に、他のディストリビューションならばどうするかについて
知らせてください。

<!-- 
10.  Ghostscript.
-->
<sect>Ghostscript.

<!-- 
  Ghostscript is an incredibly significant program for Linux printing.
  Most printing software under Unix generates PostScript, which is
  typically a $100 option on a printer.  Ghostscript, however, is free,
  and will generate the language of your printer from PostScript.  When
  tied in with your lpd input filter, it gives you a virtual PostScript
  printer and simplifies life immensely.
-->
<p>
Ghostscript は Linux で印刷を行うのにとても重要なプログラムです。
Unix 環境での印刷用ソフトウェアのほとんどは PostScript を作成します。
プリンタにPostScript をサポートする機能をつけると通常 100 ドルほどのオ
プションになります。しかしながら Ghostscript は無料で PostScript から
お使いのプリンタの言語を作り出します。お使いの lpd 入力フィルタと連
動し、仮想の PostScript プリンタとなり、印刷をとても簡単にします。

<!-- 
 Ghostscript is available in two forms.  The commercial version of
  Ghostscript, called Aladdin Ghostscript, may be used freely for
  personal use but may not be distributed by commercial Linux
  distributions.  It is generally a year or so ahead of the free
  Ghostscript; at the moment, for example, it supports many color
  inkjets that the older Ghostscripts do not.
-->

<p> 
Ghostscript は 2 つの形態で入手できます。 Aladdin Ghostscript と言わ
れるものは Ghostscript の商用版で、個人使用に関しては自由に使うことが
できますが、商用の Linux ディストリビューションでの配布はできません。
Aladdin Ghostscript はフリーの Ghostscript の1年ほど先を進んでいます。
たとえば本ドキュメント時点での最新版は、旧版の Ghostscript ではサポー
トしていない多くのカラーインクジェットドライバをサポートしています。

<!-- 
  The free version of Ghostscript is GNU Ghostscript, and is simply an
  aged version of Aladdin ghostscript kindly given to GNU.  (Kudos to
  Aladdin for this arrangement; more software vendors should support
  free software in this way, if they can't handle full-blown GPL
  distribution of their code).
-->
<p>
Ghostscript のフリー版は GNU Ghostscript で、単にGNU に寄贈された 
Aladdin Ghostscript の旧版です(このような配慮について Aladdin への称賛 - 
ソフトウェアベンダが完全にオープンな GPL ディストリビューションを扱
うことができないなら、 ソフトウェアベンダはこのような方法でどんどんフ
リーソフトウェアをサポートするとよいでしょう)。

<!-- 
  Whatever you do with gs, be very sure to run it with the option for
  disabling file access (-dSAFER).  PostScript is a fully functional
  language, and a bad PostScript program could give you quite a
  headache.
-->
<p>
gs で何かをするときはいつでもファイルアクセスを無効(-dSAFER)にする
オプションを使うべきです。PostScript は充分に機能的な言語ですが、よく
ない PostScript プログラムは頭痛の種になります。

<!-- 
  Speaking of PDF, Adobe's Portable Document Format is actually little
  more than organized PostScript in a compressed file.  Ghostscript can
  handle PDF input just as it does PostScript.  So you can be the first
  on your block with a PDF-capable printer.
-->
<p>
Adobe の Portable Document Format(PDF) は、実際には圧縮ファイルにま
とめられた PostScript よりちょっとはましなものです。Ghostscript は 
PostScript を扱うのとほとんど同様に PDF を扱うことができます。そういう
わけで Ghostscript を使えば、あなたは街で最初に PDF を印刷できるプリン
タを持つことができるわけです。


<!-- 10.1.  Invoking Ghostscript
-->

<sect1>Ghostscript を起動する

<!--
  Typically, Ghostscript will be run by whatever magic filter you settle
  upon (I recommend apsfilter if your vendor didn't supply anything that
  suits you), but for debugging purposes it's often handy to run it
  directly.

  gs -help will give a brief informative listing of options and
  available drivers (note that this list is the list of drivers compiled
  in, not the master list of all available drivers).

  You might run gs for testing purposes like: gs options -q -dSAFER
  -sOutputFile=/dev/lp1 test.ps.
-->
<p>

一般的に Ghostscript はあなたが設定したどんなマジックフィルタを使っ
ても起動しますが(もしお使いのベンダがあなたが都合がよいものを提供し
ていないなら、 aps フィルタを使うことをお勧めします)、デバッグのため
に、しばしばそれを直接動かすようにするのが便利です。

gs -help というコマンドはオプションと利用できるドライバ(このリストはコ
ンパイル時に組み込まれたリストで、利用できるすべてのドライバリストでは
ありません)について簡単なヘルプリストを示します。
テストするつもりで gs を動かしてみましょう。
<verb>
  gs options -q -dSAFER -sOutputFile=&etago;dev&etago;lp1 test.ps.
</verb>



<!--  10.2.  Ghostscript output tuning
-->

<sect1> Ghostscript の出力を調整する

<!-- 
  There are a number of things one can do if gs's output is not
  satisfactory (actually, you can do anything you darn well please,
  since you have the source).
-->
<p>
gs の出力が満足できないものなら、やってみることはたくさんあります
(実際ソースを持っているなら、修正できそうなことは何でもできます)。

<!--  10.2.1.  Output location and size
-->

<sect2>出力の位置とサイズ

<!-- 
  The location, size, and aspect ratio of the image on a page is
  controlled by the printer-specific driver in ghostscript.  If you find
  that your pages are coming out scrunched too short, or too long, or
  too big by a factor of two, you might want to look in your driver's
  source module and adjust whatever parameters jump out at you.
  Unfortunately, each driver is different, so I can't really tell you
  what to adjust, but most of them are reasonably well commented.
-->
<p>
位置やサイズ、そしてページ上の画像の縦横の比率は Ghostscript のプリ
ンタ固有のドライバで制御できます。目的のページが縦横の比率によっては短
すぎたり、長すぎたり、また大きすぎるような状態で表示されるなら、ドライ
バのソースモジュールを見てパラメータを調整したほうがよいでしょう。残念
ながらドライバはそれぞれさまざまですから、私は何が適当かは言えませんが、
当然ながらほとんどのものはちゃんと説明されています。


<!-- 10.2.2.  Gamma, dotsizes, etc.
-->

<sect2> ガンマ、ドットサイズ、その他
<p>
<!-- 
  Most non-laser printers suffer from the fact that their dots are
  rather large. This results in pictures coming out too dark. If you
  experience this problem you should use your own transfer function.
  Simply create the following file in the ghostscript lib-dir and add
  its name to the gs call just before the actual file. You may need to
  tweak the actual values to fit your printer. Lower values result in a
  brighter print.  Especially if your driver uses a Floyd-Steinberg
  algorithm to rasterize colors, lower values ( 0.2 - 0.15 ) are
  probably a good choice.
-->
<p>

ほとんどの非レーザープリンタのドットは、レーザープリンタのものよりも大
きいです。このため画像はより黒っぽく出力されることになります。このよう
な問題を経験しているなら、転写機能を使うほうがよいでしょう。
Ghostscript の lib ディレクトリに次のようなファイル(gamma.ps)を作り、 
gs を起動するとき実際のファイルの前にそのファイル名を加えてやります。
より低い値を使えばより明るく印刷されます。とりわけ、お使いのドライバが
色をラスタライズ(色情報を分解すること)するのに Floyd-Steinberg のアル
ゴリズムを使用しているなら、より低い値( 0.2 - 0.15 )にするといいかもし
れません。

<verb>
       ---8<---- gamma.ps ----8<---
       %!
       %transfer functions for cyan magenta yellow black
       {0.3 exp} {0.3 exp} {0.3 exp} {0.3 exp} setcolortransfer
       ---8<------------------8<---
 </verb>


<!-- 
  It is also possible to mend printers that have some kind of colour
  fault by tweaking these values. If you do that kind of thing, I
  recommend using the file colorcir.ps, that comes with ghostscript (in
  the examples/ subdir), as a test page.
-->
<p>
これらの値を変更すれば、色について欠陥を持っているプリンタを改良す
ることもまた可能です。このようなことをするなら、テストページの印刷に 
colorcir.ps ファイルを使うことをお勧めします。このファイルは、
Ghostscript と一緒に起動します( colorcir.ps ファイルは、 Ghostscript の
あるディレクトリ以下の ./examples というサブディレクトリにあります)。

<!-- 
  For many of the newer color inkjet drivers, there are command-line
  options, or different upp driver files, which implement gamma and
  other changes to adapt the printer to different paper types.  You
  sould look into this before playing with Postscript to fix things.
-->
<p>
多くのより新しいカラーインクジェットドライバには、コマンドラインオプ
ションあるいは upp ドライバファイルがあります。それらはガンマとその他
違った紙のタイプにプリンタをあわせるための変更を行います。修正をしたこ
とをちゃんと反映させるために PostScript を行なう前にこのファイルを見て
みるとよいでしょう。

(訳注:upp ファイルは Ghostscript があるディレクトリ以下の ./examples 
というサブディレクトリにあります)


<!--
<sect>How to print to a printer over the network
-->
<sect>ネットワーク越しのプリンタへの印刷方法
<p>
<!--
One of the features of lpd is that it supports printing over the
network to printers physically connected to a different machine.  With
the careful combination of filter scripts and assorted utilities, you
can make lpr print transparently to printers on all sorts of networks.
-->
lpd の特徴のひとつは、異なったマシンに物理的に接続しているプリンタに
対するネットワーク越しでの印刷をサポートしていることです。
フィルタスクリプトと様々なユーティリティを注意深く組み合わせることで、
あらゆる種類のネットワーク上のプリンタに透過的に lpr で印刷することが
できます。

<!--
<sect1>To a Unix/lpd host
-->
<sect1>Unix/lpd のホストに対して
<p>
<!--
To allow remote machines to print to your printer, you must list the
machines in <em>/etc/hosts.equiv</em> or <em>/etc/hosts.lpd</em>.
(Note that <em/hosts.equiv/ has a host of other effects; be sure you
know what you are doing if you list any machine there).  You can allow
only certain users on the other machines to print to your printer by
usign the <em/rs/ attribute; read the <tt><htmlurl name="lpd"
url="http://www.picante.com/~gtaylor/pht/man/lpd.8.html"></tt> man page
for information on this.
-->
リモートのマシンからあなたのプリンタに印刷できるようにするためには、
そのマシンを <em>/etc/hosts.equiv</em> か <em>/etc/hosts.lpd</em>
に列挙しなければなりません
(<em/hosts.equiv/ は他にも多くの影響を及ぼすことに
注意してください - これにマシンを列挙する場合、自分が何をしているのか
必ずわかっておいてください)。
<em/rs/ 属性を使うことで、他のマシン上のある特定のユーザ
のみにあなたのプリンタへの印刷を許可するようにできます -
これに関する情報は <tt><htmlurl name="lpd"
 url="http://www.picante.com/~gtaylor/pht/man/lpd.8.html"></tt>
の man ページをご覧ください。
<!--NOM usign は using の綴り誤り? -->

<!--
<sect2>With <tt>lpd</tt>
-->
<sect2><tt>lpd</tt> を使って
<p>
<!--
To print to another machine, you make an <em>/etc/printcap</em> entry
like this:
-->
他のマシンで印刷するには、このような <em>/etc/printcap</em> エントリを
作成してください。
<tscreen><verb>
# REMOTE djet500
lp|dj|deskjet:\
	:sd=/var/spool/lpd/dj:\
	:rm=machine.out.there.com:\
	:rp=printername:\
	:lp=/dev/null:\
	:sh:
</verb></tscreen>
<!--
Note that there is still a spool directory on the local machine
managed by <tt/lpd/.  If the remote machine is busy or offline, print
jobs from the local machine wait in the spool area until they can be
sent.
-->
ローカルマシンには <tt/lpd/ によって管理されるスプールディレクトリが
依然としてあることに注意してください。
リモートマシンがビジーであったり、オフラインであったりした場合、
ローカルマシンからの印刷ジョブは送信可能になるまで
そのスプール領域で待たされます。

<!--
<sect2>With <tt>rlpr</tt>
-->
<sect2><tt>rlpr</tt> を使って
<p>
<!--
You can also use <em>rlpr</em> to send a print job directly to a queue
on a remote machine without going through the hassle of configuring
lpd to handle it.  This is mostly useful in situations where you print
to a variety of printers only occasionally.  From the announcement for
<em>rlpr</em>:
-->
ジョブ送信のために lpd を苦労して設定しなくても、
<em>rlpr</em> を使って印刷ジョブをリモートマシンのキューに
直接送信することもできます。
いろいろなプリンタに対してほんの時々印刷を行なうような状況では、
たいていこの方法が便利です。
<em>rlpr</em> の発表文によると - 

<p>
<!--
Rlpr uses TCP/IP to send print jobs to lpd servers anywhere on a
network. 
-->
rlpr は、TCP/IP を使ってネットワーク上のどこにある lpd サーバにでも、
印刷ジョブを送信します。

<p>
<!--
Unlike lpr, it *does not* require that the remote printers be
explicitly known to the machine you wish to print from, (e.g. through
<em>/etc/printcap</em>) and thus is considerably more flexible and
requires less administration.
-->
lpr と違い、リモートプリンタが印刷元のマシンにはっきりと
(例えば <em>/etc/printcap</em> を介してのように)知られている必要は
*ありません*。
このため、かなり柔軟性に優れ、管理の手間が少なくなります。

<p>
<!--
rlpr can be used anywhere a traditional lpr might be used, and is
backwards compatible with traditional BSD lpr.
-->
rlpr は従来の lpr が使用されるような場面ならどこでも
使うことができ、伝統的な BSD の lpr と下位互換性があります。

<p>
<!--
The main power gained by rlpr is the power to print remotely *from
anywhere to anywhere* without regard for how the system you wish to
print from was configured.  Rlpr can work as a filter just like
traditional lpr so that clients executing on a remote machine like
netscape, xemacs, etc, etc can print to your local machine with little
effort.
-->
rlpr の最大の利点は、
印刷元のシステムがどのように設定されているかを考慮せずに
*どこからでもどこにでも* 離れたところで印刷できるということです。
rlpr は従来の lpr と全く同じようにフィルタとして動作させることができ、
これによって
リモートマシンで実行されている netscape や xemacs などのクライアント
からあなたのローカルマシンへの印刷をわずかな手間で行なえます。

<p>
<!--
Rlpr is available from <tt><url name="Metalab"
url="ftp://metalab.unc.edu/pub/Linux/system/printing/"></tt>.
-->
rlpr は <tt><url name="Metalab"
url="ftp://metalab.unc.edu/pub/Linux/system/printing/"></tt>
から入手できます。

<!--
<sect1>To a Win95, WinNT, LanManager, or Samba printer
-->
<sect1>Win95 や WinNT、LanManager、Samba のプリンタに対して
<p>
<!--
There is a Printing to Windows mini-HOWTO out there which has more
info than there is here.
-->
Printing to Windows mini-HOWTO があり、
ここよりも豊富な情報が書かれています。
<p>
<!--
It is possible to direct an lpd queue through the <tt><htmlurl
name="smbclient"
url="http://www.picante.com/~gtaylor/pht/man/smbclient.1.html"></tt>
program (part of the samba suite) to a TCP/IP based SMB print service.
Samba includes a script to do this called <tt/smbprint/.  In short,
you put a configuration file for the specific printer in question in
the spool directory, and install the <tt/smbprint/ script as the
<em/if/.
-->
<tt><htmlurl
name="smbclient"
url="http://www.picante.com/~gtaylor/pht/man/smbclient.1.html"></tt>
プログラム(samba の一部)によって lpd のキューを
TCP/IP ベースの SMB 印刷サービスに向けることができます。
これを行なう <tt/smbprint/ というスクリプトが samba に含まれています。
簡単に言うと、対象となるプリンタのための設定ファイルをスプール
ディレクトリに置いて、<tt/smbprint/ スクリプトを <tt/if/ として
設定してください。
<p>
<!--
The <em>/etc/printcap</em> entry goes like this:
-->
<em>/etc/printcap</em> のエントリはこのような感じになります - 
<tscreen><verb>
lp|remote-smbprinter:\
    :lp=/dev/null:sh:\
    :sd=/var/spool/lpd/lp:\
    :if=/usr/local/sbin/smbprint:
</verb></tscreen>
<p>
<!--
You should read the documentation inside the <tt/smbprint/ script for
more information on how to set this up.
-->
この設定方法に関するこれ以上の情報については 
<tt/smbprint/ スクリプトに含まれるドキュメントを読むべきでしょう。
<p>
<!--
You can also use <tt>smbclient</tt> to submit a file directly to an
SMB printing service without involving <tt>lpd</tt>.  See the man page.
-->
<tt>smbclient</tt> を使って、<tt>lpd</tt> を介さずに
SMB の印刷サービスにファイルを直接投げることもできます。
man ページをご覧ください。

<!--
<sect1>To a NetWare Printer
-->
<sect1>NetWare のプリンタに対して
<p>
<!--
The ncpfs suite includes a utility called <tt/nprint/ which provides
the same functionality as <tt/smbprint/ but for NetWare.  You can get
ncpfs from <htmlurl name="Metalab" url="ftp://metalab.unc.edu/pub/Linux/system/filesystems/ncpfs/">.  From the
LSM entry for version 0.16:
-->
ncpfs スイートは、
<tt/nprint/ と呼ばれるユーティリティを含んでいます。
これは NetWare を対象としているという点を除けば
<tt/smbprint/ と同じ機能を提供します。
<htmlurl name="Metalab"
url="ftp://metalab.unc.edu/pub/Linux/system/filesystems/ncpfs/">
から ncpfs を入手することができます。
バージョン 0.16 の LSM エントリより - 

<quote>
<!--
With ncpfs you can mount volumes of your netware server under
Linux. You can also print to netware print queues and spool netware
print queues to the Linux printing system. You need kernel 1.2.x or
1.3.54 and above. ncpfs does NOT work with any 1.3.x kernel below
1.3.54.
-->
ncpfs を使って、NetWare サーバのボリュームを Linux にマウントする
ことができます。NetWare の印刷キューに印刷したり、NetWare の印刷キューを
Linux の印刷システムにスプールしたりすることもできます。
カーネルは 1.2.x または 1.3.54 以降のバージョンが必要です。
ncpfs は 1.3.54 より前の 1.3.x カーネルでは動作しません。
</quote>

<p>
<!--
To make <tt/nprint/ work via lpd, you write a little shell script to
print stdin on the NetWare printer, and install that as the <em/if/
for an lpd print queue.  You'll get something like:
-->
<tt/nprint/ を lpd 経由で動作させるには、標準入力を NetWare のプリンタに
印刷するためのちょっとしたシェルスクリプトを作成して lpd の印刷キュー
の <em/if/ として設定してください。
このような感じになるでしょう - 
<tscreen><verb>
sub2|remote-NWprinter:\
	:lp=/dev/null:sh:\
	:sd=/var/spool/lpd/sub2:\
	:if=/var/spool/lpd/nprint-script:
</verb></tscreen>
<!--
The <tt>nprint-script</tt> might look approximately like:
-->
<tt>nprint-script</tt> は大体このような感じになるでしょう - 
<tscreen><verb>
#! /bin/sh
# You should try the guest account with no password first!
# まずはパスワードなしのゲストアカウントを試すべきです!
/usr/local/bin/nprint -S net -U name -P passwd -q printq-name -
</verb></tscreen>

<!--
<sect1>To an EtherTalk (Apple) printer
-->
<sect1>EtherTalk (Apple) のプリンタに対して
<p>
<!--
The netatalk package includes something like <tt/nprint/ and
<tt/smbclient/.  Others have documented the procedure for
printing to and from an Apple network far better than I ever will; see
the <url name="Linux Netatalk-HOWTO"
url="http://thehamptons.com/anders/netatalk/">.
-->
netatalk パッケージは <tt/nprint/ や <tt/smbclient/
のようなものを含んでいます。
Apple のネットワークから、もしくは Apple のネットワークへ
印刷する手順を私がやろうとしているよりよっぽどうまく
文書にまとめられている方がいます - <url name="Linux Netatalk-HOWTO"
url="http://thehamptons.com/anders/netatalk/"> をご覧ください。

<!--
<sect1>To an HP or other ethernet printer
-->
<sect1>HP やその他のイーサネットプリンタに対して
<p>
<!--
HPs and some other printers come with an ethernet interface which you
can print to directly using lpd.  You should follow the instructions
that came with your printer or its network adaptor, but in general,
such printers are "running" lpd, and provide one or more queues which
you can print to.  An HP, for example, might work with a printcap
like:
-->
HP や他のいくつかのプリンタには lpd を使って直接印刷できるようなイーサネット
インタフェースがついてきます。
あなたのプリンタやネットワークアダプタに付属の説明書に従うべきですが、
一般的にはそのようなプリンタは lpd を「実行して」おり、
印刷可能なひとつかそれ以上のキューを提供しています。
例えば、HP ではこのような printcap で動作するかもしれません -
<tscreen><verb>
lj-5|remote-hplj:\
        :lp=/dev/null:sh:\
        :sd=/var/spool/lpd/lj-5:\
        :rm=printer.name.com:rp=raw:
</verb></tscreen>
<p>
<!--
HP Laserjet printers with Jet Direct interfaces generally support two
built in lpd queues - "raw" which accepts PCL (and possibly
Postscript) and "text" which accepts straight ascii (and copes
automatically with the staircase effect).  If you've got a JetDirect
Plus3 three-port box, the queues are named "raw1", "text2", and so
forth.
-->
Jet Direct インタフェースを備えた HP Laserjet プリンタは、
一般に二つの組み込み lpd キューをサポートしています --
PCL を(もしかしたら PostScript も)受け付ける "raw" と、
ただの ascii を受け付ける(また自動的に階段効果に対処する)
"text" です。
JetDirect Plus3 3 ポートボックスを持っているなら、
キューは "raw1", "text2" などというように名付けられます。
<!--NOM staircase effect は 6 章に説明あり -->
<!--NOM straight ascii -->
<p>
<!--
Note that the ISS company has identified an assortment of denial of
service attacks which hang HP Jetdirect interfaces.  Most of these
have been addressed beginning in Fall 98.
-->
ISS 会社が HP Jetdirect インタフェースをハングアップさせる
種々のサービス不能攻撃を確認していることに注意してください。
これらのほとんどは 98 年の初秋に明らかにされました。
<!--NOM ISS company って何だろう Internet Security Service? -->
<!--NOM addressed = 明らかにされた で良いか? -->
<p>
<!--
In a large scale environment, especially a large environment where
some printers do not support PostScript, it may be useful to establish
a dedicated print server to which all machines print and on which all
ghostscript jobs are run.
-->
大規模な環境、中でも特にいくつかのプリンタが PostScript を
サポートしていないような環境では、ひとつの専用プリントサーバを設置して、
全てのマシンがそれに対して印刷を依頼し、全ての Ghostscript
のジョブがそこで実行されるようにすると便利かもしれません。
<p>
<!--
This also allows your Linux box to act as a spool server for the
printer so that your network users can complete their print jobs
quickly and get on with things without waiting for the printer to
print any other job that someone else has sent.  This is suggested too
if you have unfixable older HP Jetdirects; it reduces the likelihood
of the printers wedging.
-->
また、
これは Linux ボックスをプリンタのスプールサーバとして動作させることで、
ネットワークのユーザが印刷ジョブを素早く完了させ、プリンタが
誰か他の人が送信した他のジョブを印刷している間待たずに済む
ようにできます。
修正不可能な古い HP Jetdirect を持っている場合にも言えます -
これによってプリンタが動かなくなってしまう頻度を低減します。
<!--NOM unfixable = 修正不可能 or 修理不可能, どっちだろうか -->
<!--NOM wedging = 動かなくなる, ジョブが集中して固まってしまうとか -->
<p>
<!--
To do this, set up a queue on your linux box that points at the
ethernet equipped HP LJ (as above). Now set up all the clients on your
LAN to point at the Linux queue (eg lj-5 in the example above).
-->
これを行なうためには、Linux ボックスのキューをイーサネットを装備した
HP LJ を指すように(先述のように)設定してください。
次に LAN の全てのクライアントをその Linux キューを指すように
設定してください(例えば先述の例の lj-5 のように)。
<p>
<!--
Some HP network printers apparently don't heed the banner page setting
sent by clients; you can turn off their internally generated banner
page by telnetting to the printer, hitting return twice, typing
"banner: 0" followed by "quit".  There are other settings you can
change this way, as well; type "?" to see a list.
-->
いくつかの HP のネットワークプリンタは、クライアントによって送信
されたバナーページ設定に気づかないようです -
プリンタに telnet してリターンキーを 2 回押し、
"banner: 0" と入力した後 "quit" と入力することで、
内部的に生成されたバナーページを取り消すことができます。
この方法で同様に変更できる設定が他にもあります -
リストを見るには "?" と入力してください。
<p>
<!--
The full range of settings can be controlled with HP's <url
url="http://www.hp.com/go/webjetadmin" name="WebJet"> software.  This
package runs as a daemon, and accepts http requests on a designated
port.  It serves up forms and Java applets which can control HP
printers on the network.  In theory, it can also control Unix print
queues, but it does so using the rexec service, which is completely
unsecure.  I don't advise using that feature.
-->
全ての設定は HP の <url url="http://www.hp.com/go/webjetadmin"
name="WebJet"> ソフトウェアによって制御することが
できます。このパッケージはデーモンとして動作し、指定されたポートに
対する HTTP リクエストを受け付けます。
また、ネットワーク上の HP のプリンタを制御できるフォームと
Java アプレットを提供します。
理論的には Unix の印刷キューも制御できるのですが、
rexec サービスを使用して実現しており、
これは全く安全性に欠けているので、この機能を使用することはお勧めしません。

<!--
<sect2>To older HPs
-->
<sect2>古い HP のプリンタに対して
<p>
<!--O
Some printers (and printer networking "black boxes") support only a
cheesy little non-protocol involving plain TCP connections.  Notable
in this category are early-model JetDirect (including some
JetDirectEx) cards.  Basically, to print to the printer, you must open
a TCP connection to the printer on a specified port (typically 9100,
or 9100, 9101 and 9102 for three-port boxes) and stuff your print job
into it.  LPRng (which you really should be using instead, if you're
reading this section) has built-in support for stuffing print jobs
into random TCP ports, but with BSD lpd it's not so easy.  The best
thing is probably to obtain and use the little utility called netcat.
Failing that, it can be implemented, among other ways, in Perl:
-->

いくつかのプリンタ
(と、プリンタをネットワーク対応にする「ブラックボックス」の類)
は、安っぽく貧弱でプロトコルなしの基本的な TCP 接続しかサポートしていません。
この種のもので有名なのは、JetDirect (いくつかの JetDirectEx を含む)の
初期モデルです。
基本的に、このプリンタに印刷するには、プリンタの決められたポート
(一般的には 9100 か 3 ポートボックスでは 9100, 9101, 9102)に対して
TCP コネクションをオープンし、印刷ジョブを流し込まなければいけません。
LPRng (この節を読んでいるならこちらを代わりに使うべきです) には
印刷ジョブを適当な(random) TCP ポートに流し込むためのサポートが
組み込まれています。しかし、 BSD lpd ではこれほど簡単にはいきません。
おそらく一番いい方法は、
netcat と呼ばれている小さなユーティリティを手にいれて使うことでしょう。
さもなくば、他の手を使って実装してしまうのもありです。Perl で書くなら -
<!--NOM a cheesy little non-protocol involving plain TCP connections -->

<tscreen><verb>
#!/usr/bin/perl
# Thanks to Dan McLaughlin for writing the original version of this
# script (And to Jim W. Jones for sitting next to Dan when writing me
# for help ;)
# このスクリプトの最初のバージョンを書いた Dan MacLaughlin に
# 感謝します(それと Dan が私に助けを求めるメールを書いているときに
# Jim W. Jones が彼の隣に座っていてくれたことに ;-)


$fileName = @ARGV[0];

open(IN,"$fileName") || die "Can't open file $fileName";

$dpi300     = "\x1B*t300R";
$dosCr      = "\x1B&ero;k3G";
$ends = "\x0A";

$port =  9100 unless $port;
$them = "bach.sr.hp.com" unless $them;

$AF_INET = 2;
$SOCK_STREAM = 1;
$SIG{'INT'} = 'dokill';
$sockaddr = 'S n a4 x8';

chop($hostname = `hostname`);
($name,$aliases,$proto) = getprotobyname('tcp');
($name,$aliases,$port) = getservbyname($port,'tcp')
    unless $port =~ /^\d+$/;;
($name,$aliases,$type,$len,$thisaddr) =
        gethostbyname($hostname);
($name,$aliases,$type,$len,$thataddr) = gethostbyname($them);
$this = pack($sockaddr, $AF_INET, 0, $thisaddr);
$that = pack($sockaddr, $AF_INET, $port, $thataddr);

if (socket(S, $AF_INET, $SOCK_STREAM, $proto)) {
#    print "socket ok\n";
}
else {
    die $!;
}
# Give the socket an address.
# ソケットにアドレスを与えます。
if (bind(S, $this)) {
#    print "bind ok\n";
}
else {
    die $!;
}

# Call up the server.
# サーバに接続します。

if (connect(S,$that)) {
#    print "connect ok\n";
}
else {
    die $!;
}

# Set socket to be command buffered.
# ソケットをコマンドバッファリングするように設定します。

select(S); $| = 1; select(STDOUT);

#    print S "@PJL ECHO Hi $hostname! $ends";
#    print S "@PJL OPMSG DISPLAY=\"Job $whoami\" $ends";
#    print S $dpi300;

# Avoid deadlock by forking.
# fork してデッドロックを避けます。

if($child = fork) {
    print S $dosCr;
    print S $TimesNewR;

    while (<IN>) {
        print S;
    }
    sleep 3;
    do dokill();
} else {
    while(<S>) {
        print;
    }
}

sub dokill {
    kill 9,$child if $child;
}
</verb></tscreen>

<!--
<sect1>Running an <em/if/ for remote printers
-->
<sect1>リモートプリンタに <em/if/ を実行する
<p>
<!--
One oddity of lpd is that the <em/if/ is not run for remote printers.
If you find that you need to run an <em/if/, you can do so by
setting up a double queue and requeueing the job.  As an example,
consider this <em/printcap/:
-->
lpd の奇妙な点のひとつは、<em/if/ がリモートプリンタのためには実行されない
ということです。<em/if/ を実行する必要があるとわかった場合、
キューを二重に設定し、ジョブを再度キューに入れることで実現できます。
例えば、このような <em/printcap/ を考えてみてください -
<tscreen><verb>
lj-5:\
        :lp=/dev/null:sh:\
        :sd=/var/spool/lpd/lj-5:\
	:if=/usr/lib/lpd/filter-lj-5:
lj-5-remote:lp=/dev/null:sh:rm=printer.name.com:\
	:rp=raw:sd=/var/spool/lpd/lj-5-raw:
</verb></tscreen>
<!--
in light of this <tt/filter-lj-5/ script:
-->
このような  <tt/filter-lj-5/ スクリプトがあるとします - 
<tscreen><verb>
#!/bin/sh
gs <options> -q -dSAFER -sOutputFile=- - | \
	lpr -Plj-5-remote -U$5
</verb></tscreen>
<p>
<!--
The <em/-U/ option to lpr only works if lpr is run as daemon, and it
sets the submitter's name for the job in the resubmitted queue
correctly.  You should probably use a more robust method of getting
the username, since in some cases it is not argument 5.  See the man
page for <em><htmlurl name="printcap"
url="http://www.picante.com/~gtaylor/pht/man/printcap.5.html"></em>.
-->
lpr の <em/-U/ オプションは lpr がデーモンとして実行されているときに
のみ、機能します。これは、再送されたキュー中のジョブに関して
投げた人の名前を正確に設定します。
ユーザ名が第 5 引数ではない場合があるので、
ユーザ名を取得するにはもっと頑健な手段を使用するべきでしょう。
<em><htmlurl name="printcap"
url="http://www.picante.com/~gtaylor/pht/man/printcap.5.html"></em>
の man ページをご覧ください。
<!-- resubmitted queue = 再送されたキュー -->
<!-- argument 5 ??? -->

<!--
<sect1>From Windows.
-->
<sect1>Windows から
<p>
<!--
Printing from a Windows (or presumably, OS/2) client to a Linux
server is directly supported over SMB through the use of the SAMBA
package, which also supports file sharing of your Linux filesystem to
Windows clients.
-->
Windows (とおそらく OS/2 も)クライアントから Linux サーバ
への印刷は samba パッケージを使用することにより SMB 越しに直接
サポートされています。
また samba パッケージは Windows クライアントとの
Linux ファイルシステムのファイルの共有もサポートしています。
<p>
<!--
Samba includes fairly complete documentation, and there is a good
Samba FAQ which covers it, too.  You can either configure a magic
filter on the Linux box and print PostScript to it, or run around
installing printer-specific drivers on all the Windows machines and
having a queue for them with no filters at all.  Relying on the
Windows drivers may in some cases produce better output, but is a bit
more of an administrative hassle if there are many Windows boxen.  So
try Postscript first.
-->
samba はかなり完成度の高いドキュメントを含んでおり、
それをカバーする優れた samba FAQ もあります。
Linux ボックスのマジックフィルタを設定してそれに対して PostScript を
印刷することもできますし、
全ての Windows マシンにプリンタ固有のドライバをインストール
してまわってそれらに対してフィルタなしのキューを用意することもできます。
Windows のドライバにまかせるほうがより良い出力を得ることができる
場合もありますが、
Windows ボックスがたくさんあるときには、
少々管理の苦労は増えることになります。
ですから、まず PostScript を先に試してみてください。

<!--
<sect1>From an Apple.
-->
<sect1>Apple から
<p>
<!--
Netatalk supports printing from Apple clients over EtherTalk.  See the
<url name="Netatalk HOWTO Page"
url="http://thehamptons.com/anders/netatalk/"> for more information.
-->
Netatalk は、 Apple クライアントからの EtherTalk 越しの印刷を
サポートします。
さらなる情報が必要ならば
<url name="Netatalk HOWTO Page"
url="http://thehamptons.com/anders/netatalk/">
をご覧ください。

(訳注: <url url="http://www.linux.or.jp/JF/JFdocs/jp.netatalk-HOWTO.html"
name="Linux Netatalk 日本語版">もどうぞ)

<!--
<sect1>From Netware.
-->
<sect1>Netware から
<p>
<!--
The ncpfs package includes a daemon named pserver which can be used to
privide service to a NetWare print queue.  From what I understand,
this system requires a Bindery-based NetWare, ie 2.x, 3.x, or 4.x with
bindery access enabled.
-->
ncpfs パッケージは、NetWare の印刷キューに対するサービスを提供する
ために使用できる pserver という名前のデーモンを含んでいます。
私の理解するところでは、
このシステムは Bindery-based NetWare すなわち bindery アクセスを
有効にしている 2.x か 3.x, 4.x を必要とします。
<!--NOM bindery がわからず -->
<p>
<!--
For more information on ncpfs and it's pserver program, see
<url url="ftp://ftp.gwdg.de/pub/linux/misc/ncpfs/" 
name="the ncpfs FTP site">.
-->
ncpfs と pserver プログラムに関してもっと知りたければ、
<url url="ftp://ftp.gwdg.de/pub/linux/misc/ncpfs/" 
name="ncpfs の FTP サイト">
をご覧ください。


<sect>Windows 専用プリンタ

<p>
<!--
As I discussed earlier, some printers are inherently unsupported
because they don't speak a normal printer language, instead using the
computer's CPU to render a bitmap which is then piped to the printer
at a fixed speed.  In a few cases, these printers also speak something
normal like PCL, but often they do not.  In some (really low-end)
cases, the printer doesn't even use a normal parallel connection but
relies on the vendor's driver to emulate what should be hardware
behaviour (most importantly flow control).
-->

すでに議論したように、普通のプリンタ言語をしゃべらないため、
本質的にサポートされていないプリンタがあります。
それらのプリンタは、コンピュータの CPU がビットマップを描画して、
一定速度でその画像情報をプリンタに送るしくみになっています。
たまに PCL のような通常の言語をしゃべることもありますが、それは
まれなケースです。
通常のパラレル接続を使わずに、ベンダのドライバによってハードウェアの
動作 (もっとも大切なものはフロー制御) をエミュレートするプリンタさえも
存在します (本当にローエンド機種ですが)。

<p>
<!--
In any case, there are a few possible workarounds if you find yourself
stuck with such a lemon.
-->

いずれにしても、あなたがそういった欠陥商品のおかげで行き詰まって
しまったときには、いくつかの方法を試すことができます。

<!--
<sect1>The Ghostscript Windows redirector
-->
<sect1>Ghostscript - Windows 変換ドライバ

<p>
<!--
 There is now a Windows printer driver available (called mswinpr2) that
will run a print job through Ghostscript before finally printing it.
(Rather like an if filter in Unix's LPD).  There is also a new
Ghostscript driver which will print using Windows GDI calls.  Taken
all together, this should(tm) allow a Windows machine to print
PostScript to a Windows-only printer through the vendor's driver.
-->

印刷を実行する前に、Ghostscript を介してプリントジョブを処理する
Windows のプリンタドライバ (mswinpr2) を手に入れることができます
 (UNIX LPD の if フィルタのようなものです)。
また、Windows の GDI コールを利用してプリントをする新しい Ghostscript
ドライバも存在します。
これらを使えば、Windows マシンからWindows 専用プリンタへの
PostScript 印刷が、ベンダに提供されたドライバを使うことによって
可能となるはずです。

<!-- should(tm) とは何でしょう? -->

<p>
<!--
If you get that working, you can then follow the instructions above
for printing to a Windows printer over the network from Linux to let
Unix (and other Windows, Mac, etc) hosts print to your lemon printer.
-->

それがうまくいったら、今度は Linux から Windows プリンタへ
ネットワーク経由でプリントする上記の説明に従えば、Unix
(そしてほかの Windows、Mac、その他) のホストから欠陥
プリンタへとプリントをすることができるようになります。

<p>
<!--
That said, I've never tried this since I don't have a winprinter, so
your mileage may vary.  All the software involved should be available
from the Ghostscript home page (see the links in the Ghostscript
section of this document).
-->

念のため断っておきますが、私は Windows 専用プリンタを持っていないため、
この方法を試したことはありません。ですから、ここに書いた方法通りに
すればうまくいくかどうかは分かりませんし、ほかの方法を使う必要が
あるかもしれません。
ここに記したすべてのソフトウェアは、Ghostscript のホームページ
から入手可能です (この文書の Ghostscript の章にあるリンクを参照)。

<!--
<sect1>The pbm2ppa program
-->
<sect1>pbm2ppa プログラム 

<p>
<!--
Some HP printers use "Printing Performance Architecture"
(marketingspeak for "we were too cheap to implement PCL").  This is
supported in a roundabout way via the pbm2ppa translator written by
Tim Norman.  Basically, you use ghostscript to render PostScript into
a bitmapped image in pbm format and then use pbm2ppa to translate this
into a printer-specific ppa format bitmap ready to be dumped to the
printer.  This program may also come in ghostscript driver format by
now.
-->

HP プリンタの中には、「プリント実行機構 (Printing Performance
Architecture) 」を使っているものがあります
(``we were too cheap to implement PCL'',
``PCL を実装したんだけど、安すぎ'' というのが宣伝文句)。
これは、Tim Norman さんが書いた pbm2ppa 変換ソフトウェアを介した、まわりくどい
方法によってサポートされています。基本的には、Ghostscript に
よって PostScript から pbm 形式のビットマップイメージを描画して、
pbm2ppa によってプリンタに依存する ppa 形式のビットマップ形式に変換し、
それをプリンタに送るのです。
このプログラムは、今では Ghostscript ドライバ版が入手可能かも
しれません。

<p>
<!--
The ppa software can be had from <url
url="http://www.rpi.edu/~normat/technical/ppa/" name="the ppa home
page">; pbm2ppa supports some models of the HP 720, 820, and 1000;
read the documentation that comes with the package for more details on
ppa printer support.
-->

ppa ソフトウェアは、<url
url="http://www.rpi.edu/~normat/technical/ppa/" name="ppa のホームページ">
から入手可能です。pbm2ppa は HP 720, 820, 1000 のいくつかのモデルを
サポートしています。
ppa のプリンタサポートについて、より詳しくはパッケージ内の
文書を読んでください。

<sect1>Lexmarks

<p>
<!--
Most of the cheap Lexmark inkjets use a proprietary language and are
therefore Winprinters.  However, Henryk Paluch has written a program
which can print in black and white on a Lexmark 7000.  Hopefully he'll
be able to figure out color and expand support to other Lexmark
inkjets.  See <url url="http://bimbo.fjfi.cvut.cz/~paluch/l7kdriver/"
name="here"> for more info.
-->

安価な Lexmark インクジェットプリンタのほとんどは、メーカ専売の
言語を使っているため、Windows 専用プリンタだということができます。
しかし、Henryk Paluch さんが Lexmark 7000 に白黒印刷ができるプログラムを
書きました。もしかしたら、彼がカラー印刷の方法を明らかにして、さらに
ほかの Lexmark インクジェットへサポートを広げるようになるかもしれません。
より詳しくは、<url url="http://bimbo.fjfi.cvut.cz/~paluch/l7kdriver/"
name="ここ">を参照してください。

<p>
<!--O
Similarly, there are now drivers for the 5700, 1000, 1100, 2070, and
others.  See the supported printers listing above, and my web site,
for more information on obtaining these drivers.
-->

同様に、5700 や 1000, 1100, 2070, その他についても新しいドライバがあります。
入手に関しては、上にある「サポートされているプリンタ」のセクションや
私の Web サイトを見てください。

<!--
<sect>How to print to a fax machine.
<sect1>Using a faxmodem
-->
<sect>ファックスを用いた印刷の方法
<sect1>ファックスモデムを使う
<p>
<!--
There are a number of fax programs out there that will let you fax and
receive documents.  One of the most complex is Sam Leffler's
<em/HylaFax/, available from <tt/ftp.sgi.com/.  It supports all sorts
of things from multiple modems to broadcasting.
-->
ファックスの送受信をするためのプログラムはいくつもあります。Sam Leffler
さんの<em/HylaFax/ はその中でももっとも複雑なものの一つです。
<tt/ftp.sgi.com/ から入手できます。このプログラムは、複数モデムの使用か
ら一斉送信に至るあらゆる機能を備えています。


<p>
<!--
SuSE ships a Java HylaFax client which allegedly works on any Java
platform (including Windows and Linux).  There are also non-Java fax
clients for most platforms; Linux can almost certainly handle your
network faxing needs.
-->

SuSE (訳注: Linux ディストリビューションの一つ)は Java HylaFax を提
供しています。どの Java プラットホームでも(Windowsおよび Linux を含む)
利用できるということです。


<p>
<!--
Also available, and a better choice for most Linux boxen, is
<tt><htmlurl name="efax"
url="http://www.picante.com/~gtaylor/pht/man/efax.1.html"></tt>, a
simple program which sends faxes.  The getty program <tt/mgetty/ can
receive faxes (and even do voicemail on some modems!).
-->
 
<tt><htmlurl name="efax"
url="http://www.picante.com/~gtaylor/pht/man/efax.1.html"></tt> も利用可
能です。Linux 機の場合にはたいていこちらを選ぶ方が賢明でしょう。これはファ
ックスを送信するだけの簡単なプログラムです。受信には gettyプログラムであ
る <tt/mgetty/ が使えます(モデムによってはボイスメールも取り扱えます)。



<sect1>遠隔印刷サービスを使う
<p>

<!--
There is an experimental service offered that lets you send an email
message containing something you'd like printed such that it will
appear on a fax machine elsewhere.  Nice formats like postscript are
supported, so even though global coverage is spotty, this can still be
a very useful service.  For more information on printing via the
remote printing service, see the <url
url="http://www.tpc.int/" name="Remote Printing WWW Site">.
-->

印刷したいものを電子メールといっしょに送付すれば、どこにあるファックス
機からでもそれを印刷できるというサービスを提供する実験が行われています。
サポートされているのは PostScript のような精密な形式のものです。世
界中どこでも利用できるというわけにはいきませんが、とても有用なサービス
と言えるでしょう。遠隔プリントサービスを介する印刷の詳細については、
<url url="http://www.tpc.int/" name="遠隔印刷の WWW サイト">をご覧下さ
い。


<sect>印刷するブツを作る方法
<!-- How to generate something worth printing. -->
<p>
<!-- Here we get into a real rat's-nest of software.  Basically, Linux can
run many types of binaries with varying degrees of success: Linux/x86,
Linux/Alpha, Linux/Sparc, Linux/foo, iBCS, Win16/Win32s (with dosemu
and, someday, with Wine), Mac/68k (with Executor), and Java.  I'll
just discuss native Linux and common Unix software.
-->
現在私たちは、まさにソフトウェアのネズミの巣に迷い込んでいます。いくらか
の程度の差はありますが、Linux で何種類ものバイナリを走らせることができ
ます。Linux/x86、 Linux/Alpha、 Linux/Sparc、 Linux/foo、 iBCS、 Win16/Win32s
(dosemu やそのうちに wine を使うことによって)、 Mac/68k (Executor を使用
して)、 そして Java です。このドキュメントでは Linux 本体でのやり方と一般的
な UNIX のソフトウェアについて述べます。

<!-- I'll の所は意訳(^^; -->

<p>
<!-- 
For Linux itself, choices are mostly limited to those available for
Unix in general:
-->
Linux 本体に関して言うと、選択肢は UNIX 汎用のものにおおむね限られています。

<sect1>マークアップ言語(Markup languages)
<!-- Markup languages -->

<p>
<!-- Most markup languages are more suitable for large or repetitive
projects, where you want the computer to control the layout of the
text to make things uniform.
-->
だいたいのマークアップ言語は、大きなプロジェクトや繰り返し作業の多い
プロジェクトにより適しています。コンピュータに文書のレイアウトを制御させ、
見栄えを統一したいような場合です。

<p>
<descrip>
<!-- 
<tag><tt>nroff</tt></tag>This was one of the first Unix markup
languages.  Man pages are the most common examples of things formatted
in *roff macros; many people swear by them, but nroff has, to me at
least, a more arcane syntax than needed, and probably makes a poor
choice for new works.  It is worth knowing, though, that you can
typeset a man page directly into postscript with groff.  Most man
commands will do this for you with <tt/man -t foo | lpr/.
-->
<tag><tt>nroff</tt></tag>これは UNIX の最初のマークアップ言語の1つでした。
man page は *roff マクロで書式化された物の最も代表的な例です。nroff に対
して悪口を言う人も多く、少なくとも私にとっては必要以上に難解な構文を持ち
ますので、新しく作業をするときの選択肢にはなりにくいです。ですが groff 
を使用することによって、man page を直接 PostScript にすることができ
るということを知っておく価値はあります。ほとんどの man ではこれは 
<tt/man -t foo | lpr/ を実行することによって可能です。

<!-- 
<tag/TeX/TeX, and the macro package LaTeX, are one of the most widely
used markup languages on Unix.  Technical works are frequently written
in LaTeX because it greatly simplifies the layout issues and is
<em/still/ one of the few text processing systems to support
mathematics both completely and well.  TeX's output format is
<tt/dvi/, and is converted to PostScript or Hewlett Packard's PCL with
<tt/dvips/ or <tt/dvilj/.  If you wish to install TeX or LaTeX,
install the whole teTeX group of packages; it contains everything.
-->
<tag/TeX/TeX とそれのマクロ集である LaTeX は UNIX 上で最も広く使われてい
るマークアップ言語の一つです。テクニカルな記述は、しばしば LaTeX で書か
れます。その理由としては文章のレイアウトを決める作業を非常に簡単にして、
また依然として、数学的記述を完全にサポートする数少ないテキスト処理システム
の一つだからです。TeX の出力フォーマットは <tt/dvi/ で、<tt/dvips/ か 
<tt/dvilj/ によって PostScript やヒューレットパッカードの PCL へと変
換できます。TeX か LaTeX をインストールしたい場合、teTeX グループの全て
のパッケージをインストールしてください。これには全てが含まれています。

(訳注:日本語の組版 (縦組み) に対応した TeX としては、
<url url="http://www.ascii.co.jp/pb/ptex/" name="pTeX"> があります)

<!-- 
<tag/SGML/There is at least one free sgml parser available for Unix
and Linux; it forms the basis of Linuxdoc-SGML's homegrown document
system.  It can support other DTD's, as well.
-->
<tag/SGML/少なくとも一つの Unix/Linux 用の free の sgml パーサーがあります。
それは Linuxdoc-SGML ドキュメントシステムの根底を成すものですが、他の 
DTD もサポートしています。

<!-- 
<tag/HTML/Someone suggested that for simple projects, it may suffice
to write it in HTML and print it out using Netscape.  I disagree, but
YMMV.
-->
<tag/HTML/単純な仕事だったら、HTML で書いて
Netscape で印刷するだけで十分だよ、と誰かが示唆してくれました。
私はそうは思いませんが、まああなたにおまかせします。

<!-- YMMV は jargon に載ってました。この場合、こういう訳でしょうかね。-->
</descrip>

<sect1>WYSIWYG 型ワープロ
<!-- WYSIWYG Word Processors -->
<p>
<!-- There is no longer any shortage of WYSIWYG word processing
software.  Several complete office suites are available, including one
that's free for personal use (StarOffice).
-->
WYSIWYG 型のワープロには、もはや何の不足もありません。完全なオフィススイー
ト(office suite)なものもいくつか入手可能で、中には個人利用の場合にはフリー
な物もあります(StarOffice)。
<descrip>

<!-- 
<tag/StarOffice/Sun Microsystes company is distributing StarOffice on
  the net free for Linux.  This full-blown office suite has all the
  features you'd expect, and you can't beat the price.  There's a
  mini-HOWTO out there which describes how to obtain and install it.
  It generates PostScript or PCL, so should work with most any printer
  that works otherwise on Linux.  Apparently it's an Office clone and
>   is rather bloated; these are probably two equivalent facts!

-->
<tag/StarOffice/サン・マイクロシステムズは Linux 用の StarOffice をネットで
フリーで配布しています。この成熟したオフィススイートは、あなたが期待する
機能すべてを備えているはずで、また値段の点でも非の打ち所がありません。
どのように入手し、インストールするのかが記述された mini-HOWTO
がそこらに転がっています。StarOffice は PostScript 、もしくは PCL
を生成しますから Linux 上の他のプログラムで使えているプリンタならどこででも
動作するはずです。見たところこれは Office クローンで、
少々多機能すぎるところがあります;
そう、(多機能すぎについての)、今や同様の実例が二つあるってわけですよ!
<!-- 
<tag/WordPerfect/Corel distributes a basic version of Word Perfect 8
  free for Linux, and has suggested that they will distribute Corel Draw
  and Quattro Pro as well, once they are ported.  This is probably the
  best option if you have an ARM machine; Corel makes the ARM-based
  Netwinder Linux computers and is almost certian to offer ARM Linux
  versions of everything.  You can also buy the full-blown version and
  support, together or separately.  The <url
  url="http://www.channel1.com/users/rodsmith/wpfonts.html" name="Linux 
  WordPerfect Fonts and Printers"> page has information about
  configuring WordPerfect for use with either Ghostscript or its
  built-in printer drivers (which are apparently identical the DOS
  WordPerfect drivers, if your printer's driver isn't included in the
  WP8 distribution).
-->
<tag/WordPerfect/Corel は Word Perfect 8 基本バージョンの Linux 版をフリー
で配布しています。また Corel Draw と Quattro Pro もポーティングが終わり
次第、同様に配布しようと提示しています。ARM マシンをお持ちの場合、おそら
くこれはベストな選択肢です。Corel は ARM ベースの Netwinder Linux コンピュー
タを作っており、また全てのプロダクトの ARM Linux 版を提供することはほぼ
確実です。完全機能のバージョンやサポート付きのバージョンを買うこともでき
ます。両方一緒に購入することもできますし、別々にも購入できます。<url
url="http://www.channel1.com/users/rodsmith/wpfonts.html" name="Linux
WordPerfect Fonts and Printers"> ページには WordPerfect を Ghostscript 
や内蔵のプリンタドライバ (見たところ WP8 (for Linux) についてるプリ
ンタドライバは DOS のものと明らかに同じものです。ですからWP8 にあなたの
プリンタのドライバがなければ、DOS 版から取ってきてしまいましょう) で使う
ときの設定についての情報があります。

<!--
<tag/Applix/Applix is a cross-platform (ie, various Unices, Windows,
  and others) office suite sold by the Applix company.  Red Hat and
  SuSE sold it themselves when it was the only game in town; now sales
  have reverted to Applix.
-->
<tag/Applix/Applix はクロスプラットフォーム (各種 UNIX 系、Windows、その他)
なオフィススイートで、Applix 社より販売されています。Red Hat と SuSE は
それが単なるおもちゃにすぎなかった時から、自分たちで販売していました。
現在の販売元は Applix に戻っています。

<!-- morimoto: 文章の中に入れちゃいました
 (訳注: unice とは、UNIX の複数形です。ただし、同じ種類の UNIX が
複数あったとしても unice ではありません。AIX, Linux, BSD など複数の種類の
UNIX を指して unice と言います)
-->

<!--O
<tag/AbiWord/AbiWord is one of several GPL WYSIWYG word processor
  projects; this one has produced a functional if basic program.  Work
  is progressing on Gnome desktop integration.
-->

<tag/AbiWord/AbiWord は GPL ベースの
WYSIWYG なワードプロセッサ開発プロジェクトのうちの一つです。
これは、ユーザインタフェースを受け持つ
実用的な基本プログラムとして制作されました。
GNOME デスクトップ環境との統合作業が進んでいます。

<!-- 
<tag/LyX/LyX is a front-end to LaTeX which looks very promising.  See
  the <url name="LyX Homepage" url="http://www.lyx.org/"> for more
  information.  There is a KDE-styled version of LyX, called Klyx; the
  author of LyX and the instigator of KDE are the same person.
-->
<tag/Lyx/Lyx は LaTeX のフロントエンドで、非常に将来性があります。詳しく
は <url name="LyX Homepage" url="http://www.lyx.org/"> を参照してくださ
い。Klyx と呼ばれる、KDE スタイルの LyX もあります。LyX の著者と KDE の
発案者(instigator)は同一人物です。

<!-- 
<tag/Maxwell/Maxwell is a simple MS RTF-format based word processor
  which started as a commercial product but is now distributed under
  the GPL.
-->
<tag/Maxwell/Maxwell はシンプルな MS RTF フォーマットベースのワープロで、
当初は商用のプロダクトでしたが現在は GPL で配布されています。

<!-- <tag/The Andrew User Interface System/AUIS includes <tt/ez/, a
  WYSIWYG-style editor with most basic word processor features, HTML
  capabilities, and full MIME email and newsgroup support.
  Unfortunately, AUIS is no longer maintained.
-->
<tag/The Andrew User Interface System/AUIS は <tt/ez/ という WYSIWYG 型
のエディターを持ち、これは基本的なワープロ機能、HTML 、MIME に完全対応し
た email 及びニュースグループのサポート機能があります。AUIS はもうメンテ
ナンスされていません。

<!-- 
<tag/Koffice/The KDE project is working toward a whole office suite.
  I don't think it's ready for prime time yet.  The word processor
  will apparently be a descendant of LyX.
-->
<tag/Koffice/KDE プロジェクトは完全なオフィススイートを目指しています。
私としては、まだ晴れ舞台に上がる力が備わっているとは思っていません。KDE のワー
プロは明らかに LyX を基にしています。

<!-- 
<tag/GNOME/The GNOME project also is working toward various
  GNU-licensed officey tools.  None are available yet, though.
-->
<tag/GNOME/GNOME プロジェクトも各種 GNU ライセンスのオフィス系ツールを
目指しています。現在はまだ何もありませんが。

</descrip>

<p>
<!-- 
Other vendors should feel free to drop me a line with your offerings.
-->
他のベンダのかた、どうかお気軽に、製品情報についてお知らせください。

<!--
<sect>On-screen previewing of printable things.
-->
<sect>印刷可能なものの画面上でのプレビュー
<p>
<!--
Nearly anything you can print can be viewed on the screen, too.
-->
印刷できるものはほとんど全て画面に表示することもできます。
<sect1>PostScript
<p>
<!--
Ghostscript has an X11 driver best used under the management of the
PostScript previewer <htmlurl name="gv"
url="http://www.picante.com/~gtaylor/pht/man/gv.1x.html">.  The
latest versions of these programs should be able to view PDF files, as
well.  Note that gv has replaced the older previewer "Ghostview"; the
new user interface is mch prettier and featurefulq that ghostview's
plain old Athena gui.
-->
Ghostscript には X11 用のドライバが付属しており、これは PostScript の
プレビューアである <htmlurl name="gv"
url="http://www.picante.com/~gtaylor/pht/man/gv.1x.html"> から使うとと
ても便利です。これらのプログラムの最新版は、PDF ファイルも表示できるは
ずです。gv は古いプレビューアである "Ghostview" に取って代わっています。
gv の新しいインタフェースは、古くて簡単な Athena ウィジェットを使った
Ghostscript の GUI よりもずっと格好良くて高機能です。

<sect1>TeX dvi
<p>
<!--
TeX DeVice Independant files may be previewed under X11 with <htmlurl
name="xdvi" url="http://www.picante.com/~gtaylor/pht/man/xdvi.1.html">.
Modern versions of xdvi call ghostscript to render PostScript
specials.
-->
TeX の dvi ファイル(デバイス独立ファイル, DeVice Independant files) は
<htmlurl name="xdvi" url="http://www.picante.com/~gtaylor/pht/man/xdvi.1.html">
を使って X11 上で表示できます。最近のバージョンの xdvi は、Ghostscript 
を呼び出すことにより、special 命令で埋め込んだ PostScript ファイルを
表示することができます。
<p>
<!--
A VT100 driver exists as well.  It's called <tt/dgvt/.  <tt/Tmview/
works with Linux and svgalib, if that's all you can do.
-->
VT100 用のドライバもあります。これは <tt/dgvt/ と呼ばれます。
Linux と svgalib しか使えなければ、<tt/Tmview/ という手もあります。

<sect1>Adobe PDF
<p>
<!--
Adobe's Acrobat Reader is available for Linux; just download it from
their web site <url url="http://www.adobe.com/">.
-->
Adobe の Acrobat Reader には Linux 版があります。これは Adobe の WWW 
サイト <url url="http://www.adobe.com/"> からダウンロードすることができます。
<p>
<!--
You can also use xpdf, which is freeware and comes with source, and I
should think Ghostview supports viewing PDF files with gs under X11 by
now.
-->
xpdf も利用できます。これはフリーウェアですし、ソースコードも付いてい
ます。また現在の Ghostview は、gs を使って X11 上で PDF ファイルを表示
することができるはずです。
<!--
<sect>Serial printers under lpd
-->
<sect>lpd の下でのシリアルプリンタ
<!--
<sect1>Setting up in printcap
-->
<sect1> printcap の設定
<p>
<!--
Lpd provides five attributes which you can set in
<em>/etc/printcap</em> to control all the settings of the serial port
a printer is on.  Read the <em><htmlurl name="printcap"
url="http://www.picante.com/~gtaylor/pht/man/printcap.5.html"></em> man
page and note the meanings of <em/br&num;/, <em/fc&num;/,
<em/xc&num;/, <em/fs&num;/ and <em/xs&num;/.  The last four of these
attributes are bitmaps indicating the settings for use the port.  The
<em/br&num;/ atrribute is simply the baud rate, ie `<tt/br&num;9600/'.
-->
<em>/etc/printcap</em> には 5 つの設定項目があり、これを設定することに
よって、プリンタが接続されているシリアルポートの設定を全て制御すること
ができます。
<em>printcap</em>
のオンラインマニュアルを読んで、<em/br&num;/, <em/fc&num;/,
<em/xc&num;/, <em/fs&num;/, <em/xs&num;/ の意味を覚えておいてください。
この属性のうち最後の 4 つは、ポートの使い方の設定を示すフラグ設定です。
<em/br&num;/ は単なるボーのレートであり、例えば `<tt/br&num;9600/' のよ
うに設定します。
<p>
<!--
It is very easy to translate from <htmlurl name="stty"
url="http://www.picante.com/~gtaylor/pht/man/stty.1.html"> settings to
printcap flag settings. If you need to, see the man page for stty now.
-->
<htmlurl url="http://www.linux.or.jp/JM/html/GNU_sh-utils/man1/stty.1.html" name="stty">
の設定を printcap のフラグ設定に書き直すのはとても簡単です。書き直す必
要があるならば、とりあえず stty のオンラインマニュアルを見るといいでしょ
う。

<p>
<!--
Use stty to set up the printer port so that you can cat a file to it
and have it print correctly. Here's what `<em/stty -a/' looks like for my
printer port:
-->
stty を使ってプリンタポートを設定し、ファイルを cat コマンドで流し込め
ば正しく印刷できるようにしましょう。筆者のプリンタポートの設定では、
`<em/stty -a/' の出力は以下のようになります - 
<tscreen><verb>
dina:/usr/users/andy/work/lpd/lpd# stty -a < /dev/ttyS2
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr 
-igncr -icrnl ixon -ixoff -iuclc -ixany -imaxbel
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 
bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase
-tostop -echoprt -echoctl -echoke
</verb></tscreen>
<!--
The only changes between this and the way the port is initialized at
bootup are <tt/-clocal/, <tt/-crtscts/, and <tt/ixon/. Your port may
well be different depending on how your printer does flow control.
-->
この設定とシステムの起動時に初期化される設定との違いは、
<tt/-clocal/, <tt/-crtscts/, <tt/ixon/ だけです。シリアルポートの設定
は、プリンタがどのようにフロー制御を行っているのかによって変わってくる
ことがあります。

<p>
<!--
You actually use stty in a somewhat odd way.  Since stty operates on
the terminal connected to it's standard input, you use it to
manipulate a given serial port by using the `<tt/&lt;/' character as
above.
-->
実際のところ、stty コマンドの使い方はちょっと珍しいものです。stty は
stty の標準入力に接続されている端末を操作するので、与えられた
シリアルポートの操作は、先の例のように `<tt/&lt;/' 文字を使って行いま
す。

<p>
<!--
Once you have your stty settings right, so that `<em>cat file >
/dev/ttyS2</em>' (in my case) sends the file to the printer, look at
the file /usr/src/linux/include/asm-i386/termbits.h. This contains a lot
of &num;defines and a few structs (You may wish to cat this file to the
printer (you do have that working, right?) and use it as scratch
paper).  Go to the section that starts out
-->
stty の設定がうまくできたら(`<em>cat file &gt; /dev/ttyS2</em>'
(筆者の場合)でファイルをプリンタに送れるようになります)、次は
/usr/src/linux/include/asm-i386/termbits.h ファイルを見てください。
このファイルにはたくさんの &num;define といくつかの構造体が書かれています
(このファイルをプリンタに cat コマンドで送り(ちゃんと動きますか?)、こ
れを下書き用紙にするとよいでしょう)。以下の部分から始まるセクションを
見つけてください。
<tscreen><verb>
/* c_cflag bit meaning */
#define CBAUD   0000017
</verb></tscreen>
<!--
This section lists the meaning of the <em/fc&num;/ and <em/fs&num;/ bits. You
will notice that the names there (after the baud rates) match up with
one of the lines of stty output. Didn't I say this was going to be
easy?
-->
このセクションには <em/fc&num;/ ビットと <em/fs&num;/ ビットの意味が列
挙されています。読者の皆さんも、ボーのレートの後にあるそれぞれの名前が 
stty コマンドの出力行のどれかと一致することに気づかれることでしょう。
これは簡単だろうっていいませんでしたっけ?

<p>
<!--
Note which of those settings are preceded with a - in your stty
output. Sum up all those numbers (they are octal). This represents the
bits you want to clear, so the result is your <em/fc&num;/ capability.  Of
course, remember that you will be setting bits directly after you
clear, so you can just use `<tt/fc&num;0177777/' (I do).
-->
stty コマンドの出力では、これらの設定それぞれの前に「-」が付く点に注意
してください。これらの数(8 進値です)を全て足してみてください。これは
クリアしようとしているビットを表すので、その結果は <em/fc&num;/ の
ケーバビリティとなります。もちろん、クリアを行った後に直接ビット値を設
定することもできるので、単に `<tt/fc&num;0177777/' を使うこともできま
す(筆者はそうしています)。

<p>
<!--
Now do the same for those settings (listed in this section) which do
not have a - before them in your stty output. In my example the
important ones are CS8 (0000060), HUPCL (0002000), and CREAD
(0000200). Also note the flags for your baud rate (mine is
0000015). Add those all up, and in my example you get 0002275. This
goes in your <em/fs&num;/ capability (`<tt/fs&num;02275/' works fine in my
example).
-->
今度は、stty コマンドの出力において頭に「-」が付いていない設定(同じ
セクションにあるもの)についても同じことを行ってください。本文の例で重
要なのは CS8 (0000060), HUPCL (0002000), CREAD (0000200) です。
ボーレート(筆者の場合は 0000015)を表すフラグも覚えておきましょう。これ
らを全部足し合わせてください。本文の例ではこの値は 0002275 になります。
これが <em/fs&num;/ の機能です(本文の例では 
`<tt/fs&num;02275/' でうまく動作しています)。

<p>
<!--
Do the same with set and clear for the next section of the include
file, "c_lflag bits". In my case I didn't have to set anything, so I
just use `<tt/xc&num;0157777/' and `<tt/xs&num;0/'.
-->
このインクルードファイルの次のセクションである「c_lflag ビット」につい
ても、設定とクリアを同じように行ってください。筆者は何も設定しておらず、
`<tt/xc&num;0157777/' と `<tt/xs&num;0/' だけを使っています。

<!--
<sect1>Older serial printers that drop characters
-->
<sect1>文字落ちする古いシリアルプリンタ
<p>
<!--
Jon Luckey points out that some older serial printers with ten-cent
serial interfaces and small buffers <em/really/ mean stop when they
say so with flow control.  He found that disabling the FIFO in his
Linux box's 16550 serial port with <tt><htmlurl name="setserial"
url="http://www.picante.com/~gtaylor/pht/man/setserial.8.html"></tt>
corrected the problem of dropped characters (you apparently just
specify the uart type as an 8250 to do this).
-->
Jon Luckey さんの指摘によると、シリアルインタフェースが安物でバッファ
も小さいシリアルプリンタには、フロー制御の際に<em/本当に/止まってしま
うものもあるそうです。
この文字落ちの問題を回避するために彼が見つけた方法は、
<tt><htmlurl url="http://www.linux.or.jp/JM/html/setserial/man8/setserial.8.html" name="setserial"></tt>
コマンドを使って Linux マシンの 16550 シリアルポートの FIFO を無効にす
ることです(これを行うには、単に UART のタイプとして 8250 を指定すれば
良いみたいです)。

<!--
fujiwara: 武井さんから「この節は,中野さんの訳した部分(の最後)と組み合
わせるといいかもですね」と suggestion をいただいたのですが、いい案が出
ませんでした(^_^; ごめんなさい。
-->

<!--
<sect>Credits
-->
<sect>クレジット
<p>
<!--
The <tt/smbprint/ information is from an article by Marcel Roelofs
<tt/&lt;marcel@paragon.nl>/.
-->
<tt/smbprint/ の関する情報は、Marcel Roelofs さん(<tt/&lt;marcel@paragon.nl>/)
の記事からいただきました。

<p>
<!--
The <tt/nprint/ information for using Netware printers was provided by
Michael Smith <tt/&lt;mikes@bioch.ox.ac.uk>/.
-->
Netware に接続されたプリンタを使うための <tt/nprint/ に関する情報は、
Michael Smith さん(<tt/&lt;mikes@bioch.ox.ac.uk>/)にご教示いただきました。

<p>
<!--
The serial printers under lpd section is from Andrew Tefft
<tt/&lt;teffta@engr.dnet.ge.com>/.
-->
「lpd の下でのシリアルプリンタ」の章は Andrew Tefft さん
(<tt/&lt;teffta@engr.dnet.ge.com>/)から頂きました。

<p>
<!--
The blurb about gammas and such for gs was sent in by Andreas
<tt/&lt;quasi@hub-fue.franken.de>/.
-->
ガンマ値と gs に関する情報は Andreas さん
(<tt/&lt;quasi@hub-fue.franken.de>/)から頂きました。

<p>
<!--
The two paragraphs about the 30 second closing_wait of the serial
driver was contributed by Chris Johnson <tt/&lt;cdj@netcom.com>/.
-->
30 秒間に設定されているシリアルドライバの closing_wait オプションに関
する 2 つの節は、Chris Johnson さん(<tt/&lt;cdj@netcom.com>/)に頂きま
した。

<p>
<!--
Robert Hart sent a few excellent paragraphs about setting up a print
server to networked HPs which I used verbatim.
-->
Robert Hart さんは、ネットワーク接続された HP マシン向けのプリントサー
バの設定に関する素晴らしい説明を送ってくださいました。これは本文書にそ
のままの形で載せています。

<p>
<!--
And special thanks to the dozens upon dozens of you who've pointed out
typos, bad urls, and errors in the document over the years.
-->
また、長年に渡って文章中のタイプミス・URL の誤り・間違いを指摘してくだ
さった多くの方々に深い感謝を捧げます。

<sect>日本語訳について
<p>
日本語訳は Linux Japanese FAQ Project が行いました。
翻訳に関するご意見は JF プロジェクト
&lt;JF@linux.or.jp&gt;
宛に連絡してください。

改訂履歴を以下に示します。

<descrip>
<tag>v3.12, 28 July 1997</tag>
翻訳:
田所 裕之 &lt;tadokoro@ask.or.jp&gt;

<tag>v3.29, 9 March 1999</tag>
翻訳:
<itemize>
<item>早川 仁 &lt;cz8cb01@linux.or.jp&gt;(1,14 章)
<item>田中雄一郎 &lt;yuitanak@oracle.co.jp&gt;(2,5,6,7 章)
<item>中野武雄 &lt;nakano@apm.seikei.ac.jp&gt;(3 章)
<item>伊藤祐一 &lt;kade@kadesoft.com&gt;(4 章)
<item>やまさき しんじ &lt;yamasaki@sainet.or.jp&gt;(8,9 章)
<item>中谷千絵 &lt;jeanne@mbox.kyoto-inet.or.jp&gt;(10 章)
<item>野村淳一 &lt;nomura@np.bs1.fc.nec.co.jp&gt;(11 章)
<item>関 勝寿 &lt;seki@ylug.org&gt;(12 章)
<item>佐藤亮一 &lt;rsato@ipf.de&gt;(13 章)
<item>藤原輝嘉 &lt;fujiwara@linux.or.jp&gt;(15,16 章)
</itemize>

訳語統一・校正:
<itemize>
<item>武井 伸光 &lt;takei@cc.kochi-u.ac.jp&gt;
<item>長谷川靖 &lt;yaz-hase@qb3.so-net.ne.jp&gt;
</itemize>

<tag>v3.30, 1999/11/19</tag>
追従: 森本 淳 &lt;morimoto@xantia.citroen.org&gt;
</descrip>

</article>
