X server with VFlib on FreeType このページにある説明は X-VFdoc.lzhにほぼ同一のものが入っています。
image
■ 謝 辞
XFree86 Server の VFlib パッチを作成し公開して下さっている 高木 淳司様 に 敬意と感謝の意を表明いたします。Xserverで日本語 TrueType fonts等が使用できる ようになったことは本当に革命的だと思います。
■ 目 次
■ インストールの前提
emx runtime がインストールされており、 XFree86 for OS/2 3.3.5 が既にインストールされ、動作している ことです。
今のところ、XF86_S3.exe, XF86_S3V.exe, XF86_SVGA.exe の三種類しかおいてない ので、Power 9000 など これら三種類では対応してない X server が欲しい方は メールで jsawa@ibm.net まで連絡してください。3.3.5 対応のサーバはすべて メイクしてありますので対応(webに追加するなどで)できると思います。
まだ導入されてない方は、 最新の3.3.5 をインストールすることをすすめます。次のところにありますので、README.OS2 をダウンロードしてどれが必要かを よく理解した上で必要なものをゲットしてインストールして下さい。
私がメイクした VFlib server は emx09d を使用したの で、emx09d の runtime 環境が必要ですから、
ftp.leo.org:/pub/comp/os/os2/leo/gnu/emx+gcc/
等から emxrt.zip をゲットして導入しておいて下さい。
■ X server with VFlib on FreeType の概要
平松さんが移植されたKtermのように、2バイト文字を通してくれる X cliant(appli.)で日本語TrueTypeフォント等の表示ができます。 VFlibの機能は、フォントの拡大、縮小、回転などすごいものがあります。 FreeTypeは TrueTypeフォントを美しく表示してくれます。VFlibのみ だと、日本語はビットマップの方がきれいですが、おかげで今や毛筆体、 行書などほとんどの 日本語 TrueTypeを美麗に表示できるようになりまし た。
■ VFlib utilities for XFree86 OS/2 の概要
ktest.exeなど、VFlibの作者角川先生によるソースをそのまま OS/2でコンパイルしたもので、VFlib224a.lzhに入ってます。 これらは、VFlib未対応の普通のXserverでも日本語アウ トラインフォントをテスト表示できます。欧文フォントには対応してないです。 このWeb pageからghostscript 5.10 with VFlib on FreeTypeをダウンロードして vfontcapを設定してあれば、すぐに試すことが出来ます。

角川先生のktestとvftestでの表示例 [824x411 pixels]
          ☆彡 vfontcapの改行コードをUnix式にしなければならないことに注意
■ FreeType Utilities for XFree86 OS/2の概要
FreeType 1.1に付属の Unix X window utilitiesをOS/2 X window用にコンパイルしたもの。 これらはVFlib非対応の Xserverでも、欧文でも日本語でもTrueTypeフォントを表示できます。

FreeTyp1.0付属のサンプルファイルによる表示

--- ちょっと面白いこと ---- 使用法の簡単な説明など
■ 重大な注意
xdviなどVFlib対応のフリーソフトをお使いの方は、vfontcapの改行コードが UNIX形式でないといけません。 VFlib対応 X サーバーもそうなので、御注意ください。
■ ダウンロード
▼再確認: ここからダウンロードできるのは XFree86 3.3.5 の一部のバイナリだけで、フォントなど他のすべての環境を そろえていないと使えません。
▼ 必要なもの
1 から 3 は必須です。4 以下は必要に応じて。
  1. XF86Config、fonts.dir等のサンプル: XVsample.lzh[8.5kb]
  2. vflib224a.lzh [260kb]: VFlib.dll等
  3. 説明書と設定ファイル: X-VFdoc.lzh [16Kb]
  4. FreeType Utilities for XFree86 OS/2 :ft1_1bin.lzh [200Kb]
  5. hdu2tud.zip: 改行コード変換ユーティリティーを持ってない方のみ
  6. http://www.os2ss.com/archives/hobbes/os2/util/archiver/bzip201p2.zip: Xサーバーの実行ファイルはbzip2により圧縮されているので解凍のために必要です。
  7. http://netpassport-wc.netpassport.or.jp/~wmakoto/CLUB-bzip2.html: こちらにもbzip2があります。
  8. http://www.os2ss.com/archives/hobbes/os2/util/archiver/gtar258.zip: ついでに最新のtarも。
  9. http://hp.vector.co.jp/authors/VA009797/warp/ell.html: *.tar.gz, *.lzh, *.tar.bz2などの形式の圧縮ファイルの閲覧や解凍に便利なユーティリティーはとても便利なのでおすすめです。
▼ 3.3.5 対応サーバ
1〜4 のいずれかと 5 を。
  1. XF86_S3.exe.bz2 対応するビデオカードなどの説明
  2. XF86_S3V.exe.bz2 対応するビデオカードなどの説明
  3. XF86_SVGA.exe.bz2 対応するビデオカードなどの説明
  4. XF86_3DLabs.exe.bz2 対応するビデオカードなどの説明
  5. ftp.leo.org:/pub/comp/os/os2/leo/gnu/emx+gcc/より emxrt.zip (emx09d)
■ インストール
既に XFree 86 3.3.5 for OS/2が導入されちゃんと使用できていることが大前提です。
  1. XF86_*.exe.bz2を解凍して、既存のものに置換 同様にXVsample.lzhを展開 /XFree86/lib/X11/app-defaults/Kterm /XFree86/lib/X11/fonts/VFlib/fonts.alias /XFree86/lib/X11/fonts/VFlib/fonts.dir /XFree86/lib/X11/XF86Config X-VFdoc.lzhには README.xvf、vfontcap.ft(私の設定例), vfontcap.orig(VFlib2.22に付属してくる設定例)、README-1.0.2 (高木さんの説明書)がはいっています。
  2. VFlib 2.24の導入: VFlib224a.lzhを展開し、VFlib.dllを config.sysの libpathの通ったところに置いて、*.exeは PATHの通ったところに。
  3. vfontcapの設定 / 作成
    VFlib224a.lzhを展開してできたディレクトリjsawa@ibm.netにある *.txtを
    熟読して設定のこと。既に ghostscript等を導入し、 vfontcapが設定して
    あれば、vfontcapファイルの改行コードをUNIX式にするだけです。
    
    
      ここから先vfoncapという呼称を用いる時に、vfontcapという名称の
    テキストファイルをさしているのではないことにご注意下さい。
     vfontcapはVFlibが使用する設定ファイルのことをさす概念であり、
    実際のテキストファイルの名称は pechoでもgamoでもなんでもかまいません。
      
          case-a: Freetype用のvfontcapがありちゃんと使用できている
                 ような場合はそのままでも使用できます。
                 
          case-b: VFlib without FreeTypeのvfontcapしかない場合
                   vfontcapの ft=truetype を ft=freetypeに変更して、
                   フォントの実体の指定に以下のように、
               ff=g\072/os2/mdos/winjos2/system/hgrhg5sj.ttf
               拡張子を追加する。ttindex.exeにより、foo.ttiは不要。
    
          case-c: vfontcapというものを知らない人。つまり日本語対応
                ghostscriptを使った経験がない方などは。X-VFdoc.lzhか
                ら出て来た vfontcap.ftを雛形にして自分用のvfontcapを
                作って下さい。私のWeb pageにあるghostscript導入につい
                ての説明が参考になると思います。
    
  4. vfontcap の改行コードをUnix形式にする。 これまで、VFlib対応のghostscriptスクリプトでもdvipsでも行末がmsdos 形式でもUnix式でもどちらでもよかったのですが、どうしたものかUnix形式 でないとエラーになってしまいます。
      d2u.exeなら、
         > d2u vfontcap.ft  vfontcap
    
    
    このようにして、行末は 0Ah として下さい。
  5. 環境変数 VFONTCAP の設定
    まず vfontcapとして使用するファイルをどれにするかを決めます。 私の場合は、vfontcap.ft, vfontcap.noft というように、FreeType対応と 非対応の二つを用意しています。ほとんど常にFreeType対応のものを使用 するならば、config.sysで、
    set VFONTCAP=i:/gs5.10/kanji/vfontcap.ft
    などとします。4)でやったように、vfontcap という名前のものがFreeType 用の改行コードをUnix式にしたvfontcapならば、
    set VFONTCAP=i:/gs5.10/kanji/vfontcap
    このようしてghostscriptと X serverで vfontcapファイルを共有するのが 普通だと思いますが、XFree86 OS/2 では別の vfontcapファイルを使いたいな ら、xinitrc.cmd (/XFree86/lib/X11/xinit/等にある)で、
    'set VFONTCAP=j:/XFree86/etc/vfontcap.xfree86'
    などとして下さい。最初と最後 に' をつけることに注意。
  6. XFree86/lib/X11/fonts/VFlib というディレクトリを作成
    XFree86 OS/2があるドライブならどこでもよく、VFlibという名前のディレク トリでなくてもいいです。ともかく、このディレクトリにフォント指定の ファイルを作ることとします。(X-VFbin*.lzhを x option付きで展開した 場合は既にできているはず)
  7. fonts.dir, fonts.alias
    VFlibディレクトリに厳密のこの名称と同一の二つのテキストファイルを 置きます。既に私のサンプルが存在していると思います。 Xserver に対するVFlibパッチの作者、高木さんの README-1.0.2を同梱して おりますので、それをみて設定してください。以下に示す方々のところも大変 参考になります。
    杉村さん, http://hawk.aist-nara.ac.jp/~takas-su/FreeBSD/XFree86_vf.html
    平岡さん、http://www.flathill.gr.jp/~flathill/FreeBSD/VFlib.html
    渡辺さん http://cclub.tutcc.tut.ac.jp/netbsd/japanese/netbsd-jp19-0.html
  8. XF86Config に一行追加
    /XFree86/lib/X11/XF86Configに、fonts.alias等があるVFlibのためのディレクトリを示すため に一行追加。
    # to the end of this list (or comment them out).
    # 
    	FontPath   "/XFree86/lib/X11/fonts/VFlib/"
        FontPath   "/XFree86/lib/X11/fonts/misc/"
    
  9. VFlib対応サーバーの起動
    環境変数 VFONTCAP が存在し、それが示すファイルの改行コードが Unix式 であるかなどもう一度、諸項目を点検して、いつものように
    startx -- -bpp 16
    などとして起動して下さい 多分、xtermが立ち上がると思います。
    1. VFlib関係の設定が正しいか動作確認
      このテストは X serverが VFlib対応でなくてもできます。 X-VFutil.lzhに含まれる ktest.exe, vftest.exeなどでおこないます。
      > vftest (or ktest)
      とすると、デフォルトのつまり "min"で定義されるフォントが表示されます。 多分、平成明朝とかMS明朝が設定されているので美しい漢字がばーっと出て くるはずです。感動! 私のvfontcapでは、平成明朝W3をメインフォントしてまして、
      r-ricoh-ttw-heisei-mincho-w3|Ricoh TrueTypeWorld Heisei Minch W3:\
          :ft=freetype:\
          :ff=j\072/fonts/tt/hgrhm3sj.ttc:
      
      となっています。 これがいろいろと別名定義されたり、VFlibの斜体化 機能を加えて再定義されてます。抜粋すると、
      ricoh-heisei-mincho-w3:\ 
          :fc=r-ricoh-ttw-heisei-mincho-w3:
      min|min5|min6|min7|min8|min9|min10|min12|min17|Mincho Font:\
         :fc=mincho:
      rchmnmab|sl10min:\
         :sl#15:fc=ricoh-heisei-mincho-w3:
      mincho:\
         :fc=ricoh-heisei-mincho-w3
      
      このように。
      すなわち、"mincho", "ricoh-heisei-mincho-w3", "min", "min5" "r-ricoh-ttw-heisei-mincho-w3"のどの名前で、ktest -f ** をしても 表示結果は同一になります。もしも、
      > ktest -f sl10min ( or rchmnmab)
      としますと、右に15度傾いた書体で表示されます。回転などいろいろな 機能があるので、角川さんのマニュアルを見ていろいろと遊んでみて下さい。 ここまでのテストがうまくいかないときは、vfontcapの記載ないし改行コード がおかしいか、環境変数が正しくないと思われます。
    2. Xserver with VFlib の動作確認
      まずはxfd.exeで試してみましょう。私のfonts.dir, fonts.aliasを例とします。 fonts.dirでの、
      -truetype-sl20min-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
      ではなく、fonts.aliasの名前でフォントを指定します。
      sl30goth24 -truetype-sl30goth-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-0
      という行は、リコー平成行書体を右30度の斜体、24ポイント、75dpiで表示する なら、"sl30goth24"という名でフォントを呼びだせということですので、
      > xfd -fn sl30goth24
      とすると斜めに傾いたゴシック体の漢字フォントが表示されます。xfdでは、 vfontcapのエントリ名で呼び出すのではないことに注意ください。 fonts.aliasに定義している名称でなくとも直接、
      "xfd -fn -truetype-sl30goth-medium-r-normal--36-350-75-75-c-360-jisx0208.1983-0" と指定しても表示されます。
      このようにして、fonts.dirで指定されたフォントの別名定義を1つ1つ試して みて確認してください。 もしも、途中で fonts.dir, fonts.aliasを変更した場合は、
      > xset fp rehash
      とやりますと、変更が直ちに反映されます。以上のテストに合格したら、 いよいよ、
    3. Kterm での表示 Ktermのデフォルトメニューは、XFree86/lib/X11/app-defaults/Kterm で設定できます。同梱された Kterm(まだ未完成)を参考に設定して、 ktermのウインドウで、CTRL + マウス右ボタン でメニューを表示させて フォントセットがちゃんと変わるようにすること。私が試した限りでは、 fonts.aliasの別名でフォントを指定してもだめで、ながながと示さない と表示できなかったです。これは仕様なのでしょう。 Ktermの起動時点でフォントを指定するには、
      > kterm -fn 10x20 -fk hmin24
      などと、欧文書体と漢字書体を別々に指定します。この場合はfonts.alias での名前が使えます。
■ ソースとパッチの入手
■ ビルドの手順
ビルドするには、けっこう時間がかかりますが、難しくありません。 自分がやった手順は
xvfmake.docに記載しています。
           1999/9/9
                         沢田石 順  (jsawa@ibm.net, 
                                      GGB02155@niftyserve.or.jp)
                              http://www2s.biglobe.ne.jp/~vtgf3mpr/
HOMEPAGEへ
OS/2,LaTeX,Postscriptのページへ