■■■============================================================■■■ □■□     IBMプリンター友の会からのお知らせ−Vol.30 ■□■ ■□■      http://www.ibm.com/jp/printer/ □■□ ■■■============================================================■■■ <<< 目次 >>> 1. ホームページ更新のお知らせ ★想定印刷枚数について 2. OS/400 V5R1テスト・レポート ★速報 3. WindowsNT4.0用PCLドライバー ★更新方法に関するご注意 4. ポストスクリプトの基礎 ★連載第六回 ■====================================================================■ ■ ホームページ更新のお知らせ ■ ■====================================================================■ ●IBMプリンターのホームページの中「プリンター製品」の下で、長らく工事中で あった「想定印刷枚数別」のページを、やっとアップいたしました。 ●「想定印刷枚数別」というページを作ったのは、プリンターの機種を選定する上で 各機種が持っている「想定印刷枚数」が大きな要素を持つのですが、意外に そのことが知られていないからです。 ●どのプリンターもその耐久性に応じた「想定印刷枚数」が決まっています。それを 元にして、各部品の故障率を算定します。例えば、用紙送り機構を構成する 機械部品の故障率は、この枚数によって変化しますし、印字ヘッドやレーザー・ プリンターの光学系部品の故障率は、印字する文字数の影響を受けます。 この文字数も1枚当たり何文字と想定しますので、結局、枚数によって変化する ことになります。また、電源の故障率は、1日に何時間電源を入れるかで 決まってきます。 ●そのようにして算出した各部品の故障率とコスト、そしてその修理/交換に掛かる 時間から算出される人件費を元にして、保証期間中の保守コストや、保守契約料金 が決まります。従って、プリンターを保守する立場から見ると、想定印刷枚数を 大きく上回る枚数でご使用いただくと、保守サービスが赤字になってしまうことに なります。もちろん、下回ってご使用いただいている場合は、お客様は払いすぎと いうことになりますので、それを解決するのが、ユーセージ・チャージ方式という ことになります。 ●お客様の目から見たらどうでしょうか。想定印刷枚数は、プリンターの印字速度 や、お客様で使用されている同等機種の印刷枚数の実績を元に決めています。 従って、想定印刷枚数を大きく上回って使用されると「故障の多い=必要な時に 使えないことが多い」プリンターということになります。 ●想定印刷枚数の多くは「月間平均」として表示しています。これらは、1年間を 通して月間平均していただいた枚数と、お考えください。また、AFPプリンターでは 最高枚数で表示していますが、最高ですからこの枚数で毎月連続使用することは 無いようお願い申し上げます。 ■====================================================================■ ■ OS/400 V5R1テスト・レポート ■ ■====================================================================■ ●OS/400の最も新しいバージョン"V5R1"を使った印刷テストを行っていますが、以下 の現象が発生することが判明しています。今後修正情報が分かりましたら、 お知らせいたしますので、それまでお待ちください。 ●現象-1【ユーザー・フォントを含むAPWの帳票の印刷】 ユーザー・フォントが含まれるスプールに対し、MRGAPWして出力させると、 ユーザー・フォントが正しく印刷できません。(□のなかに「外」の文字となる) これは、V5R1でAPWスプールを作成する際に使用される、プリンターファイルの QAPWPRTFのIGCDTAパラメータが"*NO"のままであるため、外字ロードモジュールが 起動されないことによって発生しています。PTFの完成待ちになります。 ●現象-2【AFPプリンターでオーバーレイの文字】 AFPのオーバーレイ中で、フォントが定義されている場合(例えば「請求書」 「納品書」等の帳票タイトルや、「金額」「お客様コード」等の固定文字)、その 帳票を"V5R1"からAFPプリンターに出力すると、そのフォントが全て欠落します。 現在、開発元にて解析依頼中です。 ●現象-3【AFPプリンターで24x24ドットの文字】 "V5R1"のQCGF2424(24x24ドット・フォント)で、45区〜55区のAD、及びBDが 欠落していました。新規の"V5R1"で(バージョン・アップでなく)AFPプリンターを ご使用の場合に、アンサーライン・コールしていただくか、それ以前のリリースの 同オブジェクトを、何某かの手段で入手してコピーして使用する等の手当てが必要 になります。 ●現象-4【CGUからAFPフォントを作成する場合】 CGUから、24x24ドットのAFPフォントを作成するために、"CVTFNTAFP"を"INCHRSIZE" パラメータを”24”にして行うと、文字コードの45区〜55区のAD,BDの文字が、 ブランクになります。CVTFNTAFPは、"24"指定の場合、QSYS内のQCGF2424ファイルの ドット・イメージを元に、フォントを作成します。(CGUも、既存の文字コードを 元にして作成する場合(COPY指定)は、このファイルを使用します。) 各文字、1レコードでこのファイルは作成されており、先頭が文字コードになって いるので、HEXで表示すると、各文字レコードの有り無しは、簡単にわかります。 V5R1のQCGF2424ファイルの中を見てみると、確かにこれらのレコードが 抜けてます。 従って修正待ちではありますが、V5R1のQCGF2424ファイルをV4R5等以前の リリースのものに置き換えれば、よろしいかと思われます。 ■====================================================================■ ■ WindowsNT4.0用PCLドライバーの更新方法に関するご注意 ■ ■====================================================================■ ●A3サイズの用紙をサポートするワーク・グループ・プリンターInfoprint20/40を、 日本語の入った印刷でもパフォーマンスが速いということで、PCLドライバーで ご使用の方も多いかと思います。WindowsNT4.0からご使用いただいて、ドライバー を更新される場合には、注意が必要です。 ●ホームページをチェックしていらっしゃる方は既にご存知かと思いますが、 ワーク・グループ・プリンター用のPCLや、PostScriptのドライバーが、6月に更新 されました。このドライバーに更新する時に、以下の手順を踏まないと導入 できても、ドライバー上で「A3サイズやB4サイズの用紙が指定できない」等の 問題が、発生する可能性があります。新規にこのドライバーを導入する場合は 問題ありませんが、既に以前のバージョンのものが導入されていて、今回更新 するという場合は、以下の手順に従ってください。 1. ダウンロードしたファイルをそのまま実行してください。 2. 使用許諾に同意した後に現われるダイアログで、「プリンタードライバーを ディレクトリにコピーする」を選択してください。 3. 解凍されたファイルの中に"IBMDFix.exe"があることをご確認ください。 4. WindowsNTの「プリンタ」フォルダから、既に導入されているプリンター (PCLドライバー)のアイコンを削除してください。 5. IBMDFix.exeをそのまま実行してください。 6. システムを再起動してください。 7. 以上のようにして、従来のドライバーに関するファイルと情報を全て削除して から、先ほどダウンロードした最新ドライバーを通常の方法で導入して ください。 ※ 詳細な説明は、ドライバーに含まれるファイル"IBMDFix.txt"の中にも記述 されていますのでご一読ください。 つまり、従来のドライバーのファイルと情報をツールを使って全て削除してから、 新規に導入することがポイントです。 ■====================================================================■ ■ ポストスクリプトの基礎(第六回) ■ ■====================================================================■ ●今回は、簡単なプログラムの例から、ポストスクリプトの文法的な特徴を、見て いきましょう。以下に上げるのは、Times-Romanというフォントを使って、「IBM」 という文字を印刷させるだけの簡単なプログラムです。 %!PS-Adobe-3.0 100 200 moveto /Times-Roman findfont 20 scalefont setfont (IBM) show showpage ●それでは、一行ずつ見ていきましょう。 まず、冒頭の"%!PS-Adobe-3.0"については、回を改めてご説明します。今は、 単なる決まり文句のようなものと思っていただいて構いません。 ●2行目は、スペース(空白)によって3つの部分に区切られています。"100"、"200"、 そして"moveto"です。ここでは、スペースはデリミッタとして機能しています。 これによってPostScriptインタープリタは、"100"と"200"と"moveto"をそれぞれ 一つの実行単位(トークン)として認識し、2進数の実行コマンドに変換して処理 します。 ●さて、肝心の意味ですが、この行の場合、"100""200"は引数で、"moveto"が 「オペレータ」になります。PostScriptでは、ある処理を実行させるコマンドを 「オペレータ」と呼びます。このようにPostScriptでは、引数の後にオペレータが 来る「後置記法」を採っています。"moveto"の意味は、引数の座標に原点を移動 することです。つまりこの行では、「currentの座標を、x100単位、y200単位の 位置に移動しなさい」ということを言っているのです。ちなみに、オペレータの前 に座標を表す引数が2つあるというのは、movetoというオペレータの仕様であり、 このような決まりごとは、各オペレータによって異なります。 ●このような後置記法は、「スタック」という概念に基づいています。スタックは PostScriptがデータを入れるために、メモリ上に確保する領域で、後から入れた ものが、先に取り出される仕組みになっています。「スタック」(=積み上げる) という言葉そのままに、下から上に積み重ねて、取り出すときは上のものから 取っていく、というイメージを思い浮かべればよいでしょう。 ●具体的に考えてみましょう。PostScriptは、記述を順次に処理していきますので、 2行目の場合まず最初に"100"が来ます。そこで、100という数値が、スタック上に 置かれます。(スタックに置くことを「プッシュする」と言います) +------------+ | 100 | +------------+ 次に"200"がプッシュされます。200は後からプッシュされたので100の上に 積まれます。 +------------+ | 200 | +------------+ | 100 | +------------+ そして次に"moveto"が来ます。movetoが実行されると、スタック上の2つの数値が 取り出され(スタックから取り出すことを「ポップする」と言います)、この2つの 数値がカレント・ポイントの座標として使用されます。この時点で、このスタック は空になりました。 ●3行目はどうでしょうか。"/Times-Roman"の"/(スラッシュ)"は、それに続く "Times-Roman"が、リテラルな名前であることを示しており、これによって "Times-Roman"という名前が、そのままスタックにプッシュされます。 オペレータ"findfont"は、スタックに置かれた"Times-Roman"を取り出して、 その名前を持つフォントを探し、該当するフォント辞書を(辞書というデータ形式に ついては回を改めてご説明します)新たにスタックに残します。 その上に今度は"20"がプッシュされ、この時点でスタック上には「Times-Romanの フォント辞書」および「20」があることになります。オペレータ"scalefont"は、 スタックの上から2つを取り出して引数とし、その数値の大きさ(この場合20ポイン ト) に拡大、または縮小されたフォント辞書をスタックに返します。 ●最後に、オペレータ"setfont"が、このスタック上のフォント辞書を取り出して 「カレントフォント」として設定します。これでフォントの設定ができました。 ●4行目、showオペレータは、カッコで括られた文字列を、カレントポイントに、 カレントフォントで描画します。showが実行された後は、そのテキストの終点が、 新しいカレントポイントになります。最終行のshowpageは、ここまでの処理で生成 された「カレントページ」を、出力機に送信して実際に出力させるための、 オペレータです。以上をテキストファイルにして、LPRなどでポストスクリプト・ プリンターに転送すると、用紙の左下よりに「IBM」と印字された出力が、 印刷されるはずです。 ●以上、今回はPostScript言語の特徴として、 −ASCIIテキストで記述されるインタプリタ型言語 −スタックと後置記述方式 といったところを見てみました。