Ghostscript 5.10 用 VFlib 対応パッケージ gs5.10-vflib version 1.6 1998/07/04

このパッケージは gs5.10 で VFlib を通して日本語フォントを使用できるよう
にするためのものです。(そのために gs261j10 と gs261d13 の VFlib 関係のコー
ドを利用しています。)

インストールのしかた:
  パラメータ:
    SOMEWHERE : パッケージ類のある場所
    PREFIX    : インストール場所(デフォルトは /usr/local)

  短気な人向け:

    % tar xfz $SOMEWHERE/gs5.10-vflib-1.6.tar.gz
    % tar xfz $SOMEWHERE/ghostscript-5.10.tar.gz
    % patch -s -p0 < gs5.10-vflib-1.6/gs5.10-vflib-1.6.diff
    % cd gs5.10
    % tar xfz $SOMEWHERE/jpegsrc.v6a.tar.gz
    % tar xfz $SOMEWHERE/libpng-0.96.tar.gz
    % mv libpng-0.96 libpng
    % tar xfz $SOMEWHERE/zlib-1.0.4.tar.gz
    % mv zlib-1.0.4 zlib
    % cp unix-gcc.mak makefile
    % vi makefile       # set prefix to $PREFIX
                        # edit XINCLUDE, XLIBS, XLIBDIRS,
                        # XCFLAGS, XLDFLAGS, GCFLAGS
    % make
    % make install
    % cd $PREFIX/share/ghostscript
    % tar xfz $SOMEWHERE/ghostscript-fonts-std-5.10a.tar.gz
    % cd fonts
    % tar xfz $SOMEWHERE/ghostscript-fonts-other-5.10.tar.gz

  すこしはドキュメントを読む気がある向け:
    0. VFlib 2.x をインストールする
      特に、src/Makefile 中で DEFAULT_VFCAP を適切に定義して vfontcap を
      環境変数なしで参照できるようにしておきましょう。

      また、できればコンパイラやリンカに引数を追加しなくても VF.h や
      libVFlib.a を参照できるようにしておきます。
      (そうしたくない場合は、gs の makefile の VFINCLUDE と VFLIBDIRS を
      設定することによって、必要な引数を追加することができます。)

      VFlib 2.23.1 は
        ftp://gull.se.hiroshima-u.ac.jp/pub/TypeHack/TypeHack-19980625.tar.gz
      の中から入手できます。
      (VFlib 2.23 以降、VFlib 単独の配布はされていないようです。)

      VFlib 3.x は今のところ使用できません。

    1. gs5.10-vflib を展開する

      % tar xfz $SOMEWHERE/gs5.10-vflib-1.6.tar.gz
      % ls
      gs5.10-vflib-1.6
      % less gs5.10-vflib-1.6/README

    2. gs を展開する
      gs5.10 は ftp://ftp.cs.wisc.edu/ghost/aladdin/gs510/ から入手でき
      ます。

      % tar xfz $SOMEWHERE/ghostscript-5.10.tar.gz
      % cd gs5.10
      % tar xfz $SOMEWHERE/jpegsrc.v6a.tar.gz
      % tar xfz $SOMEWHERE/libpng-0.96.tar.gz
      % tar xfz $SOMEWHERE/zlib-1.0.4.tar.gz

    3. パッチをあてる
      gs5.10-vflib version 1.6 に含まれている gs5.10-vflib-1.6.diff を適
      用します。

      % cd ..
      % ls
      gs5.10                  gs5.10-vflib-1.6
      % patch -s -p0 < gs5.10-vflib-1.6/gs5.10-vflib-1.6.diff

      gs5.10-vflib-1.6.diff は(patch-2.5 のマニュアルのお勧めに従って)
      diff -Naur として生成してあります。パッチがうまく当たらなければ、
      新しい patch をインストールしてみてください。

      また、gs の作者が公開している次のパッチもあてると良いかも知れませ
      ん。 http://www.vix.com/ghost/post510.html

    4. 設定する
      例えば次のようにします。

      % cd gs5.10
      % mv libpng-0.96 libpng
      % mv zlib-1.0.4 zlib
      % cp unix-gcc.mak makefile
      % vi makefile       # edit prefix, XINCLUDE, XLIBS, XLIBDIRS,
                          # VFINCLUDE, VFLIBDIRS, GCFLAGS, EXTRALIBS

      詳細は gs5.10 に含まれている make.txt を参照してください。

    5. コンパイルする

      % make             

      memcpy などの警告が盛大に出るのが気になる場合は、makefile の
      GCFLAGS の設定を変えます。ただし、わざわざ警告が盛大に出るようになっ
      ているのは gcc のバグに対処するためなので、make.txt を読んで使用す
      る gcc が問題のないバージョンであることを確認してください。

    5. バイナリをインストールする

      % make install

    6. フォントをインストールする

      % cd $PREFIX/share/ghostscript
      % ls
      5.10vflib
      % tar xfz $SOMEWHERE/ghostscript-fonts-std-5.10a.tar.gz
      % cd fonts
      % tar xfz $SOMEWHERE/ghostscript-fonts-other-5.10.tar.gz

    7. (optional) PostScript フォントの名前とと VFlib のフォントの名前の対
      応をつける。

      この設定は $PREFIX/share/ghostscript/5.10vflib/kanji/kconfig.ps で行
      なわれており、デフォルトでは次のように対応づけられています。

        PostScript での名前:    VFlib での名前:
        Ryumin-Light            min
        GothicBBB-Medium        goth

      他の名前のフォントを使いたい場合には変更します。

      また、フォントに別名を付けたい場合もここで設定を行ないます。
      デフォルトでは次のような別名がつけられています。

      別名:             内容:
      FutoMinA101-Bold  Ryumin-Light
      FutoGoB101-Bold   GothicBBB-Medium
      Jun101-Light      GothicBBB-Medium

    8. (optional) (experimental) external font を設定する
      gs には external font と呼ばれる機構があり、ある条件下では文字の描
      画を gs 自体ではなく、下位層にまかせることができ(るような機構を実
      装することができ)ます。
      (詳細は gs5.10 に含まれている xfonts.txt を参照してください。)

      gs5.10-vflib では、この機構を利用して文字の描画(イメージの展開)を
      VFlib にまかせることができます。この機構は、PostScript のフォント
      の名前から決まる特別な名前のフォントを VFlib が提供することによっ
      て有効になります。

      例えば、次のように vfontcap を設定するとこの機構が有効となります。

      GS-Ryumin-Light:\
              :fc=min:\
      GS-GothicBBB-Medium:\
              :fc=goth:

      つまり、(PostScript の)フォントの名前の前に "GS-" という3文字を連
      結した名前のフォントを用意することによって、この機構が有効になりま
      す。また gs の引数に -dNOPLATFONTS という引数を付けることによって
      この機構を無効にすることができます。

      この機構は VFlib が gs よりも質の高い描画能力を持っている時に意味
      があり、特に FreeType に対応した VFlib を使うことを意図しています。
      http://itohws03.ee.noda.sut.ac.jp/~matsuda/VFlib-FT/

      gs5.10-VFlibBM と比較すると、次のような得失があります。

      * VFlib がアウトラインから展開したイメージをアウトラインに直してそ
      れを更に gs がイメージに変換する、というようなふざけた手順を踏まな
      いので、精神衛生上好ましい。

      * イメージから生成したギザギザのアウトラインが PostScript プログラ
      ムから見えるということが起きない。

      * show と charpath が inconsistent な挙動をする可能性がある。
      (仕様)

      * metrics の修正が効かない。たぶん。
      (未確認。もしかしたら効くかも。)

      * {上,下,左,右}*{反転,無反転}の8種類以外の変形を行なった場合にはこ
      の機構は働かない。
      (VFlib のインターフェースの問題)

      * anti-alias したときに、anti-alias されない。
      (バグかも)

入手先:

  http://www.ldl.jaist.ac.jp/~akr/nonresearch/free-software/ghostscript/gs5.10-vflib-1.6.tar.gz
  http://www.vix.com/ghost/post510.html
  ftp://ftp.cs.wisc.edu/ghost/aladdin/gs510/ghostscript-5.10.tar.gz
  ftp://ftp.cs.wisc.edu/ghost/aladdin/gs510/jpegsrc.v6a.tar.gz
  ftp://ftp.cs.wisc.edu/ghost/aladdin/gs510/libpng-0.96.tar.gz
  ftp://ftp.cs.wisc.edu/ghost/aladdin/gs510/zlib-1.0.4.tar.gz
  ftp://ftp.cs.wisc.edu/ghost/aladdin/fonts/ghostscript-fonts-std-5.10a.tar.gz
  ftp://ftp.cs.wisc.edu/ghost/aladdin/fonts/ghostscript-fonts-other-5.10.tar.gz

  ftp://ftp.cs.wisc.edu/ghost/aladdin/gs510/ にある次のファイルは上記の
  ファイルのシンボリックリンクなので必要ありません。

  ghostscript-5.10jpeg.tar.gz
  ghostscript-5.10libpng.tar.gz
  ghostscript-5.10zlib.tar.gz

このパッケージに利用したファイル:
  gs261j10 から:
    gs_init.ps の変更点の一部を利用
    gs.mak の変更点の一部を kanji.mak に利用
    kfutil.c, article9.ps, fmaptype.ps, kbase.ps, kmapping.ps, vchars.ps
    を未修正で利用.
    allkanji.ps, hankaku.ps, kinit.ps, kcomp.ps, koutline.ps, metrics2.ps
    を修正して利用.
    ドキュメント

  gs261d13 から:
    vflib.ps(kconfig.ps), kfvflib.ps を未修正で利用
    kfvflib.mak を kanji.mak に利用
    zkfvflib.c を分割/修正し, gxxfvf.c, gxxfvfd.c, zkfvflib.c として利用
    ドキュメント

テスト環境:
  SunOS 4.1.4, unix-gcc.mak, VFlib-2.22-PL10, gcc-2.8.1 X11R6.3

使用条件:
  このパッケージは無保証です。

  田中が記述した部分については任意の利用を許可します。
  gs261j10, gs261d13 から利用した部分に関してはそれぞれの条件
  にしたがってください。それぞれの条件は OLD-DOC/gs261j10-doc,
  OLD-DOC/gs261d13-doc 以下のドキュメントを参照してください。

将来計画:
  VFlib 第3版
  日本語テキスト抽出

  怠けものな作者のかわりになんとかしてくれるひとはいませんか？

変更点:
  gs5.10-vflib-1.6:
    縦書きフォントで句読点などが上にずれるバグを修正。
    vchars.ps をごまかして動作するようにした vchars1.ps を追加。

  gs5.10-vflib-1.5:
    長いフォント名を扱えるようにした。

  gs5.10-vflib-1.4:
    内部のファイル構成の変更
    external font 機構を EUC と SJIS に対しても有効にした。

  gs5.10-vflib-1.3:
    external font 機構を使えるようにした。

  gs5.10-vflib-1.2:
    存在しない文字を表示したときのエラー情報をクリアした。
    vfontcap を gs のパスから探す機能を復活させた。

  gs5.10-vflib-1.1:
    変更点を記録し始めた。
    FutoGoB101-Bold, FutoMinA101-Bold, Jun101-Light という別名をつけた。

おまけ:
  VFlib とは何の関係もありませんが、gs5.0 から CIDFont がサポ
  ートされたので CIDFont を使って日本語を出すこともできます。
  興味のあるかたはREADME.CID を読んでみて下さい。

注:
  gs261j10 は片山 紀生氏の「Ghostscript version 2.6.1 日本語化
  パッケージ gs261j」を指します。
  (それよりも新しい gs261j11 というものもありますが、このパッケージに利
  用している部分は変わっていません。)

  gs261d13 は淺山 和典氏の「Ghostscript 2.6.1 DJ's GPP 化パッ
  ケージ version 1.3」内の「日本語 Font Driver on VFlib version
  1.0 for Ghostscript version 2.6.1-j」を指します。

  gs5.10/current.txt に記述されている通り、cshow は複合フォン
  トではうまく動きません。(その結果、vchars.ps はうまく動きま
  せん。)

  jdvi2kps 3.0 以前のフォントメトリックの修正コードは動作しません。
  (definefont した後に FDepVector の中身を作っているため修正前のフォント
  が参照され、結局のところ修正しない場合と同じ結果となります。)

作者:
  田中 哲
  akr@jaist.ac.jp
  http://www.ldl.jaist.ac.jp/~akr/

配布元:
  http://www.ldl.jaist.ac.jp/~akr/nonresearch/free-software/ghostscript/
