[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:11090] support for Japanese in gs (Re: Re: Bug#JP/1111: easypr(-lprng)notconsistent with gs)



佐野@浜松です。

In article <19991204090209U.kohda@xxxxxxxxxxxxxxxxxxxx>
 Atsuhito Kohda <kohda@xxxxxxxxxxxxxxxxxxxx> さん writes:

> > > # gdevlips もパッチ版の方が良さそうな気はしますが。。。
> > 
> > これは gdevlips4-1.2.0 のこと ?
> 
> いえ、そうでなくて
> 
> From: Taketoshi Sano <xlj06203@xxxxxxxxxxx>
> Subject: [debian-users:19331] Re: Ohmoris's driver? (Bug#JP/1111: easypr(-lprng) not consistent with gs)
> Date: Thu, 2 Dec 1999 20:55:58 +0900
> 
> > ちなみに Debian の gs には 5.10-3 以降でソースには gdevlips-2.3.3 が
> > 含まれてます。gs 標準の gdevlbp8.c と conflict するので標準では
> > 組み込まれていませんが、debian/rules を眺めて 2 行編集 (1 行コメント
> > アウト、1 行コメント外し) して dpkg-buildpackage すれば gdevlips-2.3.3
> > を組み込んだ gs ができあがり、です。
> 
> これをデフォルトにして不具合があるのかな、と疑問に
> 思ってるだけです。

もともとの Debian パッケージで gdevlbp8 がコメントアウトされていれば
そのまま追加したんですけどね。今まで一応「使える」状態にあったものが
急に「使えなくなる」と困る人がいるかもしれない、と思って、とりあえず
コメントアウトしてます。

「使っていた人」がいるかどうかはわかりません。また「使っていた人」が
 gdevlbp8 から gdevlips4 のドライバーに移行して、困るかどうかも
わかりません。

もし gdevlbp8 を削除してその代わりに gdevlips4 を入れても、まったく
誰も困らない、ということなら、できれば upstream (Aladdin) の開発
担当者に連絡して入れてもらうほうが better でしょうね。大森さんは
以前自分のところで公開されていた hp850c-880p のパッチを別の方の
パッチに統合されたみたいだし、チャンスがあれば Aladdin GS への
統合には反対されないんじゃないかな。まだ聞いてみたことはありませんが。

# debian-devel@JP もお読みになっているらしいので、そのうち
# 対応してもらえるかも、、、(ちょっと甘えスギか ^^;;)

> ところで gs のパッチですが merge のさいにメンテナ氏が
> デフォルトサイズを libpaper で Debian 流にやる必要が
> あるとか言ってた気がするのですが(間違い?) gdev* で
> デフォルト A4 になってるのが多いと思いますが、何か修正
> されたのでしょうか?
> 
> # gs のデフォルトはデバイスとは別の話かな???

 gs オプションの -sPAPERSIZE で指定する用紙サイズとは別の話ですか ?

一応 gs_statd.ps (/usr/lib/ghostscript/5.10/) には
もともと a4 とかの定義も入っていたような。JIS の b0 - b6 を入れて
もとから入っていた b0-b5 をコメントアウトするパッチは、
単に jisb0 - jisb6 を追加するパッチとして変更していますが。

そういえば TeX -> dvi2ps したのとか、tgif から出力したのとか、
 PostScript ファイルの中で用紙を指定してあるものもありますよね ?
デバイスドライバーでは指定に応じて用紙サイズを選択するか、
プリンタが対応できない用紙サイズはエラーにするか、どちらか
の動作だけのような。

 gs のデフォルト用紙サイズはどこで決まっているのかな。
もともと gs_init.ps には

gs_init.ps-% Optionally choose a default paper size other than U.S. letter.
gs_init.ps:% (a4) /PAPERSIZE where { pop pop } { /PAPERSIZE exch def } ifelse
gs_init.ps-

というコードが書かれてたみたいですが。

ちょっと PAPERSIZE で grep すると imainarg.c に

#ifdef DEBIAN
#ifdef SVGALIB_SUPPORT
        /* If svgalib is suported and DISPLAY is not defined in the */
        /* environment, then SET_SVGALIB_DEV is used as the default DEVICE */
        if (!getenv("DISPLAY") || 
            !strcmp("",getenv("DISPLAY")))
          { 
            arg_push_string(&args, SET_SVGALIB_DEV);
          }
#endif /* SVGALIB_SUPPORT */

        /* Set the default PAPERSIZE */
        {       const char *paper = systempapername();
                if ( paper != 0 )
                  { /* If the system paper is defined use it as */
                    /* default paper */
                    strncat (SET_PAPERSIZE, paper, SET_PAPERSIZE_LEN);
                    arg_push_string(&args, SET_PAPERSIZE);
                  }
        }
#endif /* DEBIAN */

というコードがありますね。このへんが関係しているのかな。

 man systempapername
 man paperconf
 man paperconfig

とかすると説明がありますね。

たぶん libpaperg のインストール時に paperconfig で a4 を
 system default papersize に設定してあれば、Debian の gs も
もともとデフォルトの用紙サイズは a4 に設定されているんだと思います。

> また LANG での自動判定は gs_init.ps だけの修正なんで
> しょうか? 他に merge のためにパッチで修正したことは
> あるのでしょうか?(あの精細な分割は別にして、内容的に
> です)

うーん、どうだったかな ? ISO の b0 〜 b5 をコメントアウトして
JIS の b0 〜 b6 に変更する部分は jisb0 〜 jisb6 を追加するように
変更した (これは Marco が ISO デフォルトにすべきだと書いていたから) 以外は
ほとんどドキュメントの英訳を追加したくらいだったような。

あと分割しても patch コマンドが失敗しないようにコード追加の順番を
入れ換えて diff の中身を変更したりとか (現時点での最新はまだ BTS に patch で
置かれていて gs には取り込まれていないと思うけれど。

5.10-4 はまだ途中のバージョンであれだと例えば kanji-support を入れずに
 jpdrivers だけ入れると失敗するし、 conflict-support もうまく build できない
ような気がする。potato のリリース前には BTS にあるパッチを取り込んでもらう
つもりです。

もちろん香田さん (だけに限らなくて、他の人でもいいんだけど) がもっと
改良してくれて conflict させずに標準で組み込めるようにしてもらえれば
それがベストだと思いますが。

実際の動作に影響するところは、私自身はほとんどいじってないと思います。
内容が理解できてないから、いじろうと思ってもできない、といっていいかも。
単に make してエラーが出ないように分割方法をいじり倒しただけ。

-- 
     # (わたしのおうちは浜松市、「夜のお菓子」で有名さ。)
    <xlj06203@xxxxxxxxxxx> : Taketoshi Sano (佐野 武俊)