X server with VFlib on FreeType
このページにある説明は X-VFdoc.lzhにほぼ同一のものが入っています。
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を美麗に表示できるようになりまし
た。
- X server for XFree86 3.3.5 : emx09d によりビルド
- 平松さん移植の Ktermで平成明朝24ポイントの斜体を表示した例 [655x399 pixels]
- Kterm, xfd, vftestでの表示例 [735x568 pixels]
- xfontselでの表示
"rgstry"を"jisx0208.1983", "fndry"を"truetype"として表示した
例 [855x361 pixels]
VFlibのvfontcapで平成明朝体の時計回り30度の斜体のエントリを作り、それを
fonts.dirに登録して、fonts.aliasで、sl30minとして登録しています。
■ 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付属のサンプルファイルによる表示
--- ちょっと面白いこと ----
- X windowのシェル xterm などから OS/2 PM用のftstring, ftviewなどを
実行すると、PM 側に表示されます。PM用のFreeTypeユーティリティの
サンプルのダウンロードと表示例はこちら
- 逆に OS/2の通常画面から X window用 FreeTypeユーティリティを実行すると
X windowが起動していれはそちら側に表示されます。
使用法の簡単な説明など
xdviなどVFlib対応のフリーソフトをお使いの方は、vfontcapの改行コードが
UNIX形式でないといけません。
VFlib対応 X サーバーもそうなので、御注意ください。
▼再確認: ここからダウンロードできるのは XFree86 3.3.5
の一部のバイナリだけで、フォントなど他のすべての環境を
そろえていないと使えません。
1 から 3 は必須です。4 以下は必要に応じて。
- XF86Config、fonts.dir等のサンプル: XVsample.lzh[8.5kb]
- vflib224a.lzh [260kb]: VFlib.dll等
- 説明書と設定ファイル: X-VFdoc.lzh [16Kb]
- FreeType Utilities for XFree86 OS/2 :ft1_1bin.lzh [200Kb]
- hdu2tud.zip: 改行コード変換ユーティリティーを持ってない方のみ
-
http://www.os2ss.com/archives/hobbes/os2/util/archiver/bzip201p2.zip: Xサーバーの実行ファイルはbzip2により圧縮されているので解凍のために必要です。
-
http://netpassport-wc.netpassport.or.jp/~wmakoto/CLUB-bzip2.html: こちらにもbzip2があります。
-
http://www.os2ss.com/archives/hobbes/os2/util/archiver/gtar258.zip: ついでに最新のtarも。
-
http://hp.vector.co.jp/authors/VA009797/warp/ell.html: *.tar.gz, *.lzh, *.tar.bz2などの形式の圧縮ファイルの閲覧や解凍に便利なユーティリティーはとても便利なのでおすすめです。
1〜4 のいずれかと 5 を。
-
XF86_S3.exe.bz2
対応するビデオカードなどの説明
-
XF86_S3V.exe.bz2
対応するビデオカードなどの説明
-
XF86_SVGA.exe.bz2
対応するビデオカードなどの説明
-
XF86_3DLabs.exe.bz2
対応するビデオカードなどの説明
-
ftp.leo.org:/pub/comp/os/os2/leo/gnu/emx+gcc/より emxrt.zip (emx09d)
既に XFree 86 3.3.5 for OS/2が導入されちゃんと使用できていることが大前提です。
- 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
(高木さんの説明書)がはいっています。
- VFlib 2.24の導入: VFlib224a.lzhを展開し、VFlib.dllを config.sysの
libpathの通ったところに置いて、*.exeは PATHの通ったところに。
- 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導入につい
ての説明が参考になると思います。
- vfontcap の改行コードをUnix形式にする。
これまで、VFlib対応のghostscriptスクリプトでもdvipsでも行末がmsdos
形式でもUnix式でもどちらでもよかったのですが、どうしたものかUnix形式
でないとエラーになってしまいます。
d2u.exeなら、
> d2u vfontcap.ft vfontcap
このようにして、行末は 0Ah として下さい。
- 環境変数 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'
などとして下さい。最初と最後 に' をつけることに注意。
- XFree86/lib/X11/fonts/VFlib というディレクトリを作成
XFree86 OS/2があるドライブならどこでもよく、VFlibという名前のディレク
トリでなくてもいいです。ともかく、このディレクトリにフォント指定の
ファイルを作ることとします。(X-VFbin*.lzhを x option付きで展開した
場合は既にできているはず)
- 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
- 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/"
- VFlib対応サーバーの起動
環境変数 VFONTCAP が存在し、それが示すファイルの改行コードが Unix式
であるかなどもう一度、諸項目を点検して、いつものように
startx -- -bpp 16
などとして起動して下さい
多分、xtermが立ち上がると思います。
- 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の記載ないし改行コード
がおかしいか、環境変数が正しくないと思われます。
- 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
とやりますと、変更が直ちに反映されます。以上のテストに合格したら、
いよいよ、
- 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/