2010年11月27日アーカイブ

iPadから印刷できたので、当初の要求は満たしたのだけれど、一応FreeBSDからも印刷したくていろいろ試してみたが、日本語がことごとく駄目。
日本語を試すのに、テキストファイルと、TeXのdviファイルを利用したくて 、ちょっと見てみたら今の環境にはTeXが入っていなかった。
昔は、ASCII版のplatexがports/japaneseにあったのだけれど、最近はどうも違うらしい。
そこで、ports/japanese/teTeXと言うmetaportがあったのでそれを入れてみた。
teTeXをインストールするとplatexコマンドが使えるようになったので、むかーし書いたtexファイルをかけてみると、「Entering LaTeX 2.09 COMPATIBILITY MODE」とか出て警告がぞろぞろ出た。
最近のLaTeXがどうなってるのか全然わからないので、勉強しないと駄目だなあ。
とりあえず、dvipsも入っているので dvipsをかけると psファイルができる。
こいつをcupsの/usr/local/bin/lpr で印刷してみると、日本語部分が文字化け。
dviファイルがおかしいのか、psファイルがおかしいのか、印刷部分がおかしいのか判断がつかなかったので、順番に切り分けることに。
まずは、xdviでdviファイルを見てみると、文字化けせずに表示されたのでdviファイルは問題なさそう。
続いて、ps ファイルをgs で見ようとすると、gsが落ちてしまう。
そこで、ghostscriptとか、gsfontsとか関係しそうなportsを最新にして、japanese/font-ipa をインストールしたら、無事にgsでpsファイルが見られるようになった。
これで、psファイルも問題なし。
どこで入れたのかわからないけど、dvipdfと言うコマンドもあったので、試してみたところ、生成されたpdfを/usr/local/bin/lpr で印刷すると文字化けせずに印刷された。
???
とりあえず、bannertopsとtexttopsは日本語が駄目らしいと言う情報があったので、pstopsもまずいのではないかと疑ったりしたが、pstopsを通したpsファイルもgsで表示できたので違うようだ。
次に疑ったのが pstorasterで、こいつは ports/print/cups-pstoraster でインストールされるもの。
cups-pstorasterのMakefileを読むと、WITH_CJKと言うオプションがあるらしいのでそれを有効にしてみた。
すると、今まで文字化けして印刷されていたのがエラーが出て印刷できなくなった。
Set job-printer-state-message to "/rangecheck in --string--", current level=ERROR
Operand stack:
Fa   256   --nostringval--   --nostringval--   0   79.8851   Ryumin-Light-H   Font   Ryumin-Light-H   H   --nostringval--   FDepVector   --nostringval--   0   Ryumin-Light   CIDFont   true   Ryumin-Light   Ryumin-Light   --nostringval--   --dict:15/18(L)--   --nostringval--   236166   236166
Execution stack:
%interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1   3   %oparray_pop   1   3   %oparray_pop   1   3   %oparray_pop   1   3   %oparray_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   7   4   %oparray_pop   8   4   %oparray_pop   --nostringval--   --nostringval--   --nostringval--   11   5   %oparray_pop   --nostringval--   1   1   0   --nostringval--   %for_pos_int_continue   --nostringval--   16   6   %oparray_pop   --nostringval--   --nostringval--   --nostringval--   --nostringval--   --nostringval--   --nostringval--   --nostringval--   --nostringval--   --nostringval--   --nostringval--   %array_continue   --nostringval--   --nostringval--   --nostringval--
Dictionary stack:
--dict:1089/1123(ro)(G)--   --dict:0/20(G)--   --dict:103/200(L)--   --dict:85/300(L)--   --dict:47/65(ro)(G)--   --dict:3/10(L)--   --dict:38/50(ro)(G)--   --dict:28/50(ro)(G)--   --dict:15/40(L)--
Current allocation mode is local
ESP Ghostscript 815.04: Unrecoverable error, exit code 1
何が悪いかさっぱりわからなかったけど、どうせgsもインストールされているのだからとそちらを試してみることにした。
/usr/local/libexec/cups/filter/pstoraster をエディタで開き、espgs を呼び出しているところを gs に変更する。
--- pstoraster.ORIG     2010-11-27 16:18:35.000000000 +0900
+++ pstoraster  2010-11-27 20:45:50.000000000 +0900
@@ -52,10 +52,10 @@
 fi

 echo INFO: Starting GNU/GPL Ghostscript...  1>&2
-echo DEBUG: Running $bindir/espgs $gsopts -sOUTPUTFILE="%stdout" -c"$profile" "$ifile" 1>&2
+echo DEBUG: Running $bindir/gs $gsopts -sOUTPUTFILE="%stdout" -c"$profile" "$ifile" 1>&2

 # Now run Ghostscript...
-exec $bindir/espgs $gsopts -sOUTPUTFILE="%stdout" -c"$profile" "$ifile"
+exec $bindir/gs $gsopts -sOUTPUTFILE="%stdout" -c"$profile" "$ifile"

 #
 # End of "$Id: pstoraster.in,v 1.3.2.4 2004/06/29 13:15:10 mike Exp $".
すると、無事に印刷され、日本語も化けずに印字できた。
ならばと思ってテストページを印刷してみたが、こちらは化けたまま。やはりbannertopsが悪いのだろうか。

ちなみに、テキストファイルについては texttops が使えないので、t2psをインストールして texttops を置き換えるような対応ができるようだ。
2010年11月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

このアーカイブについて

このページには、2010年11月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2010年11月25日です。

次のアーカイブは2010年12月29日です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.1.1