2010年2月23日火曜日

CUPS のテストプリントで豆腐が印刷される件

CUPS のテストプリントで豆腐が印刷される件について、軽く調べてみた。

印刷データを生成するのは、 /usr/sbin/cupsd から起動される /usr/lib/cups/cgi-bin/printers.cgi

Printer Test Page の元ネタは /usr/share/cups/data/testprint。 どのような形式か調べていないけど、 表示されている内容や図が実際に印刷されているものと一致している。

$ cat /usr/share/cups/data/testprint
#CUPS-BANNER
Show printer-name printer-info printer-location printer-make-and-model printer-driver-name printer-driver-version paper-size imageable-area
Header Printer Test Page
Footer Printer Test Page
Notice This test page was produced by CUPS 1.4.2.
Image images/cups.png
Image images/color-wheel.png

/usr/share/locale/ja/cups_ja.po を参照しているのだけれど、 このファイルは壊れている。 行の先頭の引用符が、二カ所抜けている。

$ diff -u /usr/share/locale/ja/cups_ja.po{.orig,}
--- /usr/share/locale/ja/cups_ja.po.orig 水 12月  2 16:26:40 2009
+++ /usr/share/locale/ja/cups_ja.po 火  2月 23 16:40:26 2010
@@ -4391,7 +4391,7 @@
 "  -p filename.ppd  Set PPD file\n"
 "  -t title         Set title\n"
 msgstr ""
-使い方: cupsfilter -m mime/type [ options ] filename\n"
+"使い方: cupsfilter -m mime/type [ options ] filename\n"
 "\n"
 "Options:\n"
 "\n"
@@ -4436,7 +4436,7 @@
 "    -v                   Be slightly verbose\n"
 "    -vv                  Be very verbose\n"
 msgstr ""
-使い方: cupstestppd [オプション] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
+"使い方: cupstestppd [オプション] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
 "       program | cupstestppd [オプション] -\n"
 "\n"
 "オプション:\n"

/usr/lib/locale/ja.UTF8/ja.UTF8.so.3/usr/lib/locale/ja.UTF8/LC_MESSAGES/SUNW_OST_OSLIB.mo といった 誤ったパスを参照している。

/usr/lib/cups/filter/bannertops/usr/lib/cups/filter/pstops/usr/lib/cups/filter/pstoraster/usr/bin/gs/usr/lib/cups/backend/hal/usr/lib/cups/filter/rastertogutenprint.5.2 といったプログラムが起動されていく。

/usr/lib/cups/filter/bannertops/usr/lib/cups/filter/pstops/usr/lib/cups/filter/pstoraster/usr/lib/cups/filter/rastertogutenprint.5.2/usr/lib/locale/ja.UTF-8/ja.UTF-8.so.3 を読み込む。 これもまた誤ったパス。

/usr/share/locale/ja/cups_ja.po を修正し、 ja.UTF-8ja.UTF8 を捏造しても、 豆腐は解消しなかった。

/usr/share/locale/ja/cups_ja.po を変更すると 印刷されるテストページの内容が変わる。

特に困っていないのでここまで。

0 件のコメント:

コメントを投稿