Make printerdefコマンドでプリンタドライバの定義を正しく作成できない

提供:Samba-JP
J300から転送)
ナビゲーションに移動検索に移動
KB番号 J0300
最終更新日 2001/07/09
作成者 たけだやすま
最終更新者

対象

この文書は、以下のプロダクトに付いて説明したものです。

  • Samba 2.0.x

現象

make_printerdefコマンドを用いて、プリンタの定義ファイルを作成する際に、プリンタドライバのinfファイルから定義ファイルを正しく作成できないことがあります。

原因

make_printerdefコマンドの行う書式解析が不十分であったためです。 以下の形式を含むinfファイルのときに、プリンタの定義ファイルを正しく作成できません。

1. プリンタの定義が、次のようにスペース+カンマの形式で区切られていた場合

     例:
     [EPSON]
     "EPSON LP-9600S"  = LP9600S  ,LPTENUM\EPSONLP-9600S7DE6,EPSONLP-9600S7DE6
     [LP9600S]
     CopyFiles       = EP_SETUP,ESC_PAGE,@E_SLM015.DLL,@E_SEST16.DLL,@E_SCHK02.EXE
           

2. infファイル内に[Strings]セクションを持たない場合

3. プリンタの定義と、セクションの定義に大文字、小文字の違いがある場合

     例:
     "Apple Color LaserWriter 12/600J" = APlWlOT1.SPD,Apple_Color_LaserWriter_12/600J
     [APLWLOT1.SPD]  <---- Lが小文字から大文字に変更されています
     CopyFiles=@APLWLOT1.SPD,PSCRIPT
           

対処方法

Samba 2.0.10日本語版リリース1.0以降をご利用ください。

なお、Samba 2.0.9日本語版リリース1.0においても、以下のパッチで、同様のロジックを適用することが可能です。以前のバージョンに対しても同様のロジックが適用可能だと考えられますが、検証は行っておりません。

samba-2.0.9-ja-1.0_make_printerdef.patch

この技術情報は sugj-tech:3364 からの一連のスレッドの議論を元に作成されています。